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"