From 5dff2ee805502560d8de7b28a50e76d394887cea Mon Sep 17 00:00:00 2001
From: zkldi <20380519+zkldi@users.noreply.github.com>
Date: Fri, 23 Dec 2022 09:04:25 +0000
Subject: [PATCH] fix: change prudence's default export to named
this was causing issues with vite and is potentially a bug in prudence
or in vite. it's very hard to tell and i've already spent
3 hours trying to fix this, so here.
---
bot/package.json | 2 +-
bot/src/config.ts | 2 +-
client/index.html | 3 --
client/package.json | 4 +--
.../dashboard/import/BatchManualPage.tsx | 2 +-
.../app/pages/dashboard/utils/QuestEditor.tsx | 2 +-
client/vite.config.js | 4 +++
common/package.json | 2 +-
common/src/lib/schemas.ts | 2 +-
database-seeds/scripts/package.json | 2 +-
github-bot/package.json | 2 +-
github-bot/src/config.ts | 2 +-
pnpm-lock.yaml | 28 +++++++++----------
server/package.json | 2 +-
server/src/external/mongo/schemas.ts | 2 +-
server/src/lib/jobs/update-sp12-data.ts | 2 +-
.../calculated-data/calculated-data.test.ts | 2 +-
.../import-types/common/api-cg/parsers.ts | 2 +-
.../common/api-cg/traverse-api.ts | 2 +-
.../common/api-kai/iidx/converter.ts | 2 +-
.../import-types/common/api-kai/reauth.ts | 2 +-
.../common/api-kai/sdvx/converter.ts | 2 +-
.../common/batch-manual/parser.ts | 2 +-
.../import-types/file/mer-iidx/parser.ts | 2 +-
.../file/solid-state-squad/parser.ts | 2 +-
.../import-types/ir/barbatos/parser.ts | 2 +-
.../import-types/ir/beatoraja/parser.ts | 2 +-
.../import-types/ir/fervidex-static/parser.ts | 2 +-
.../import-types/ir/fervidex/parser.ts | 2 +-
.../ir/kshook-sv6c-static/parser.ts | 2 +-
.../import-types/ir/kshook-sv6c/parser.ts | 2 +-
.../import-types/ir/lr2hook/parser.ts | 2 +-
.../import-types/ir/usc/parser.ts | 2 +-
server/src/lib/setup/config.ts | 2 +-
.../middleware/prudence-validate.test.ts | 4 +--
.../server/middleware/prudence-validate.ts | 4 +--
.../src/server/router/api/v1/admin/router.ts | 2 +-
server/src/server/router/api/v1/auth/auth.ts | 2 +-
.../src/server/router/api/v1/auth/router.ts | 8 +++---
.../server/router/api/v1/clients/router.ts | 2 +-
.../_game/_playtype/targets/goals/router.ts | 2 +-
.../src/server/router/api/v1/import/router.ts | 6 ++--
.../server/router/api/v1/imports/router.ts | 2 +-
.../src/server/router/api/v1/oauth/router.ts | 2 +-
.../router/api/v1/scores/_scoreID/router.ts | 2 +-
.../api/v1/sessions/_sessionID/router.ts | 2 +-
.../api/v1/users/_userID/api-tokens/router.ts | 2 +-
.../api/v1/users/_userID/following/router.ts | 2 +-
.../games/_game/_playtype/rivals/router.ts | 2 +-
.../_userID/games/_game/_playtype/router.ts | 2 +-
.../games/_game/_playtype/settings/router.ts | 2 +-
.../games/_game/_playtype/showcase/router.ts | 2 +-
.../_game/_playtype/targets/goals/router.ts | 2 +-
.../api/v1/users/_userID/imports/router.ts | 2 +-
.../_userID/integrations/cg/_cgType/router.ts | 2 +-
.../integrations/kai/_kaiType/router.ts | 2 +-
.../router/api/v1/users/_userID/router.ts | 2 +-
.../src/server/router/ir/beatoraja/router.ts | 2 +-
.../src/server/router/ir/fervidex/router.ts | 2 +-
.../server/router/ir/usc/_playtype/router.ts | 2 +-
server/src/test-utils/asserts.ts | 4 +--
server/src/utils/prudence.ts | 2 +-
62 files changed, 86 insertions(+), 85 deletions(-)
diff --git a/bot/package.json b/bot/package.json
index 2346a0dc4..41baa8b31 100644
--- a/bot/package.json
+++ b/bot/package.json
@@ -35,7 +35,7 @@
"mei-logger": "^1.0.3",
"monk": "7.3.4",
"node-fetch": "2.6.7",
- "prudence": "0.9.8",
+ "prudence": "0.10.0",
"seq-logging": "1.1.1",
"sync-fetch": "^0.3.1",
"tachi-common": "workspace:../common",
diff --git a/bot/src/config.ts b/bot/src/config.ts
index 0af320fa5..b04d838f5 100644
--- a/bot/src/config.ts
+++ b/bot/src/config.ts
@@ -3,7 +3,7 @@ import { FormatPrError } from "./utils/prudence";
import { config } from "dotenv";
import JSON5 from "json5";
// eslint-disable-next-line import/order
-import p from "prudence";
+import { p } from "prudence";
// @ts-expect-error No types available...
import fetchSync from "sync-fetch";
diff --git a/client/index.html b/client/index.html
index a271b5598..cdf046d31 100644
--- a/client/index.html
+++ b/client/index.html
@@ -14,9 +14,6 @@
-
-
diff --git a/client/package.json b/client/package.json
index 724121059..7dbd2a826 100644
--- a/client/package.json
+++ b/client/package.json
@@ -7,7 +7,7 @@
"start": "vite",
"build": "vite build",
"lint": "eslint src --fix",
- "preview": "vite preview"
+ "preview": "vite build && vite preview"
},
"browserslist": {
"production": [
@@ -54,7 +54,7 @@
"natural-compare": "^1.4.0",
"pretty-bytes": "5.6.0",
"prop-types": "15.6.0",
- "prudence": "0.9.8",
+ "prudence": "0.10.0",
"react": "17.0.2",
"react-async": "10.0.1",
"react-bootstrap": "1.6.1",
diff --git a/client/src/app/pages/dashboard/import/BatchManualPage.tsx b/client/src/app/pages/dashboard/import/BatchManualPage.tsx
index 183589887..2fe6839f2 100644
--- a/client/src/app/pages/dashboard/import/BatchManualPage.tsx
+++ b/client/src/app/pages/dashboard/import/BatchManualPage.tsx
@@ -9,7 +9,7 @@ import {
GetGameConfig,
GetGamePTConfig,
} from "tachi-common";
-import p from "prudence";
+import { p } from "prudence";
import { PR_BATCH_MANUAL } from "tachi-common/lib/schemas";
export default function BatchManualPage() {
diff --git a/client/src/app/pages/dashboard/utils/QuestEditor.tsx b/client/src/app/pages/dashboard/utils/QuestEditor.tsx
index 2a2952d35..fb1b89a26 100644
--- a/client/src/app/pages/dashboard/utils/QuestEditor.tsx
+++ b/client/src/app/pages/dashboard/utils/QuestEditor.tsx
@@ -5,7 +5,7 @@ import AddNewQuestModal from "components/targets/AddNewQuestModal";
import Divider from "components/util/Divider";
import Icon from "components/util/Icon";
import { TachiConfig } from "lib/config";
-import p, { PrudenceSchema } from "prudence";
+import { PrudenceSchema, p } from "prudence";
import React, { useEffect, useMemo, useState } from "react";
import { Alert, Button, Col, Form, Modal, Row } from "react-bootstrap";
import { FormatPrError, GetGameConfig } from "tachi-common";
diff --git a/client/vite.config.js b/client/vite.config.js
index 3ccba4174..07dd43d04 100644
--- a/client/vite.config.js
+++ b/client/vite.config.js
@@ -70,6 +70,9 @@ export default defineConfig(() => {
server: {
port: 3000,
},
+ preview: {
+ port: 3000,
+ },
css: {
preprocessorOptions: {
scss: {
@@ -81,6 +84,7 @@ export default defineConfig(() => {
assetsDir: "static",
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
outDir: process.env.BUILD_OUT_DIR || "build",
+ sourcemap: true,
},
};
});
diff --git a/common/package.json b/common/package.json
index 5211ed43f..4df1b032c 100644
--- a/common/package.json
+++ b/common/package.json
@@ -20,7 +20,7 @@
"@types/express-serve-static-core": "4.17.29",
"@types/mongodb": "3.6.18",
"deepmerge": "^4.2.2",
- "prudence": "0.9.8"
+ "prudence": "0.10.0"
},
"devDependencies": {
"@types/tap": "^15.0.7",
diff --git a/common/src/lib/schemas.ts b/common/src/lib/schemas.ts
index 18221cc01..973677018 100644
--- a/common/src/lib/schemas.ts
+++ b/common/src/lib/schemas.ts
@@ -7,7 +7,7 @@ import { allIDStrings, allImportTypes, allSupportedGames } from "../config/stati
import { ALL_PERMISSIONS } from "../constants/permissions";
import { UserAuthLevels } from "../types";
import deepmerge from "deepmerge";
-import p from "prudence";
+import { p } from "prudence";
import type { GamePTConfig } from "../config/config";
import type { Game, IDStrings, NotificationBody, Playtype, Playtypes } from "../types";
import type {
diff --git a/database-seeds/scripts/package.json b/database-seeds/scripts/package.json
index 679d73b1e..facd1d770 100644
--- a/database-seeds/scripts/package.json
+++ b/database-seeds/scripts/package.json
@@ -33,7 +33,7 @@
"mei-logger": "^1.0.1",
"monk": "^7.3.4",
"node-fetch": "2.6.7",
- "prudence": "0.9.8",
+ "prudence": "0.10.0",
"tachi-common": "workspace:../../common",
"xml2js": "^0.4.23"
}
diff --git a/github-bot/package.json b/github-bot/package.json
index 4a2633e98..0ff44dc0a 100644
--- a/github-bot/package.json
+++ b/github-bot/package.json
@@ -13,7 +13,7 @@
"dotenv": "16.0.0",
"express": "4.17.2",
"node-fetch": "2.6.7",
- "prudence": "0.9.8"
+ "prudence": "0.10.0"
},
"devDependencies": {
"@types/express": "4.17.13",
diff --git a/github-bot/src/config.ts b/github-bot/src/config.ts
index 400d9447a..c69a2538c 100644
--- a/github-bot/src/config.ts
+++ b/github-bot/src/config.ts
@@ -1,5 +1,5 @@
import { config } from "dotenv";
-import p from "prudence";
+import { p } from "prudence";
// init dotenv
config();
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b6e7f9b55..76ca33894 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -56,7 +56,7 @@ importers:
mei-logger: ^1.0.3
monk: 7.3.4
node-fetch: 2.6.7
- prudence: 0.9.8
+ prudence: 0.10.0
seq-logging: 1.1.1
sync-fetch: ^0.3.1
tachi-common: workspace:../common
@@ -81,7 +81,7 @@ importers:
mei-logger: 1.0.3
monk: 7.3.4
node-fetch: 2.6.7
- prudence: 0.9.8
+ prudence: 0.10.0
seq-logging: 1.1.1
sync-fetch: 0.3.1
tachi-common: link:../common
@@ -134,7 +134,7 @@ importers:
natural-compare: ^1.4.0
pretty-bytes: 5.6.0
prop-types: 15.6.0
- prudence: 0.9.8
+ prudence: 0.10.0
react: 17.0.2
react-async: 10.0.1
react-bootstrap: 1.6.1
@@ -181,7 +181,7 @@ importers:
natural-compare: 1.4.0
pretty-bytes: 5.6.0
prop-types: 15.6.0
- prudence: 0.9.8
+ prudence: 0.10.0
react: 17.0.2
react-async: 10.0.1_react@17.0.2
react-bootstrap: 1.6.1_sfoxds7t5ydpegc3knd667wn6m
@@ -214,13 +214,13 @@ importers:
'@types/mongodb': 3.6.18
'@types/tap': ^15.0.7
deepmerge: ^4.2.2
- prudence: 0.9.8
+ prudence: 0.10.0
tap: 15.1.6
dependencies:
'@types/express-serve-static-core': 4.17.29
'@types/mongodb': 3.6.18
deepmerge: 4.2.2
- prudence: 0.9.8
+ prudence: 0.10.0
devDependencies:
'@types/tap': 15.0.7
tap: 15.1.6
@@ -245,7 +245,7 @@ importers:
mei-logger: ^1.0.1
monk: ^7.3.4
node-fetch: 2.6.7
- prudence: 0.9.8
+ prudence: 0.10.0
tachi-common: workspace:../../common
tsconfig-paths: 3.12.0
xml2js: ^0.4.23
@@ -268,7 +268,7 @@ importers:
mei-logger: 1.0.3
monk: 7.3.4
node-fetch: 2.6.7
- prudence: 0.9.8
+ prudence: 0.10.0
tachi-common: link:../../common
xml2js: 0.4.23
devDependencies:
@@ -283,14 +283,14 @@ importers:
dotenv: 16.0.0
express: 4.17.2
node-fetch: 2.6.7
- prudence: 0.9.8
+ prudence: 0.10.0
typescript: 4.6.3
dependencies:
'@octokit/app': 13.1.0
dotenv: 16.0.0
express: 4.17.2
node-fetch: 2.6.7
- prudence: 0.9.8
+ prudence: 0.10.0
devDependencies:
'@types/express': 4.17.13
'@types/node': 16.11.7
@@ -351,7 +351,7 @@ importers:
node-html-parser: ^5.3.3
node-mocks-http: 1.11.0
nodemailer: 6.7.2
- prudence: 0.9.8
+ prudence: 0.10.0
rate-limit-redis: 2.1.0
redis: 3.1.2
rg-stats: ^0.5.0
@@ -417,7 +417,7 @@ importers:
node-fetch: 2.6.7
node-html-parser: 5.3.3
nodemailer: 6.7.2
- prudence: 0.9.8
+ prudence: 0.10.0
rate-limit-redis: 2.1.0
redis: 3.1.2
rg-stats: 0.5.0
@@ -8115,8 +8115,8 @@ packages:
ipaddr.js: 1.9.1
dev: false
- /prudence/0.9.8:
- resolution: {integrity: sha512-my6HEhcTW3aKKjAx8j6jgUj3x5Kc71NEv3DySRXun2Zspw6Fdo5zDnbpXv/j4tyk9f9XXrpu1grWVBX4WU+1Tg==}
+ /prudence/0.10.0:
+ resolution: {integrity: sha512-QPyNYQR4tx+9xp+GuceW55MWeZIC/nNT3qWUmU8eij0FmO90x3L08oY9bJiIW1weB7mvH63JBra1cY+GH70YKw==}
dev: false
/psl/1.8.0:
diff --git a/server/package.json b/server/package.json
index 2fe6ecbe5..079e3f4d7 100644
--- a/server/package.json
+++ b/server/package.json
@@ -82,7 +82,7 @@
"node-fetch": "2.6.7",
"node-html-parser": "^5.3.3",
"nodemailer": "6.7.2",
- "prudence": "0.9.8",
+ "prudence": "0.10.0",
"rate-limit-redis": "2.1.0",
"redis": "3.1.2",
"rg-stats": "^0.5.0",
diff --git a/server/src/external/mongo/schemas.ts b/server/src/external/mongo/schemas.ts
index ae44a2681..1b7812790 100644
--- a/server/src/external/mongo/schemas.ts
+++ b/server/src/external/mongo/schemas.ts
@@ -1,5 +1,5 @@
import { TachiConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import { allImportTypes } from "tachi-common/config/static-config";
import { SCHEMAS } from "tachi-common/lib/schemas";
import type { Databases } from "./db";
diff --git a/server/src/lib/jobs/update-sp12-data.ts b/server/src/lib/jobs/update-sp12-data.ts
index 8e6a758f7..fac307114 100644
--- a/server/src/lib/jobs/update-sp12-data.ts
+++ b/server/src/lib/jobs/update-sp12-data.ts
@@ -5,7 +5,7 @@ import db from "external/mongo/db";
import { BacksyncCollectionToBothBranches } from "lib/database-seeds/repo";
import CreateLogCtx from "lib/logger/logger";
import fetch from "node-fetch";
-import p from "prudence";
+import { p } from "prudence";
import { RecalcAllScores } from "utils/calculations/recalc-scores";
import { WrapScriptPromise } from "utils/misc";
import { FindChartWithPTDF } from "utils/queries/charts";
diff --git a/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts b/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts
index 4f7181457..440128360 100644
--- a/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts
+++ b/server/src/lib/score-import/framework/calculated-data/calculated-data.test.ts
@@ -1,6 +1,6 @@
import { CalculateDataForGamePT, CreateCalculatedData } from "./calculated-data";
import CreateLogCtx from "lib/logger/logger";
-import p from "prudence";
+import { p } from "prudence";
import t from "tap";
import { prAssert } from "test-utils/asserts";
import {
diff --git a/server/src/lib/score-import/import-types/common/api-cg/parsers.ts b/server/src/lib/score-import/import-types/common/api-cg/parsers.ts
index dc4518468..9cb20b995 100644
--- a/server/src/lib/score-import/import-types/common/api-cg/parsers.ts
+++ b/server/src/lib/score-import/import-types/common/api-cg/parsers.ts
@@ -3,7 +3,7 @@ import { CGGameToTachiGame } from "./util";
import db from "external/mongo/db";
import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error";
import fetch from "node-fetch";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "tachi-common";
import type { ParserFunctionReturns } from "../types";
import type {
diff --git a/server/src/lib/score-import/import-types/common/api-cg/traverse-api.ts b/server/src/lib/score-import/import-types/common/api-cg/traverse-api.ts
index 149c644ad..13f9c826c 100644
--- a/server/src/lib/score-import/import-types/common/api-cg/traverse-api.ts
+++ b/server/src/lib/score-import/import-types/common/api-cg/traverse-api.ts
@@ -1,6 +1,6 @@
import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error";
import { ServerConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import nodeFetch from "utils/fetch";
import { URLSearchParams } from "url";
import type { CGErrorResponse, CGScoresResponse, CGServices, CGSupportedGames } from "./types";
diff --git a/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts b/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts
index 5607dab8b..52c4a79fc 100644
--- a/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts
+++ b/server/src/lib/score-import/import-types/common/api-kai/iidx/converter.ts
@@ -7,7 +7,7 @@ import {
GenericGetGradeAndPercent,
ParseDateFromString,
} from "../../../../framework/common/score-utils";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import { FindIIDXChartOnInGameIDVersion } from "utils/queries/charts";
import { FindSongOnID } from "utils/queries/songs";
diff --git a/server/src/lib/score-import/import-types/common/api-kai/reauth.ts b/server/src/lib/score-import/import-types/common/api-kai/reauth.ts
index 3bbe6c74b..2b1e5551a 100644
--- a/server/src/lib/score-import/import-types/common/api-kai/reauth.ts
+++ b/server/src/lib/score-import/import-types/common/api-kai/reauth.ts
@@ -1,7 +1,7 @@
import { GetKaiTypeClientCredentials, KaiTypeToBaseURL } from "./utils";
import db from "external/mongo/db";
import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import nodeFetch from "utils/fetch";
import { CreateURLWithParams } from "utils/url";
import type { KtLogger } from "lib/logger/logger";
diff --git a/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts b/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts
index 5def625e5..51a3e19fd 100644
--- a/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts
+++ b/server/src/lib/score-import/import-types/common/api-kai/sdvx/converter.ts
@@ -7,7 +7,7 @@ import {
GenericGetGradeAndPercent,
ParseDateFromString,
} from "../../../../framework/common/score-utils";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import { FindSDVXChartOnInGameIDVersion } from "utils/queries/charts";
import { FindSongOnID } from "utils/queries/songs";
diff --git a/server/src/lib/score-import/import-types/common/batch-manual/parser.ts b/server/src/lib/score-import/import-types/common/batch-manual/parser.ts
index 2f8ec3137..deb4db144 100644
--- a/server/src/lib/score-import/import-types/common/batch-manual/parser.ts
+++ b/server/src/lib/score-import/import-types/common/batch-manual/parser.ts
@@ -1,7 +1,7 @@
import { CreateBatchManualClassHandler } from "./class-handler";
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
import { TachiConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import { GetGameConfig } from "tachi-common";
import { PR_BATCH_MANUAL } from "tachi-common/lib/schemas";
import { IsRecord, IsValidGame, IsValidPlaytype } from "utils/misc";
diff --git a/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts b/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts
index 8c3a57f01..1ac05703a 100644
--- a/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts
+++ b/server/src/lib/score-import/import-types/file/mer-iidx/parser.ts
@@ -1,5 +1,5 @@
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { MerScore } from "./types";
diff --git a/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts b/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts
index 8a084063e..a7318e847 100644
--- a/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts
+++ b/server/src/lib/score-import/import-types/file/solid-state-squad/parser.ts
@@ -1,6 +1,6 @@
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
import { XMLParser } from "fast-xml-parser";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { S3Score } from "./types";
diff --git a/server/src/lib/score-import/import-types/ir/barbatos/parser.ts b/server/src/lib/score-import/import-types/ir/barbatos/parser.ts
index 8dd926942..737938fd0 100644
--- a/server/src/lib/score-import/import-types/ir/barbatos/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/barbatos/parser.ts
@@ -1,5 +1,5 @@
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { BarbatosContext, BarbatosScore, BarbatosSDVX6Score } from "./types";
diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts b/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts
index e5dae8b54..37575933f 100644
--- a/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/beatoraja/parser.ts
@@ -1,5 +1,5 @@
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { BeatorajaChart, BeatorajaContext, BeatorajaScore } from "./types";
diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts
index e682a4e8b..3562c33b3 100644
--- a/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts
@@ -2,7 +2,7 @@ import { CreateFerStaticClassHandler } from "./class-handler";
import { AssertStrAsPositiveInt } from "../../../framework/common/string-asserts";
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
import { SoftwareIDToVersion } from "../fervidex/parser";
-import p from "prudence";
+import { p } from "prudence";
import { IsRecord } from "utils/misc";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
diff --git a/server/src/lib/score-import/import-types/ir/fervidex/parser.ts b/server/src/lib/score-import/import-types/ir/fervidex/parser.ts
index b6971dcbf..2b08b7afe 100644
--- a/server/src/lib/score-import/import-types/ir/fervidex/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/fervidex/parser.ts
@@ -11,7 +11,7 @@ import {
REV_NORMAL,
REV_OMNIMIX,
} from "lib/constants/ea3id";
-import p from "prudence";
+import { p } from "prudence";
import { ParseEA3SoftID } from "utils/ea3id";
import { FormatPrError, optNull } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c-static/parser.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c-static/parser.ts
index bb1e3745a..a542a0005 100644
--- a/server/src/lib/score-import/import-types/ir/kshook-sv6c-static/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c-static/parser.ts
@@ -1,6 +1,6 @@
import { PR_KSHOOK_SV6C } from "../kshook-sv6c/parser";
import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { KsHookSV6CStaticBody, KsHookSV6CStaticScore } from "./types";
diff --git a/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts b/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts
index 1775211cf..ea485e459 100644
--- a/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/kshook-sv6c/parser.ts
@@ -1,5 +1,5 @@
import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { KsHookSV6CContext, KsHookSV6CScore } from "./types";
diff --git a/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts b/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts
index f7f5b02ae..8495042bd 100644
--- a/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/lr2hook/parser.ts
@@ -1,5 +1,5 @@
import ScoreImportFatalError from "lib/score-import/framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { LR2HookContext, LR2HookScore } from "./types";
diff --git a/server/src/lib/score-import/import-types/ir/usc/parser.ts b/server/src/lib/score-import/import-types/ir/usc/parser.ts
index 73e507e51..366a18cce 100644
--- a/server/src/lib/score-import/import-types/ir/usc/parser.ts
+++ b/server/src/lib/score-import/import-types/ir/usc/parser.ts
@@ -1,5 +1,5 @@
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
-import p from "prudence";
+import { p } from "prudence";
import { FormatPrError } from "utils/prudence";
import type { ParserFunctionReturns } from "../../common/types";
import type { IRUSCContext } from "./types";
diff --git a/server/src/lib/setup/config.ts b/server/src/lib/setup/config.ts
index 396971bbf..e23873189 100644
--- a/server/src/lib/setup/config.ts
+++ b/server/src/lib/setup/config.ts
@@ -2,7 +2,7 @@
// barrel file for re-exporting env variables.
import dotenv from "dotenv";
import JSON5 from "json5";
-import p from "prudence";
+import { p } from "prudence";
import { StaticConfig } from "tachi-common";
import { FormatPrError } from "utils/prudence";
import fs from "fs";
diff --git a/server/src/server/middleware/prudence-validate.test.ts b/server/src/server/middleware/prudence-validate.test.ts
index 8b2b2974c..cc6014d67 100644
--- a/server/src/server/middleware/prudence-validate.test.ts
+++ b/server/src/server/middleware/prudence-validate.test.ts
@@ -1,10 +1,10 @@
import prValidate from "./prudence-validate";
-import Prudence from "prudence";
+import { p } from "prudence";
import t from "tap";
import { expressRequestMock } from "test-utils/mock-request";
t.test("#PrudenceMiddleware", (t) => {
- const mw = prValidate({ foo: Prudence.regex(/^baz$/u) }, { foo: "example error message" });
+ const mw = prValidate({ foo: p.regex(/^baz$/u) }, { foo: "example error message" });
t.test("Should return 400 on invalid prudence validation", async (t) => {
const { res } = await expressRequestMock(mw, {
diff --git a/server/src/server/middleware/prudence-validate.ts b/server/src/server/middleware/prudence-validate.ts
index 88ada6e74..160f5d68c 100644
--- a/server/src/server/middleware/prudence-validate.ts
+++ b/server/src/server/middleware/prudence-validate.ts
@@ -1,5 +1,5 @@
import CreateLogCtx from "lib/logger/logger";
-import Prudence from "prudence";
+import { p } from "prudence";
import type { RequestHandler } from "express-serve-static-core";
import type {
ErrorMessages,
@@ -68,6 +68,6 @@ const prValidate = (
errorMessage?: ErrorMessages,
options?: Partial,
level: TachiLogLevels = "info"
-): RequestHandler => Prudence.CurryMiddleware(API_ERROR_HANDLERS[level])(s, errorMessage, options);
+): RequestHandler => p.CurryMiddleware(API_ERROR_HANDLERS[level])(s, errorMessage, options);
export default prValidate;
diff --git a/server/src/server/router/api/v1/admin/router.ts b/server/src/server/router/api/v1/admin/router.ts
index 4e95b491c..ff2fb3ab8 100644
--- a/server/src/server/router/api/v1/admin/router.ts
+++ b/server/src/server/router/api/v1/admin/router.ts
@@ -7,7 +7,7 @@ import CreateLogCtx, { ChangeRootLogLevel, GetLogLevel } from "lib/logger/logger
import { SendSiteAnnouncementNotification } from "lib/notifications/notification-wrappers";
import { DeleteMultipleScores, DeleteScore } from "lib/score-mutation/delete-scores";
import { ServerConfig, TachiConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { UserAuthLevels } from "tachi-common";
import { RecalcAllScores, UpdateAllPBs } from "utils/calculations/recalc-scores";
diff --git a/server/src/server/router/api/v1/auth/auth.ts b/server/src/server/router/api/v1/auth/auth.ts
index 207ac73ea..835b3b724 100644
--- a/server/src/server/router/api/v1/auth/auth.ts
+++ b/server/src/server/router/api/v1/auth/auth.ts
@@ -2,7 +2,7 @@ import bcrypt from "bcryptjs";
import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
import { Environment, ServerConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import { UserAuthLevels } from "tachi-common";
import nodeFetch from "utils/fetch";
import { Random20Hex } from "utils/misc";
diff --git a/server/src/server/router/api/v1/auth/router.ts b/server/src/server/router/api/v1/auth/router.ts
index 8ec2ec7a3..3e65b21cc 100644
--- a/server/src/server/router/api/v1/auth/router.ts
+++ b/server/src/server/router/api/v1/auth/router.ts
@@ -14,7 +14,7 @@ import { SendEmail } from "lib/email/client";
import { EmailFormatResetPassword, EmailFormatVerifyEmail } from "lib/email/formats";
import CreateLogCtx from "lib/logger/logger";
import { Environment, ServerConfig, TachiConfig } from "lib/setup/config";
-import Prudence from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import {
AggressiveRateLimitMiddleware,
@@ -48,7 +48,7 @@ router.post(
AggressiveRateLimitMiddleware,
prValidate(
{
- username: Prudence.regex(/^[a-zA-Z_-][a-zA-Z0-9_-]{2,20}$/u),
+ username: p.regex(/^[a-zA-Z_-][a-zA-Z0-9_-]{2,20}$/u),
"!password": ValidatePassword,
captcha: "string",
},
@@ -168,9 +168,9 @@ router.post(
AggressiveRateLimitMiddleware,
prValidate(
{
- username: Prudence.regex(/^[a-zA-Z_-][a-zA-Z0-9_-]{2,20}$/u),
+ username: p.regex(/^[a-zA-Z_-][a-zA-Z0-9_-]{2,20}$/u),
"!password": ValidatePassword,
- email: Prudence.regex(LAZY_EMAIL_REGEX),
+ email: p.regex(LAZY_EMAIL_REGEX),
inviteCode: "*string",
captcha: "string",
},
diff --git a/server/src/server/router/api/v1/clients/router.ts b/server/src/server/router/api/v1/clients/router.ts
index 6bb7f6b4b..1c463f6af 100644
--- a/server/src/server/router/api/v1/clients/router.ts
+++ b/server/src/server/router/api/v1/clients/router.ts
@@ -3,7 +3,7 @@ import { Router } from "express";
import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
import { ServerConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { ALL_PERMISSIONS, UserAuthLevels } from "tachi-common";
import { DedupeArr, DeleteUndefinedProps, IsValidURL, Random20Hex } from "utils/misc";
diff --git a/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts b/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts
index cea64c72e..3cd9fa92b 100644
--- a/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts
+++ b/server/src/server/router/api/v1/games/_game/_playtype/targets/goals/router.ts
@@ -3,7 +3,7 @@ import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
import { CreateGoalTitle, ValidateGoalChartsAndCriteria } from "lib/targets/goal-utils";
import { GetQuestsThatContainGoal } from "lib/targets/goals";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { GetMostSubscribedGoals } from "utils/db";
import { AssignToReqTachiData, GetGPT, GetTachiData } from "utils/req-tachi-data";
diff --git a/server/src/server/router/api/v1/import/router.ts b/server/src/server/router/api/v1/import/router.ts
index c0e276614..fe630f656 100644
--- a/server/src/server/router/api/v1/import/router.ts
+++ b/server/src/server/router/api/v1/import/router.ts
@@ -7,7 +7,7 @@ import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/expres
import { ReprocessOrphan } from "lib/score-import/framework/orphans/orphans";
import { MakeScoreImport } from "lib/score-import/framework/score-import";
import { ServerConfig, TachiConfig } from "lib/setup/config";
-import Prudence from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import { CreateMulterSingleUploadMiddleware } from "server/middleware/multer-upload";
import prValidate from "server/middleware/prudence-validate";
@@ -45,7 +45,7 @@ router.post(
ParseMultipartScoredata,
prValidate(
{
- importType: Prudence.isIn(fileImportTypes),
+ importType: p.isIn(fileImportTypes),
},
{},
{ allowExcessKeys: true }
@@ -108,7 +108,7 @@ router.post(
RequirePermissions("submit_score"),
prValidate(
{
- importType: Prudence.isIn(apiImportTypes),
+ importType: p.isIn(apiImportTypes),
},
{},
{ allowExcessKeys: true }
diff --git a/server/src/server/router/api/v1/imports/router.ts b/server/src/server/router/api/v1/imports/router.ts
index 6d9b5aaa8..f2fb7a680 100644
--- a/server/src/server/router/api/v1/imports/router.ts
+++ b/server/src/server/router/api/v1/imports/router.ts
@@ -6,7 +6,7 @@ import { RevertImport } from "lib/imports/imports";
import CreateLogCtx from "lib/logger/logger";
import ScoreImportQueue, { ScoreImportQueueEvents } from "lib/score-import/worker/queue";
import { ServerConfig, TachiConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import prValidate from "server/middleware/prudence-validate";
import { GetRelevantSongsAndCharts } from "utils/db";
diff --git a/server/src/server/router/api/v1/oauth/router.ts b/server/src/server/router/api/v1/oauth/router.ts
index 7f894ba80..6e1144a51 100644
--- a/server/src/server/router/api/v1/oauth/router.ts
+++ b/server/src/server/router/api/v1/oauth/router.ts
@@ -1,6 +1,6 @@
import { Router } from "express";
import db from "external/mongo/db";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { Random20Hex } from "utils/misc";
diff --git a/server/src/server/router/api/v1/scores/_scoreID/router.ts b/server/src/server/router/api/v1/scores/_scoreID/router.ts
index ee75bac93..ecd619eb3 100644
--- a/server/src/server/router/api/v1/scores/_scoreID/router.ts
+++ b/server/src/server/router/api/v1/scores/_scoreID/router.ts
@@ -3,7 +3,7 @@ import { Router } from "express";
import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
import { DeleteScore } from "lib/score-mutation/delete-scores";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import prValidate from "server/middleware/prudence-validate";
import { GetTachiData } from "utils/req-tachi-data";
diff --git a/server/src/server/router/api/v1/sessions/_sessionID/router.ts b/server/src/server/router/api/v1/sessions/_sessionID/router.ts
index d6bce2d51..6bf47ec86 100644
--- a/server/src/server/router/api/v1/sessions/_sessionID/router.ts
+++ b/server/src/server/router/api/v1/sessions/_sessionID/router.ts
@@ -5,7 +5,7 @@ import {
} from "./middleware";
import { Router } from "express";
import db from "external/mongo/db";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import prValidate from "server/middleware/prudence-validate";
import { GetGamePTConfig } from "tachi-common";
diff --git a/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts b/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts
index 5bf1ec171..b9a06340e 100644
--- a/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/api-tokens/router.ts
@@ -2,7 +2,7 @@ import { RequireSelfRequestFromUser } from "../middleware";
import { Router } from "express";
import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { ALL_PERMISSIONS } from "tachi-common";
import { Random20Hex } from "utils/misc";
diff --git a/server/src/server/router/api/v1/users/_userID/following/router.ts b/server/src/server/router/api/v1/users/_userID/following/router.ts
index 1e49fd954..e53499f47 100644
--- a/server/src/server/router/api/v1/users/_userID/following/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/following/router.ts
@@ -3,7 +3,7 @@ import { Router } from "express";
import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
import { ServerConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { GetUser } from "utils/req-tachi-data";
import { FormatUserDoc, GetUsersWithIDs, GetUserWithID } from "utils/user";
diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts
index 2b23fd320..030e13d4f 100644
--- a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/rivals/router.ts
@@ -4,7 +4,7 @@ import db from "external/mongo/db";
import { CreateActivityRouteHandler } from "lib/activity/activity";
import { SetRivalsFailReasons } from "lib/constants/err-codes";
import { GetChallengerUsers, GetRivalIDs, GetRivalUsers, SetRivals } from "lib/rivals/rivals";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import prValidate from "server/middleware/prudence-validate";
import { FormatGame, GetGamePTConfig } from "tachi-common";
diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts
index 750a0ce47..b6ca4ec07 100644
--- a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/router.ts
@@ -14,7 +14,7 @@ import db from "external/mongo/db";
import { CreateActivityRouteHandler } from "lib/activity/activity";
import { ONE_MONTH, ONE_WEEK, ONE_YEAR } from "lib/constants/time";
import CreateLogCtx from "lib/logger/logger";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { PasswordCompare, ValidatePassword } from "server/router/api/v1/auth/auth";
import { FormatGame, GetGamePTConfig } from "tachi-common";
diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts
index b0d1ae881..d02160eab 100644
--- a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/settings/router.ts
@@ -2,7 +2,7 @@ import { RequireAuthedAsUser } from "../../../../middleware";
import { Router } from "express";
import db from "external/mongo/db";
import CreateLogCtx from "lib/logger/logger";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import { GetGamePTConfig } from "tachi-common";
import { PR_GAMESPECIFIC_SETTINGS } from "tachi-common/lib/schemas";
diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts
index db4cb1340..426e07a04 100644
--- a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/showcase/router.ts
@@ -3,7 +3,7 @@ import db from "external/mongo/db";
import { EvaluateShowcaseStat } from "lib/showcase/evaluator";
import { GetRelatedStatDocuments } from "lib/showcase/get-related";
import { EvaluateUsersStatsShowcase } from "lib/showcase/get-stats";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import { RequireAuthedAsUser } from "server/router/api/v1/users/_userID/middleware";
import { FormatGame, GetGamePTConfig } from "tachi-common";
diff --git a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts
index 86686f0e5..8b42ba967 100644
--- a/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/games/_game/_playtype/targets/goals/router.ts
@@ -11,7 +11,7 @@ import {
UnsubscribeFromGoal,
} from "lib/targets/goals";
import { GetParentQuests } from "lib/targets/quests";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import prValidate from "server/middleware/prudence-validate";
import { GetGoalForIDGuaranteed } from "utils/db";
diff --git a/server/src/server/router/api/v1/users/_userID/imports/router.ts b/server/src/server/router/api/v1/users/_userID/imports/router.ts
index 2c432dd8f..769e8ce91 100644
--- a/server/src/server/router/api/v1/users/_userID/imports/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/imports/router.ts
@@ -1,7 +1,7 @@
import { Router } from "express";
import db from "external/mongo/db";
import { TachiConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { DeleteUndefinedProps } from "utils/misc";
import { GetTachiData } from "utils/req-tachi-data";
diff --git a/server/src/server/router/api/v1/users/_userID/integrations/cg/_cgType/router.ts b/server/src/server/router/api/v1/users/_userID/integrations/cg/_cgType/router.ts
index 1b6a64548..e3fd32be3 100644
--- a/server/src/server/router/api/v1/users/_userID/integrations/cg/_cgType/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/integrations/cg/_cgType/router.ts
@@ -1,7 +1,7 @@
import { RequireSelfRequestFromUser } from "../../../middleware";
import { Router } from "express";
import db from "external/mongo/db";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { GetTachiData } from "utils/req-tachi-data";
import type { RequestHandler } from "express-serve-static-core";
diff --git a/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts
index 9e06151f6..1aa80459d 100644
--- a/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/integrations/kai/_kaiType/router.ts
@@ -7,7 +7,7 @@ import {
GetKaiTypeClientCredentials,
KaiTypeToBaseURL,
} from "lib/score-import/import-types/common/api-kai/utils";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { RequireKamaitachi } from "server/middleware/type-require";
import fetch from "utils/fetch";
diff --git a/server/src/server/router/api/v1/users/_userID/router.ts b/server/src/server/router/api/v1/users/_userID/router.ts
index a29837059..1114fb738 100644
--- a/server/src/server/router/api/v1/users/_userID/router.ts
+++ b/server/src/server/router/api/v1/users/_userID/router.ts
@@ -26,7 +26,7 @@ import { GetRecentActivity } from "lib/activity/activity";
import { ONE_MONTH } from "lib/constants/time";
import CreateLogCtx from "lib/logger/logger";
import { GetRivalIDs } from "lib/rivals/rivals";
-import p from "prudence";
+import { p } from "prudence";
import prValidate from "server/middleware/prudence-validate";
import { DeleteUndefinedProps, IsNonEmptyString, StripUrl } from "utils/misc";
import { optNullFluffStrField } from "utils/prudence";
diff --git a/server/src/server/router/ir/beatoraja/router.ts b/server/src/server/router/ir/beatoraja/router.ts
index 3e9791dd4..c14b0f412 100644
--- a/server/src/server/router/ir/beatoraja/router.ts
+++ b/server/src/server/router/ir/beatoraja/router.ts
@@ -6,7 +6,7 @@ import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi";
import CreateLogCtx from "lib/logger/logger";
import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper";
import { ServerConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import { RequireNotGuest } from "server/middleware/auth";
import prValidate from "server/middleware/prudence-validate";
import { UpdateClassIfGreater } from "utils/class";
diff --git a/server/src/server/router/ir/fervidex/router.ts b/server/src/server/router/ir/fervidex/router.ts
index 4383cd287..8e02f1109 100644
--- a/server/src/server/router/ir/fervidex/router.ts
+++ b/server/src/server/router/ir/fervidex/router.ts
@@ -5,7 +5,7 @@ import { SYMBOL_TACHI_API_AUTH } from "lib/constants/tachi";
import CreateLogCtx from "lib/logger/logger";
import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper";
import { SoftwareIDToVersion } from "lib/score-import/import-types/ir/fervidex/parser";
-import p from "prudence";
+import { p } from "prudence";
import { RequirePermissions } from "server/middleware/auth";
import { PrudenceErrorFormatter } from "server/middleware/prudence-validate";
import { UpdateClassIfGreater } from "utils/class";
diff --git a/server/src/server/router/ir/usc/_playtype/router.ts b/server/src/server/router/ir/usc/_playtype/router.ts
index e2614c21d..5566ef621 100644
--- a/server/src/server/router/ir/usc/_playtype/router.ts
+++ b/server/src/server/router/ir/usc/_playtype/router.ts
@@ -10,7 +10,7 @@ import CreateLogCtx from "lib/logger/logger";
import { AssertStrAsPositiveNonZeroInt } from "lib/score-import/framework/common/string-asserts";
import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper";
import { ServerConfig, TachiConfig } from "lib/setup/config";
-import p from "prudence";
+import { p } from "prudence";
import { RejectIfBanned, RequirePermissions } from "server/middleware/auth";
import { CreateMulterSingleUploadMiddleware } from "server/middleware/multer-upload";
import { FormatPrError } from "utils/prudence";
diff --git a/server/src/test-utils/asserts.ts b/server/src/test-utils/asserts.ts
index 2f36f6ed1..d79496ed0 100644
--- a/server/src/test-utils/asserts.ts
+++ b/server/src/test-utils/asserts.ts
@@ -1,4 +1,4 @@
-import Prudence from "prudence";
+import { p } from "prudence";
import type { PrudenceSchema } from "prudence";
export function isApproximately(
@@ -27,7 +27,7 @@ export function prAssert(
schema: PrudenceSchema,
message = "Unnamed Prudence Assertion"
) {
- const err = Prudence(obj, schema);
+ const err = p(obj, schema);
if (err) {
return t.fail(message, err);
diff --git a/server/src/utils/prudence.ts b/server/src/utils/prudence.ts
index 338d513f7..3d7360e14 100644
--- a/server/src/utils/prudence.ts
+++ b/server/src/utils/prudence.ts
@@ -1,4 +1,4 @@
-import p from "prudence";
+import { p } from "prudence";
import type { PrudenceError, ValidSchemaValue } from "prudence";
export function FormatPrError(err: PrudenceError, foreword = "Error") {