From cd3d526301f44b12ec3887ee6e43c0041011641f Mon Sep 17 00:00:00 2001
From: Simon Lecoq <22963968+lowlighter@users.noreply.github.com>
Date: Sat, 25 Jun 2022 03:52:30 +0200
Subject: [PATCH] chore(deps): update faker to v7 (#957)
---
.github/scripts/preview.mjs | 9 ++-
package-lock.json | 18 +++---
package.json | 2 +-
source/app/metrics/utils.mjs | 12 +++-
source/app/web/instance.mjs | 3 +-
source/app/web/statics/app.placeholder.js | 55 ++++++++++---------
source/app/web/statics/index.html | 2 +-
tests/metrics.test.js | 2 +-
tests/mocks/api/axios/get/nightscout.mjs | 2 +-
tests/mocks/api/axios/get/pagespeed.mjs | 24 ++++----
tests/mocks/api/axios/get/stackoverflow.mjs | 4 +-
tests/mocks/api/axios/get/wakatime.mjs | 4 +-
tests/mocks/api/axios/post/anilist.mjs | 4 +-
.../api/github/graphql/base.calendar.mjs | 30 +++++-----
.../github/graphql/discussions.categories.mjs | 2 +-
.../api/github/graphql/reactions.default.mjs | 2 +-
.../api/github/graphql/sponsors.active.mjs | 2 +-
.../listEventsForAuthenticatedUser.mjs | 8 +--
tests/mocks/index.mjs | 4 +-
19 files changed, 106 insertions(+), 83 deletions(-)
diff --git a/.github/scripts/preview.mjs b/.github/scripts/preview.mjs
index dc3036ec..81ab4350 100644
--- a/.github/scripts/preview.mjs
+++ b/.github/scripts/preview.mjs
@@ -61,7 +61,14 @@ fs.copyFile(paths.join(__node_modules, "prismjs/themes/prism-tomorrow.css"), pat
fs.writeFile(paths.join(__preview_js, "app.js"), `${await fs.readFile(paths.join(__web, "app.js"))}`)
fs.writeFile(paths.join(__preview_js, "app.placeholder.js"), `${await fs.readFile(paths.join(__web, "app.placeholder.js"))}`)
fs.copyFile(paths.join(__node_modules, "ejs/ejs.min.js"), paths.join(__preview_js, "ejs.min.js"))
-fs.copyFile(paths.join(__node_modules, "@faker-js/faker/dist/faker.min.js"), paths.join(__preview_js, "faker.min.js"))
+fs.writeFile(paths.join(__preview_js, "faker.min.js"), "import {faker} from '/.js/faker/index.mjs';globalThis.faker=faker;globalThis.placeholder.init(globalThis)")
+for (const path of [[], ["locale"]]) {
+ await fs.mkdir(paths.join(__preview_js, "faker", ...path), {recursive:true})
+ for (const file of await fs.readdir(paths.join(__node_modules, "@faker-js/faker/dist/esm", ...path))) {
+ if (file.endsWith(".mjs"))
+ fs.copyFile(paths.join(__node_modules, "@faker-js/faker/dist/esm", ...path, file), paths.join(__preview_js, "faker", ...path, file))
+ }
+}
fs.copyFile(paths.join(__node_modules, "axios/dist/axios.min.js"), paths.join(__preview_js, "axios.min.js"))
fs.copyFile(paths.join(__node_modules, "axios/dist/axios.min.map"), paths.join(__preview_js, "axios.min.map"))
fs.copyFile(paths.join(__node_modules, "vue/dist/vue.min.js"), paths.join(__preview_js, "vue.min.js"))
diff --git a/package-lock.json b/package-lock.json
index 52a92220..b67cdcc2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,7 +12,7 @@
"dependencies": {
"@actions/core": "^1.9.0",
"@actions/github": "^5.0.3",
- "@faker-js/faker": "^6.0.0-alpha.3",
+ "@faker-js/faker": "^7.3.0",
"@octokit/graphql": "^4.8.0",
"@octokit/rest": "^18.12.0",
"@primer/css": "^20.2.3",
@@ -787,9 +787,13 @@
"dev": true
},
"node_modules/@faker-js/faker": {
- "version": "6.0.0-alpha.3",
- "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-6.0.0-alpha.3.tgz",
- "integrity": "sha512-8B+7Jlwb9ogcoluzxB6AaSRZn2gnoewTA/WygAYhWNxkrFKjQL0TDXK6AW6uJlASMKl7qG/qbEVtpjLByuL0ZQ=="
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.3.0.tgz",
+ "integrity": "sha512-1W0PZezq2rxlAssoWemi9gFRD8IQxvf0FPL5Km3TOmGHFG7ib0TbFBJ0yC7D/1NsxunjNTK6WjUXV8ao/mKZ5w==",
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=6.0.0"
+ }
},
"node_modules/@humanwhocodes/config-array": {
"version": "0.9.2",
@@ -10294,9 +10298,9 @@
}
},
"@faker-js/faker": {
- "version": "6.0.0-alpha.3",
- "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-6.0.0-alpha.3.tgz",
- "integrity": "sha512-8B+7Jlwb9ogcoluzxB6AaSRZn2gnoewTA/WygAYhWNxkrFKjQL0TDXK6AW6uJlASMKl7qG/qbEVtpjLByuL0ZQ=="
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.3.0.tgz",
+ "integrity": "sha512-1W0PZezq2rxlAssoWemi9gFRD8IQxvf0FPL5Km3TOmGHFG7ib0TbFBJ0yC7D/1NsxunjNTK6WjUXV8ao/mKZ5w=="
},
"@humanwhocodes/config-array": {
"version": "0.9.2",
diff --git a/package.json b/package.json
index b8c3673d..27f4c37e 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"dependencies": {
"@actions/core": "^1.9.0",
"@actions/github": "^5.0.3",
- "@faker-js/faker": "^6.0.0-alpha.3",
+ "@faker-js/faker": "^7.3.0",
"@octokit/graphql": "^4.8.0",
"@octokit/rest": "^18.12.0",
"@primer/css": "^20.2.3",
diff --git a/source/app/metrics/utils.mjs b/source/app/metrics/utils.mjs
index d4b3d706..6953bb15 100644
--- a/source/app/metrics/utils.mjs
+++ b/source/app/metrics/utils.mjs
@@ -330,7 +330,17 @@ export async function imgb64(image, {width, height, fallback = true} = {}) {
if (!image)
return fallback ? "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mOcOnfpfwAGfgLYttYINwAAAABJRU5ErkJggg==" : null
//Load image
- image = await jimp.read(image)
+ try {
+ //Fix: redirections are not properly supported by jimp (https://github.com/oliver-moran/jimp/issues/909)
+ if (typeof image === "string") {
+ image = (await axios.get(image)).then(response => response.request.responseURL).catch(() => null)
+ console.debug(`metrics/svg/imgb64 > redirected image link to ${image}`)
+ }
+ image = await jimp.read(image)
+ }
+ catch {
+ return null
+ }
//Resize image
if ((width) && (height))
image = image.resize(width, height)
diff --git a/source/app/web/instance.mjs b/source/app/web/instance.mjs
index 87e1e668..69221bf0 100644
--- a/source/app/web/instance.mjs
+++ b/source/app/web/instance.mjs
@@ -140,7 +140,8 @@ export default async function({sandbox = false} = {}) {
app.get("/.js/app.js", limiter, (req, res) => res.sendFile(`${conf.paths.statics}/app.js`))
app.get("/.js/app.placeholder.js", limiter, (req, res) => res.sendFile(`${conf.paths.statics}/app.placeholder.js`))
app.get("/.js/ejs.min.js", limiter, (req, res) => res.sendFile(`${conf.paths.node_modules}/ejs/ejs.min.js`))
- app.get("/.js/faker.min.js", limiter, (req, res) => res.sendFile(`${conf.paths.node_modules}/@faker-js/faker/dist/faker.min.js`))
+ app.get("/.js/faker.min.js", limiter, (req, res) => res.set({"Content-Type": "text/javascript"}).send("import {faker} from '/.js/faker/index.mjs';globalThis.faker=faker;globalThis.placeholder.init(globalThis)"))
+ app.use("/.js/faker", express.static(`${conf.paths.node_modules}/@faker-js/faker/dist/esm`))
app.get("/.js/axios.min.js", limiter, (req, res) => res.sendFile(`${conf.paths.node_modules}/axios/dist/axios.min.js`))
app.get("/.js/axios.min.map", limiter, (req, res) => res.sendFile(`${conf.paths.node_modules}/axios/dist/axios.min.map`))
app.get("/.js/vue.min.js", limiter, (req, res) => res.sendFile(`${conf.paths.node_modules}/vue/dist/vue.min.js`))
diff --git a/source/app/web/statics/app.placeholder.js b/source/app/web/statics/app.placeholder.js
index 71dbf2d0..5caccca3 100644
--- a/source/app/web/statics/app.placeholder.js
+++ b/source/app/web/statics/app.placeholder.js
@@ -93,7 +93,7 @@
diskUsage: `${faker.datatype.float({min: 1, max: 999}).toFixed(1)}MB`,
registration: `${faker.datatype.number({min: 2, max: 10})} years ago`,
cakeday: false,
- calendar: new Array(14).fill(null).map(_ => ({color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])})),
+ calendar: new Array(14).fill(null).map(_ => ({color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])})),
avatar: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mOcOnfpfwAGfgLYttYINwAAAABJRU5ErkJggg==",
},
//User data
@@ -370,7 +370,7 @@
.replace(/#primary/g, colors[this.rank][0])
.replace(/#secondary/g, colors[this.rank][1])
},
- rank: faker.random.arrayElement(["A", "B", "C", "X", "$"]),
+ rank: faker.helpers.arrayElement(["A", "B", "C", "X", "$"]),
progress: faker.datatype.number(100) / 100,
value: faker.datatype.number(1000),
}))
@@ -404,6 +404,7 @@
deletions: faker.datatype.number(50),
patch: `@@ -0,0 +1,5 @@
//Imports
+ import app from "./src/app.mjs"
- import app from "./src/app.js"
//Start app
await app()
\\ No newline at end of file`,
repo: `${faker.random.word()}/${faker.random.word()}`,
+ created: faker.date.recent(),
},
},
})
@@ -621,12 +622,12 @@
url: options["nightscout.url"] != null && options["nightscout.url"] != "https://example.herokuapp.com" ? options["nightscout.url"] : "https://testapp.herokuapp.com/",
data: new Array(12).fill(null).map(_ => ({
timeUTCHumanReadable: `${new Date().getUTCHours()}:${new Date().getUTCMinutes()}`,
- color: faker.random.arrayElement(["#9be9a8", "#40c463", "#30a14e", "#216e39"]),
+ color: faker.helpers.arrayElement(["#9be9a8", "#40c463", "#30a14e", "#216e39"]),
sgv: faker.datatype.number({min: 40, max: 400}),
delta: faker.datatype.number({min: -10, max: 10}),
- direction: faker.random.arrayElement(["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"]),
- alert: faker.random.arrayElement(["Normal", "Urgent High", "Urgent Low", "High", "Low"]),
- arrowHumanReadable: faker.random.arrayElement(["↑↑", "↑", "↗", "→", "↘", "↓", "↓↓"]),
+ direction: faker.helpers.arrayElement(["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"]),
+ alert: faker.helpers.arrayElement(["Normal", "Urgent High", "Urgent Low", "High", "Low"]),
+ arrowHumanReadable: faker.helpers.arrayElement(["↑↑", "↑", "↗", "→", "↘", "↓", "↓↓"]),
})),
},
})
@@ -634,7 +635,7 @@
//Fortune
...(set.plugins.enabled.fortune
? ({
- fortune: faker.random.arrayElement([
+ fortune: faker.helpers.arrayElement([
{chance: .06, color: "#43FD3B", text: "Good news will come to you by mail"},
{chance: .06, color: "#00CBB0", text: "キタ━━━━━━(゚∀゚)━━━━━━ !!!!"},
{chance: 0.03, color: "#FD4D32", text: "Excellent Luck"},
@@ -655,8 +656,8 @@
],
metrics: {
observedFirstContentfulPaint: faker.datatype.number(500),
- observedFirstVisualChangeTs: faker.time.recent(),
- observedFirstContentfulPaintTs: faker.time.recent(),
+ observedFirstVisualChangeTs: faker.date.recent(),
+ observedFirstContentfulPaintTs: faker.date.recent(),
firstContentfulPaint: faker.datatype.number(500),
observedDomContentLoaded: faker.datatype.number(500),
observedFirstMeaningfulPaint: faker.datatype.number(1000),
@@ -665,30 +666,30 @@
firstMeaningfulPaint: faker.datatype.number(500),
observedCumulativeLayoutShift: faker.datatype.float({max: 1}),
observedSpeedIndex: faker.datatype.number(1000),
- observedSpeedIndexTs: faker.time.recent(),
- observedTimeOriginTs: faker.time.recent(),
+ observedSpeedIndexTs: faker.date.recent(),
+ observedTimeOriginTs: faker.date.recent(),
observedLargestContentfulPaint: faker.datatype.number(1000),
cumulativeLayoutShift: faker.datatype.float({max: 1}),
- observedFirstPaintTs: faker.time.recent(),
- observedTraceEndTs: faker.time.recent(),
+ observedFirstPaintTs: faker.date.recent(),
+ observedTraceEndTs: faker.date.recent(),
largestContentfulPaint: faker.datatype.number(2000),
observedTimeOrigin: faker.datatype.number(10),
speedIndex: faker.datatype.number(1000),
observedTraceEnd: faker.datatype.number(2000),
- observedDomContentLoadedTs: faker.time.recent(),
+ observedDomContentLoadedTs: faker.date.recent(),
observedFirstPaint: faker.datatype.number(500),
totalBlockingTime: faker.datatype.number(500),
- observedLastVisualChangeTs: faker.time.recent(),
+ observedLastVisualChangeTs: faker.date.recent(),
observedFirstVisualChange: faker.datatype.number(500),
- observedLargestContentfulPaintTs: faker.time.recent(),
+ observedLargestContentfulPaintTs: faker.date.recent(),
estimatedInputLatency: faker.datatype.number(100),
- observedLoadTs: faker.time.recent(),
+ observedLoadTs: faker.date.recent(),
observedLastVisualChange: faker.datatype.number(1000),
firstCPUIdle: faker.datatype.number(1000),
interactive: faker.datatype.number(1000),
- observedNavigationStartTs: faker.time.recent(),
+ observedNavigationStartTs: faker.date.recent(),
observedNavigationStart: faker.datatype.number(10),
- observedFirstMeaningfulPaintTs: faker.time.recent(),
+ observedFirstMeaningfulPaintTs: faker.date.recent(),
},
screenshot: options["pagespeed.screenshot"] ? "data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mOcOnfpfwAGfgLYttYINwAAAABJRU5ErkJggg==" : null,
},
@@ -818,7 +819,7 @@
starlists: {
lists: new Array(Number(options["starlists.limit"])).fill(null).map(_ => ({
link: faker.internet.url(),
- name: `${faker.random.arrayElement(["😎", "🥳", "🧐", "😂", "😁"])} ${faker.lorem.word()}`,
+ name: `${faker.helpers.arrayElement(["😎", "🥳", "🧐", "😂", "😁"])} ${faker.lorem.word()}`,
description: faker.lorem.sentence(),
count: faker.datatype.number(100),
repositories: new Array(Number(options["starlists.limit.repositories"])).fill(null).map((_, i) => ({
@@ -898,7 +899,7 @@
const stats = array => {
const elements = []
let results = new Array(4 + faker.datatype.number(2)).fill(null).map(_ => ({
- name: array ? faker.random.arrayElement(array) : faker.random.words(2).replace(/ /g, "-").toLocaleLowerCase(),
+ name: array ? faker.helpers.arrayElement(array) : faker.random.words(2).replace(/ /g, "-").toLocaleLowerCase(),
percent: 0,
total_seconds: faker.datatype.number(1000000),
}))
@@ -948,7 +949,7 @@
const media = type => ({
name: faker.lorem.words(),
type,
- status: faker.random.arrayElement(["FINISHED", "RELEASING", "NOT_YET_RELEASED", "CANCELLED", "HIATUS"]),
+ status: faker.helpers.arrayElement(["FINISHED", "RELEASING", "NOT_YET_RELEASED", "CANCELLED", "HIATUS"]),
release: faker.date.past(20).getFullYear(),
genres: new Array(6).fill(null).map(_ => faker.lorem.word()),
progress: faker.datatype.number(100),
@@ -1037,7 +1038,7 @@
{
type: "issue",
repo: `${faker.random.word()}/${faker.random.word()}`,
- action: faker.random.arrayElement(["opened", "closed", "reopened"]),
+ action: faker.helpers.arrayElement(["opened", "closed", "reopened"]),
user: set.user,
number: faker.datatype.number(100),
title: faker.lorem.sentence(),
@@ -1046,7 +1047,7 @@
{
type: "pr",
repo: `${faker.random.word()}/${faker.random.word()}`,
- action: faker.random.arrayElement(["opened", "closed"]),
+ action: faker.helpers.arrayElement(["opened", "closed"]),
user: set.user,
number: faker.datatype.number(100),
title: faker.lorem.sentence(),
@@ -1085,13 +1086,13 @@
{
type: "ref/create",
repo: `${faker.random.word()}/${faker.random.word()}`,
- ref: {name: faker.lorem.slug(), type: faker.random.arrayElement(["tag", "branch"])},
+ ref: {name: faker.lorem.slug(), type: faker.helpers.arrayElement(["tag", "branch"])},
timestamp: faker.date.recent(),
},
{
type: "ref/delete",
repo: `${faker.random.word()}/${faker.random.word()}`,
- ref: {name: faker.lorem.slug(), type: faker.random.arrayElement(["tag", "branch"])},
+ ref: {name: faker.lorem.slug(), type: faker.helpers.arrayElement(["tag", "branch"])},
timestamp: faker.date.recent(),
},
{
@@ -1137,7 +1138,7 @@
weeks: new Array(53).fill(0).map(() => ({
contributionDays: new Array(7).fill(0).map(() => ({
contributionCount: faker.datatype.number(10),
- color: faker.random.arrayElement(["#ebedf0", "#ebedf0", "#ebedf0", "#ebedf0", "#ebedf0", "#ebedf0", "#9be9a8", "#9be9a8", "#9be9a8", "#40c463", "#40c463", "#30a14e", "#216e39"]),
+ color: faker.helpers.arrayElement(["#ebedf0", "#ebedf0", "#ebedf0", "#ebedf0", "#ebedf0", "#ebedf0", "#9be9a8", "#9be9a8", "#9be9a8", "#40c463", "#40c463", "#30a14e", "#216e39"]),
date: faker.date.past(365),
})),
})),
diff --git a/source/app/web/statics/index.html b/source/app/web/statics/index.html
index 8ef5b338..40d6e0d5 100644
--- a/source/app/web/statics/index.html
+++ b/source/app/web/statics/index.html
@@ -197,7 +197,7 @@
-
+
diff --git a/tests/metrics.test.js b/tests/metrics.test.js
index a3c59861..a09a4c3d 100644
--- a/tests/metrics.test.js
+++ b/tests/metrics.test.js
@@ -5,7 +5,7 @@ const fs = require("fs")
const path = require("path")
const url = require("url")
const axios = require("axios")
-const faker = require("@faker-js/faker")
+const faker = require("@faker-js/faker").faker
const ejs = require("ejs")
//Github action
diff --git a/tests/mocks/api/axios/get/nightscout.mjs b/tests/mocks/api/axios/get/nightscout.mjs
index cb040b3e..65920d0c 100644
--- a/tests/mocks/api/axios/get/nightscout.mjs
+++ b/tests/mocks/api/axios/get/nightscout.mjs
@@ -14,7 +14,7 @@ export default function({faker, url}) {
dateString: new Date(lastInterval).toISOString(),
sgv: faker.datatype.number({min: 40, max: 400}),
delta: faker.datatype.number({min: -10, max: 10}),
- direction: faker.random.arrayElement(["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"]),
+ direction: faker.helpers.arrayElement(["SingleUp", "DoubleUp", "FortyFiveUp", "Flat", "FortyFiveDown", "SingleDown", "DoubleDown"]),
type: "sgv",
filtered: 0,
unfiltered: 0,
diff --git a/tests/mocks/api/axios/get/pagespeed.mjs b/tests/mocks/api/axios/get/pagespeed.mjs
index a207a862..c1dcd779 100644
--- a/tests/mocks/api/axios/get/pagespeed.mjs
+++ b/tests/mocks/api/axios/get/pagespeed.mjs
@@ -35,8 +35,8 @@ export default function({faker, url, options, login = faker.internet.userName()}
items: [
{
observedFirstContentfulPaint: faker.datatype.number(500),
- observedFirstVisualChangeTs: faker.time.recent(),
- observedFirstContentfulPaintTs: faker.time.recent(),
+ observedFirstVisualChangeTs: faker.date.recent(),
+ observedFirstContentfulPaintTs: faker.date.recent(),
firstContentfulPaint: faker.datatype.number(500),
observedDomContentLoaded: faker.datatype.number(500),
observedFirstMeaningfulPaint: faker.datatype.number(1000),
@@ -45,30 +45,30 @@ export default function({faker, url, options, login = faker.internet.userName()}
firstMeaningfulPaint: faker.datatype.number(500),
observedCumulativeLayoutShift: faker.datatype.float({max: 1}),
observedSpeedIndex: faker.datatype.number(1000),
- observedSpeedIndexTs: faker.time.recent(),
- observedTimeOriginTs: faker.time.recent(),
+ observedSpeedIndexTs: faker.date.recent(),
+ observedTimeOriginTs: faker.date.recent(),
observedLargestContentfulPaint: faker.datatype.number(1000),
cumulativeLayoutShift: faker.datatype.float({max: 1}),
- observedFirstPaintTs: faker.time.recent(),
- observedTraceEndTs: faker.time.recent(),
+ observedFirstPaintTs: faker.date.recent(),
+ observedTraceEndTs: faker.date.recent(),
largestContentfulPaint: faker.datatype.number(2000),
observedTimeOrigin: faker.datatype.number(10),
speedIndex: faker.datatype.number(1000),
observedTraceEnd: faker.datatype.number(2000),
- observedDomContentLoadedTs: faker.time.recent(),
+ observedDomContentLoadedTs: faker.date.recent(),
observedFirstPaint: faker.datatype.number(500),
totalBlockingTime: faker.datatype.number(500),
- observedLastVisualChangeTs: faker.time.recent(),
+ observedLastVisualChangeTs: faker.date.recent(),
observedFirstVisualChange: faker.datatype.number(500),
- observedLargestContentfulPaintTs: faker.time.recent(),
+ observedLargestContentfulPaintTs: faker.date.recent(),
estimatedInputLatency: faker.datatype.number(100),
- observedLoadTs: faker.time.recent(),
+ observedLoadTs: faker.date.recent(),
observedLastVisualChange: faker.datatype.number(1000),
firstCPUIdle: faker.datatype.number(1000),
interactive: faker.datatype.number(1000),
- observedNavigationStartTs: faker.time.recent(),
+ observedNavigationStartTs: faker.date.recent(),
observedNavigationStart: faker.datatype.number(10),
- observedFirstMeaningfulPaintTs: faker.time.recent(),
+ observedFirstMeaningfulPaintTs: faker.date.recent(),
},
],
},
diff --git a/tests/mocks/api/axios/get/stackoverflow.mjs b/tests/mocks/api/axios/get/stackoverflow.mjs
index 0b4ae3c1..62aac340 100644
--- a/tests/mocks/api/axios/get/stackoverflow.mjs
+++ b/tests/mocks/api/axios/get/stackoverflow.mjs
@@ -54,7 +54,7 @@ export default function({faker, url, options, login = faker.internet.userName()}
accepted_answer_id: faker.datatype.number(1000000),
answer_count: faker.datatype.number(100),
score: faker.datatype.number(1000),
- creation_date: faker.time.recent(),
+ creation_date: faker.date.recent(),
down_vote_count: faker.datatype.number(1000),
up_vote_count: faker.datatype.number(1000),
comment_count: faker.datatype.number(1000),
@@ -84,7 +84,7 @@ export default function({faker, url, options, login = faker.internet.userName()}
down_vote_count: faker.datatype.number(1000),
up_vote_count: faker.datatype.number(1000),
comment_count: faker.datatype.number(1000),
- creation_date: faker.time.recent(),
+ creation_date: faker.date.recent(),
question_id: faker.datatype.number(1000000),
body_markdown: faker.lorem.paragraphs(),
answer_id: faker.datatype.number(1000000),
diff --git a/tests/mocks/api/axios/get/wakatime.mjs b/tests/mocks/api/axios/get/wakatime.mjs
index 87cf4aaf..ce410f5a 100644
--- a/tests/mocks/api/axios/get/wakatime.mjs
+++ b/tests/mocks/api/axios/get/wakatime.mjs
@@ -13,14 +13,14 @@ export default function({faker, url, options, login = faker.internet.userName()}
},
hours: faker.datatype.number(1000),
minutes: faker.datatype.number(1000),
- name: array ? faker.random.arrayElement(array) : faker.random.words(2).replace(/ /g, "-").toLocaleLowerCase(),
+ name: array ? faker.helpers.arrayElement(array) : faker.random.words(2).replace(/ /g, "-").toLocaleLowerCase(),
percent: 0,
total_seconds: faker.datatype.number(1000000),
}))
results = results.filter(({name}) => elements.includes(name) ? false : (elements.push(name), true))
let percents = 100
for (const result of results) {
- result.percent = 1 + faker.datatype.number(percents - 1)
+ result.percent = 1 + ((percents - 1) <= 0 ? 0 : faker.datatype.number(percents - 1))
percents -= result.percent
}
return results
diff --git a/tests/mocks/api/axios/post/anilist.mjs b/tests/mocks/api/axios/post/anilist.mjs
index a08d90da..03ab65a0 100644
--- a/tests/mocks/api/axios/post/anilist.mjs
+++ b/tests/mocks/api/axios/post/anilist.mjs
@@ -7,7 +7,7 @@ export default function({faker, url, body, login = faker.internet.userName()}) {
title: {romaji: faker.lorem.words(), english: faker.lorem.words(), native: faker.lorem.words()},
description: faker.lorem.paragraphs(),
type,
- status: faker.random.arrayElement(["FINISHED", "RELEASING", "NOT_YET_RELEASED", "CANCELLED", "HIATUS"]),
+ status: faker.helpers.arrayElement(["FINISHED", "RELEASING", "NOT_YET_RELEASED", "CANCELLED", "HIATUS"]),
episodes: 100 + faker.datatype.number(100),
volumes: faker.datatype.number(100),
chapters: 100 + faker.datatype.number(1000),
@@ -103,7 +103,7 @@ export default function({faker, url, body, login = faker.internet.userName()}) {
name: {ANIME: "Watching", MANGA: "Reading", OTHER: "Completed"}[type],
isCustomList: false,
entries: new Array(16).fill(null).map(_ => ({
- status: faker.random.arrayElement(["CURRENT", "PLANNING", "COMPLETED", "DROPPED", "PAUSED", "REPEATING"]),
+ status: faker.helpers.arrayElement(["CURRENT", "PLANNING", "COMPLETED", "DROPPED", "PAUSED", "REPEATING"]),
progress: faker.datatype.number(100),
progressVolumes: null,
score: 0,
diff --git a/tests/mocks/api/github/graphql/base.calendar.mjs b/tests/mocks/api/github/graphql/base.calendar.mjs
index 1c365c75..89a3b629 100644
--- a/tests/mocks/api/github/graphql/base.calendar.mjs
+++ b/tests/mocks/api/github/graphql/base.calendar.mjs
@@ -8,29 +8,29 @@ export default function({faker, query, login = faker.internet.userName()}) {
weeks: [
{
contributionDays: [
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
],
},
{
contributionDays: [
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
],
},
{
contributionDays: [
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
- {color: faker.random.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
+ {color: faker.helpers.arrayElement(["#ebedf0", "#9be9a8", "#40c463", "#30a14e", "#216e39"])},
],
},
],
diff --git a/tests/mocks/api/github/graphql/discussions.categories.mjs b/tests/mocks/api/github/graphql/discussions.categories.mjs
index 74eae126..c10c1f08 100644
--- a/tests/mocks/api/github/graphql/discussions.categories.mjs
+++ b/tests/mocks/api/github/graphql/discussions.categories.mjs
@@ -16,7 +16,7 @@ export default function({faker, query, login = faker.internet.userName()}) {
edges: new Array(100).fill(null).map(_ => ({cursor: "MOCKED_CURSOR"})),
nodes: new Array(100).fill(null).map(_ => ({
category: {
- emoji: faker.random.arrayElement([":chart_with_upwards_trend:", ":chart_with_downwards_trend:", ":bar_char:"]),
+ emoji: faker.helpers.arrayElement([":chart_with_upwards_trend:", ":chart_with_downwards_trend:", ":bar_char:"]),
name: faker.lorem.slug(),
},
})),
diff --git a/tests/mocks/api/github/graphql/reactions.default.mjs b/tests/mocks/api/github/graphql/reactions.default.mjs
index 6bb82a8b..a6aece81 100644
--- a/tests/mocks/api/github/graphql/reactions.default.mjs
+++ b/tests/mocks/api/github/graphql/reactions.default.mjs
@@ -21,7 +21,7 @@ export default function({faker, query, login = faker.internet.userName()}) {
reactions: {
nodes: new Array(50).fill(null).map(_ => ({
user: {login: faker.internet.userName()},
- content: faker.random.arrayElement(["HEART", "THUMBS_UP", "THUMBS_DOWN", "LAUGH", "CONFUSED", "EYES", "ROCKET", "HOORAY"]),
+ content: faker.helpers.arrayElement(["HEART", "THUMBS_UP", "THUMBS_DOWN", "LAUGH", "CONFUSED", "EYES", "ROCKET", "HOORAY"]),
})),
},
},
diff --git a/tests/mocks/api/github/graphql/sponsors.active.mjs b/tests/mocks/api/github/graphql/sponsors.active.mjs
index 5009a7e8..aabb0648 100644
--- a/tests/mocks/api/github/graphql/sponsors.active.mjs
+++ b/tests/mocks/api/github/graphql/sponsors.active.mjs
@@ -15,7 +15,7 @@ export default function({faker, query, login = faker.internet.userName()}) {
sponsorshipsAsMaintainer: {
edges: new Array(10).fill("MOCKED_CURSOR"),
nodes: new Array(10).fill(null).map(_ => ({
- privacyLevel: faker.random.arrayElement(["PUBLIC", "PRIVATE"]),
+ privacyLevel: faker.helpers.arrayElement(["PUBLIC", "PRIVATE"]),
sponsorEntity: {
login: faker.internet.userName(),
avatarUrl: null,
diff --git a/tests/mocks/api/github/rest/activity/listEventsForAuthenticatedUser.mjs b/tests/mocks/api/github/rest/activity/listEventsForAuthenticatedUser.mjs
index 9654926c..39b38735 100644
--- a/tests/mocks/api/github/rest/activity/listEventsForAuthenticatedUser.mjs
+++ b/tests/mocks/api/github/rest/activity/listEventsForAuthenticatedUser.mjs
@@ -71,7 +71,7 @@ export default async function({faker}, target, that, [{username: login, page, pe
name: `${faker.random.word()}/${faker.random.word()}`,
},
payload: {
- action: faker.random.arrayElement(["opened", "closed", "reopened"]),
+ action: faker.helpers.arrayElement(["opened", "closed", "reopened"]),
issue: {
number: 2,
title: faker.lorem.sentence(),
@@ -221,7 +221,7 @@ export default async function({faker}, target, that, [{username: login, page, pe
},
payload: {
ref: faker.lorem.slug(),
- ref_type: faker.random.arrayElement(["tag", "branch"]),
+ ref_type: faker.helpers.arrayElement(["tag", "branch"]),
master_branch: "master",
},
created_at: faker.date.recent(7),
@@ -251,7 +251,7 @@ export default async function({faker}, target, that, [{username: login, page, pe
},
payload: {
ref: faker.lorem.slug(),
- ref_type: faker.random.arrayElement(["tag", "branch"]),
+ ref_type: faker.helpers.arrayElement(["tag", "branch"]),
},
created_at: faker.date.recent(7),
public: true,
@@ -292,7 +292,7 @@ export default async function({faker}, target, that, [{username: login, page, pe
name: `${faker.random.word()}/${faker.random.word()}`,
},
payload: {
- action: faker.random.arrayElement(["opened", "closed"]),
+ action: faker.helpers.arrayElement(["opened", "closed"]),
number: 5,
pull_request: {
user: {
diff --git a/tests/mocks/index.mjs b/tests/mocks/index.mjs
index 2a36301c..c3eb9d22 100644
--- a/tests/mocks/index.mjs
+++ b/tests/mocks/index.mjs
@@ -1,7 +1,7 @@
//Imports
-import faker from "@faker-js/faker"
-import axios from "axios"
+import {faker} from "@faker-js/faker"
import fs from "fs/promises"
+import axios from "axios"
import paths from "path"
import rss from "rss-parser"
import urls from "url"