Fix code style errors

Remove extra whitespace, use more consistent spacing, add missing
semicolons, using dangling commas, break up long lines, consistent
multiline operator placement, add missing JSDoc strings and so on.
This commit is contained in:
Hornwitser committed 2023-11-19 04:48:38 +01:00
1 parent 97e05c0610
commit 7314dc99c8
71 files changed
+403 -290

No files matched your search

+6 -6
View File
@@ -254,7 +254,7 @@ export default class ControlConnection extends BaseConnection {
assigned_host = undefined;
}
let game_port: number|null|undefined = instance.game_port
let game_port: number|null|undefined = instance.game_port;
if (game_port === null) {
game_port = undefined;
}
@@ -275,8 +275,8 @@ export default class ControlConnection extends BaseConnection {
if (assigned_host === null) {
assigned_host = undefined;
}
let game_port: number|null|undefined = instance.game_port
let game_port: number|null|undefined = instance.game_port;
if (game_port === null) {
game_port = undefined;
}
@@ -434,7 +434,7 @@ export default class ControlConnection extends BaseConnection {
async handleModPackCreateRequest(request: lib.ModPackCreateRequest) {
let modPack = request.modPack;
if (modPack.id === undefined) {
throw new lib.RequestError(`Mod pack need an ID to be created`);
throw new lib.RequestError("Mod pack need an ID to be created");
}
if (this._controller.modPacks!.has(modPack.id)) {
throw new lib.RequestError(`Mod pack with ID ${modPack.id} already exist`);
@@ -589,7 +589,7 @@ export default class ControlConnection extends BaseConnection {
}
async handleLogSetSubscriptionsRequest(request: lib.LogSetSubscriptionsRequest) {
this.logSubscriptions = {
this.logSubscriptions = {
all: request.all || false,
controller: request.controller || false,
hostIds: request.hostIds || [],
@@ -622,7 +622,7 @@ export default class ControlConnection extends BaseConnection {
controller: request.controller,
hostIds: request.hostIds,
instanceIds: request.instanceIds,
}
};
let observeDuration = queryLogTime.startTimer();
let { all, controller, hostIds, instanceIds } = request;
+14 -11
View File
@@ -77,7 +77,7 @@ export default class Controller {
/** Event subscription controller */
subscriptions: lib.SubscriptionController;
// Possible states are new, starting, running, stopping, stopped
private _state: string = "new";
private _shouldStop: boolean = false;
@@ -87,7 +87,7 @@ export default class Controller {
_snoopedEvents = new Map();
devMiddleware: any | null = null;
logDirectory: string = "";
clusterLogIndex: lib.LogIndex | null = null;
clusterLogBuildInterval: ReturnType<typeof setInterval> | null = null;
@@ -157,7 +157,7 @@ export default class Controller {
async _startInternal(args: ControllerArgs) {
this.logDirectory = args.logDirectory;
this.clusterLogIndex = await lib.LogIndex.load(path.join(this.logDirectory, "cluster"));
this.clusterLogBuildInterval = setInterval(() => {
if (this.clusterLogIndex) {
this.clusterLogIndex.buildIndex().catch(
@@ -239,7 +239,7 @@ export default class Controller {
Controller.addAppRoutes(this.app, this.pluginInfos);
if (!args.dev) {
let manifestPath = path.join(__dirname, "..", "..", "web", "manifest.json")
let manifestPath = path.join(__dirname, "..", "..", "web", "manifest.json");
let manifest = await Controller.loadJsonObject(manifestPath);
if (!manifest["main.js"]) {
@@ -365,7 +365,7 @@ export default class Controller {
static async loadHosts(filePath: string): Promise<Map<number, HostInfo>> {
let serialized: [number, HostInfo][];
try {
serialized = JSON.parse(await fs.readFile(filePath, { encoding: 'utf8' }));
serialized = JSON.parse(await fs.readFile(filePath, { encoding: "utf8" }));
} catch (err: any) {
if (err.code !== "ENOENT") {
@@ -425,7 +425,7 @@ export default class Controller {
static async loadModPacks(filePath: string): Promise<Map<number, lib.ModPack>> {
let json;
try {
json = JSON.parse(await fs.readFile(filePath, { encoding : "utf8" }));
json = JSON.parse(await fs.readFile(filePath, { encoding: "utf8" }));
} catch (err: any) {
if (err.code !== "ENOENT") {
throw err;
@@ -439,7 +439,7 @@ export default class Controller {
await lib.safeOutputFile(filePath, JSON.stringify([...modPacks.values()], null, 4));
}
static async loadModInfos(modsDirectory: string): Promise<Map<string,lib.ModInfo>> {
static async loadModInfos(modsDirectory: string): Promise<Map<string, lib.ModInfo>> {
let mods = new Map();
for (let entry of await fs.readdir(modsDirectory, { withFileTypes: true })) {
if (entry.isDirectory()) {
@@ -476,7 +476,7 @@ export default class Controller {
static async loadJsonObject(filePath: string, throwOnMissing: boolean = false): Promise<any> {
let manifest = {};
try {
manifest = JSON.parse(await fs.readFile(filePath, { encoding: 'utf8' }));
manifest = JSON.parse(await fs.readFile(filePath, { encoding: "utf8" }));
} catch (err: any) {
if (!throwOnMissing && err.code !== "ENOENT") {
throw err;
@@ -543,7 +543,9 @@ export default class Controller {
// Set folder to serve static content from (the website)
const staticOptions = { immutable: true, maxAge: 1000 * 86400 * 365 };
app.use("/static", express.static(path.join(__dirname, "..", "..", "..", "dist", "web", "static"), staticOptions));
app.use("/static",
express.static(path.join(__dirname, "..", "..", "..", "dist", "web", "static"), staticOptions)
);
app.use("/static", express.static("static", staticOptions)); // Used for data export files
// Add API routes
@@ -595,9 +597,10 @@ export default class Controller {
* Get instance by ID for a request
*
* @param instanceId - ID of instance to get.
* @returns Info for the given instance if it exists
* @throws {module:lib.RequestError} if the instance does not exist.
*/
getRequestInstance(instanceId:number):InstanceInfo {
getRequestInstance(instanceId:number): InstanceInfo {
let instance = this.instances!.get(instanceId);
if (!instance) {
throw new lib.RequestError(`Instance with ID ${instanceId} does not exist`);
@@ -773,7 +776,7 @@ export default class Controller {
assigned_host = undefined;
}
let game_port: number|null|undefined = instance.game_port
let game_port: number|null|undefined = instance.game_port;
if (game_port === null) {
game_port = undefined;
}
+4 -2
View File
@@ -46,7 +46,7 @@ export default class HostConnection extends BaseConnection {
this.plugins = new Map(Object.entries(registerData.plugins));
this._checkPluginVersions();
let currentHostInfo = this._controller.hosts!.get(this._id)
let currentHostInfo = this._controller.hosts!.get(this._id);
this._controller.hosts!.set(this._id, {
agent: this._agent,
@@ -223,7 +223,9 @@ export default class HostConnection extends BaseConnection {
}
instanceConfig.set("instance.assigned_host", this._id);
let newInstance = new InstanceInfo({ config: instanceConfig, status: instanceData.status as InstanceStatus });
let newInstance = new InstanceInfo(
{ config: instanceConfig, status: instanceData.status as InstanceStatus }
);
this._controller.instances!.set(instanceConfig.get("instance.id"), newInstance);
this._controller.addInstanceHooks(newInstance);
await this.send(
+2 -1
View File
@@ -26,7 +26,8 @@ export default class HttpCloser {
private _responses: Set<http.ServerResponse>;
/**
* Server to attach this closer to.
* Create HttpCloser attached to a server.
* @param server - Node.js HTTP(S) server to attach to.
*/
constructor(server: http.Server | https.Server) {
this._server = server;
+1 -1
View File
@@ -14,7 +14,7 @@ import type * as lib from "@clusterio/lib";
* - `exporting_data`: Instance is in the process of exporting game data.
* - `deleted`: Instance has been deleted.
*/
export type InstanceStatus =
export type InstanceStatus =
"unknown" | "unassigned" | "stopped" | "starting" | "running" |
"stopping" | "creating_save" | "exporting_data" | "deleted";
+3 -2
View File
@@ -18,7 +18,7 @@ export default class UserManager {
async load(filePath: string): Promise<void> {
try {
let content = JSON.parse(await fs.readFile(filePath, { encoding: 'utf8' }));
let content = JSON.parse(await fs.readFile(filePath, { encoding: "utf8" }));
for (let serializedRole of content.roles) {
let role = new lib.Role(serializedRole);
this.roles.set(role.id, role);
@@ -65,6 +65,7 @@ export default class UserManager {
/**
* Creates a new user and add it to the user database.
* @param name - Name of the user to create.
* @returns The created user.
*/
createUser(name:string): lib.User {
if (this.users.has(name)) {
@@ -74,7 +75,7 @@ export default class UserManager {
let roles = [];
let defaultRoleId = this._config.get("controller.default_role_id");
if (defaultRoleId !== null) {
roles.push(defaultRoleId)
roles.push(defaultRoleId);
}
let user = new lib.User({ name, roles }, this.roles);
+3 -1
View File
@@ -54,7 +54,9 @@ export default class WsServer {
noServer: true,
path: "/api/socket",
});
this.wss.on("connection", (socket: lib.WebSocketClusterio, req: IncomingMessage) => this.handleConnection(socket, req));
this.wss.on("connection",
(socket: lib.WebSocketClusterio, req: IncomingMessage) => this.handleConnection(socket, req),
);
}
async stop(): Promise<void> {
+1 -1
View File
@@ -12,4 +12,4 @@ endpointHitCounter.labels = util.deprecate(
"incrementing endpointHitCounter is no longer needed and has no effect"
);
export default endpointHitCounter
export default endpointHitCounter;
+20 -16
View File
@@ -34,7 +34,7 @@ function mergeSamples(destinationResult: any, sourceResult: any) {
// Prometheus polling endpoint
async function getMetrics(req: Request, res: Response, next: any) {
const controller: Controller = req.app.locals.controller
const controller: Controller = req.app.locals.controller;
let results: any[] = [];
let pluginResults: any[] = await lib.invokeHook(controller.plugins, "onMetrics");
@@ -93,7 +93,7 @@ async function getMetrics(req: Request, res: Response, next: any) {
// lib.exposition expect AsyncIterable<CollectorResult> as parameter.
// Should wrap results into a Generator functions ?
// @ts-ignore
// @ts-ignore
let text = await lib.exposition(results);
res.set("Content-Type", lib.exposition.contentType);
res.send(text);
@@ -426,28 +426,29 @@ async function uploadSave(req: Request, res: Response) {
if (contentMime === "multipart/form-data") {
await new Promise(resolve => {
let instanceId:number | undefined;
let parser = busboy({ headers: req.headers });
parser.on("file", (name: string, stream: nodeStream.Readable, { filename, mimeType }: { filename: string, mimeType: string } ) => {
let instanceId: number | undefined;
function fileHandler(
name: string,
stream: nodeStream.Readable,
{ filename, mimeType }: { filename: string, mimeType: string }
) {
if (instanceId === undefined) {
requestErrors.push("instance_id must come before files uploaded");
}
if (!zipMimes.includes(mimeType)) {
requestErrors.push("invalid file Content-Type");
}
if (!filename.endsWith(".zip")) {
requestErrors.push("filename must end with .zip");
}
if (errors.length || requestErrors.length) {
stream.resume();
return;
}
tasks.push(handleFile(instanceId as number, stream, filename, mimeType));
});
}
let parser = busboy({ headers: req.headers });
parser.on("file", fileHandler);
parser.on("field", (name, value, info) => {
if (name === "instance_id") {
instanceId = Number.parseInt(value, 10);
@@ -593,23 +594,26 @@ async function uploadMod(req: Request, res: Response) {
if (contentMime === "multipart/form-data") {
await new Promise(resolve => {
let parser = busboy({ headers: req.headers });
parser.on("file", (name:string, stream: nodeStream.Readable, { filename, mimeType }: { filename: string, mimeType: string }) => {
function fileHandler(
name: string,
stream: nodeStream.Readable,
{ filename, mimeType }: { filename: string, mimeType: string }
) {
if (!zipMimes.includes(mimeType)) {
requestErrors.push("invalid file Content-Type");
}
if (!filename.endsWith(".zip")) {
requestErrors.push("filename must end with .zip");
}
if (errors.length || requestErrors.length) {
stream.resume();
return;
}
tasks.push(handleFile(stream, filename));
});
}
let parser = busboy({ headers: req.headers });
parser.on("file", fileHandler);
parser.on("close", resolve);
parser.on("error", (err: any) => {
logger.error(`Error parsing multipart request in upload-mod:\n${err.stack}`);