improve: ensure 'npm run lint' passes without errors (#249)

This commit is contained in:
Sainan 2024-06-01 13:03:27 +02:00 committed by GitHub
parent f83f80c991
commit e3f543d9be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 29 additions and 24 deletions

View File

@ -4,22 +4,27 @@
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"plugins": ["@typescript-eslint", "prettier"],
"plugins": ["@typescript-eslint"],
"env": {
"browser": true,
"es6": true,
"node": true
},
"rules": {
"prettier/prettier": "error",
"@typescript-eslint/semi": ["error"],
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/explicit-function-return-type": "warn",
"@typescript-eslint/explicit-module-boundary-types": "warn",
"@typescript-eslint/restrict-template-expressions": "warn",
"@typescript-eslint/restrict-plus-operands": "warn",
"@typescript-eslint/no-unsafe-member-access": "warn",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
"no-case-declarations": "off"
"@typescript-eslint/no-misused-promises": "warn",
"@typescript-eslint/no-unsafe-argument": "warn",
"@typescript-eslint/no-unsafe-call": "warn",
"@typescript-eslint/no-unsafe-assignment": "warn",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-loss-of-precision": "warn",
"no-case-declarations": "warn"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {

View File

@ -18,3 +18,4 @@ jobs:
- run: cp config.json.example config.json
- run: echo '{"version":"","buildLabel":"","matchmakingBuildId":""}' > static/data/buildConfig.json
- run: npm run build
- run: npm run lint

View File

@ -1,4 +1,3 @@
import { parseString } from "@/src/helpers/general";
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { upgradeMod } from "@/src/services/inventoryService";

View File

@ -8,7 +8,6 @@ import { IOid } from "@/src/types/commonTypes";
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { getInventory } from "@/src/services/inventoryService";
import { IInventoryDatabase } from "@/src/types/inventoryTypes/inventoryTypes";
export interface IClaimCompletedRecipeRequest {
RecipeIds: IOid[];

View File

@ -23,7 +23,7 @@ export const getGuildDojoController: RequestHandler = async (req, res) => {
CompletionTime: new Date(Date.now())
}
];
guild.save();
await guild.save();
}
const dojo: IDojoClient = {

View File

@ -4,7 +4,6 @@ import allShipFeatures from "@/static/fixed_responses/allShipFeatures.json";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { getPersonalRooms } from "@/src/services/personalRoomsService";
import { getShip } from "@/src/services/shipService";
import { PersonalRooms } from "@/src/models/personalRoomsModel";
import { Loadout } from "@/src/models/inventoryModels/loadoutModel";
import { logger } from "@/src/utils/logger";
import { toOid } from "@/src/helpers/inventoryHelpers";

View File

@ -56,7 +56,7 @@ const inventoryController: RequestHandler = async (request: Request, response: R
if (config.unlockAllSkins) {
inventoryResponse.WeaponSkins = [];
for (let skin of allSkins) {
for (const skin of allSkins) {
inventoryResponse.WeaponSkins.push({
ItemId: {
$oid: "000000000000000000000000"

View File

@ -66,7 +66,7 @@ const loginController: RequestHandler = async (request, response) => {
if (account.Nonce == 0 || loginRequest.ClientType != "webui") {
account.Nonce = nonce;
account.save();
await account.save();
}
const { email, password, ...databaseAccount } = account.toJSON();

View File

@ -1,14 +1,13 @@
import { RequestHandler } from "express";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { Account } from "@/src/models/loginModel";
import { IDatabaseAccountDocument } from "@/src/types/loginTypes";
const logoutController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const account = await Account.findOne({ _id: accountId });
if (account) {
account.Nonce = 0;
account.save();
await account.save();
}
res.writeHead(200, {
"Content-Type": "text/html",

View File

@ -13,7 +13,7 @@ const updateChallengeProgressController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId);
addChallenges(inventory, payload.ChallengeProgress);
inventory.save();
await inventory.save();
res.status(200).end();
};

View File

@ -15,7 +15,7 @@ export const upgradesController: RequestHandler = async (req, res) => {
operation.UpgradeRequirement == "/Lotus/Types/Items/MiscItems/ModSlotUnlocker" ||
operation.UpgradeRequirement == "/Lotus/Types/Items/MiscItems/CustomizationSlotUnlocker"
) {
updateCurrency(10, true, accountId);
await updateCurrency(10, true, accountId);
} else {
addMiscItems(inventory, [
{

View File

@ -8,7 +8,7 @@ import allScans from "@/static/fixed_responses/allScans.json";
const viewController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const inventory = await Inventory.findOne({ accountOwnerId: req.query.accountId });
const inventory = await Inventory.findOne({ accountOwnerId: accountId });
if (!inventory) {
res.status(400).json({ error: "inventory was undefined" });
return;

View File

@ -1,4 +1,4 @@
import { isString, parseString } from "@/src/helpers/general";
import { isString } from "@/src/helpers/general";
import { items } from "@/src/services/itemDataService";
export enum ItemType {

View File

@ -20,9 +20,8 @@ const httpsPort = config.httpsPort || 443;
// const server = http.createServer(app).listen(80);
http.createServer(app).listen(httpPort, () => logger.info("HTTP server started on port " + httpPort));
const server = https
.createServer(options, app)
.listen(httpsPort, () => logger.info("HTTPS server started on port " + httpsPort));
const server = https.createServer(options, app);
server.listen(httpsPort, () => logger.info("HTTPS server started on port " + httpsPort));
// server.keepAliveTimeout = 60 * 1000 + 1000;
// server.headersTimeout = 60 * 1000 + 2000;

View File

@ -1016,6 +1016,7 @@ type InventoryDocumentProps = {
PendingRecipes: Types.DocumentArray<IPendingRecipeDatabase>;
};
// eslint-disable-next-line @typescript-eslint/ban-types
type InventoryModelType = Model<IInventoryDatabase, {}, InventoryDocumentProps>;
export const Inventory = model<IInventoryDatabase, InventoryModelType>("Inventory", inventorySchema);

View File

@ -89,6 +89,7 @@ type loadoutDocumentProps = {
DRIFTER: Types.DocumentArray<ILoadoutConfigDatabase>;
};
// eslint-disable-next-line @typescript-eslint/ban-types
type loadoutModelType = Model<ILoadoutDatabase, {}, loadoutDocumentProps>;
export const Loadout = model<ILoadoutDatabase, loadoutModelType>("Loadout", loadoutSchema);

View File

@ -1,6 +1,7 @@
// Hooks node to support require from "@/" paths for `npm run build && npm run start`.
// Based on https://github.com/dividab/tsconfig-paths
/* eslint-disable */
const Module = require("module");
const originalResolveFilename = Module._resolveFilename;
Module._resolveFilename = function (request: string, _parent: any): string {

View File

@ -26,4 +26,5 @@ export type PersonalRoomsDocumentProps = {
};
};
// eslint-disable-next-line @typescript-eslint/ban-types
export type PersonalRoomsModelType = Model<IPersonalRooms, {}, PersonalRoomsDocumentProps>;

View File

@ -80,5 +80,5 @@ export interface IUpgradeOperation {
UpgradeRequirement: string; // uniqueName of item being consumed
PolarizeSlot: number;
PolarizeValue: FocusSchool;
PolarityRemap: {}[];
PolarityRemap: object[];
}