Skip to content

Commit

Permalink
Merge pull request #1232 from dank074/patch/eslintConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
MaddyUnderStars authored Nov 14, 2024
2 parents 762287e + f499507 commit 841b361
Show file tree
Hide file tree
Showing 16 changed files with 84 additions and 39 deletions.
7 changes: 0 additions & 7 deletions .eslintignore

This file was deleted.

14 changes: 0 additions & 14 deletions .eslintrc

This file was deleted.

47 changes: 47 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import typescriptEslint from "@typescript-eslint/eslint-plugin";
import globals from "globals";
import tsParser from "@typescript-eslint/parser";
import path from "node:path";
import { fileURLToPath } from "node:url";
import js from "@eslint/js";
import { FlatCompat } from "@eslint/eslintrc";

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});

export default [{
ignores: [
"**/node_modules",
"**/dist",
"**/README.md",
"**/COPYING",
"src/webrtc",
"**/scripts/",
"**/assets",
],
}, ...compat.extends("eslint:recommended", "plugin:@typescript-eslint/recommended"), {
plugins: {
"@typescript-eslint": typescriptEslint,
},

languageOptions: {
globals: {
...globals.node,
},

parser: tsParser,
},

rules: {
"no-mixed-spaces-and-tabs": "off",
"@typescript-eslint/no-inferrable-types": "off", // Required by typeorm
"@typescript-eslint/no-var-requires": "off", // Sometimes requred by typeorm to resolve circular deps
"@typescript-eslint/no-require-imports": "off",
"@typescript-eslint/no-unused-vars": "off",
},
}];
39 changes: 30 additions & 9 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
},
"homepage": "https://spacebar.chat",
"devDependencies": {
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.14.0",
"@types/amqplib": "^0.10.5",
"@types/bcrypt": "^5.0.2",
"@types/body-parser": "^1.19.5",
Expand All @@ -61,6 +63,7 @@
"@typescript-eslint/parser": "^8.12.2",
"eslint": "^9.13.0",
"express": "^4.21.1",
"globals": "^15.12.0",
"husky": "^9.1.6",
"prettier": "^3.3.3",
"pretty-quick": "^4.0.0",
Expand Down
1 change: 0 additions & 1 deletion src/api/middlewares/Authentication.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ export async function Authentication(
req.rights = new Rights(Number(user.rights));
return next();
} catch (error) {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
return next(new HTTPError(error!.toString(), 400));
}
}
1 change: 0 additions & 1 deletion src/api/routes/auth/reset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ router.post(
await User.update({ id: user.id }, data);

// come on, the user has to have an email to reset their password in the first place
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
await Email.sendPasswordChanged(user, user.email!);

res.json({ token: await generateToken(user.id) });
Expand Down
1 change: 0 additions & 1 deletion src/gateway/opcodes/Identify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ export async function onIdentify(this: WebSocket, data: Payload) {
// but we do want almost everything from guild.
// How do you do that without just enumerating the guild props?
guild: Object.fromEntries(
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
getDatabase()!
.getMetadata(Guild)
.columns.map((x) => [x.propertyName, true]),
Expand Down
1 change: 0 additions & 1 deletion src/gateway/opcodes/LazyRequest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@ async function subscribeToMemberEvents(this: WebSocket, user_id: string) {
export async function onLazyRequest(this: WebSocket, { d }: Payload) {
// TODO: check data
check.call(this, LazyRequestSchema, d);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { guild_id, typing, channels, activities, members } =
d as LazyRequestSchema;

Expand Down
1 change: 0 additions & 1 deletion src/gateway/opcodes/VoiceStateUpdate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ export async function onVoiceStateUpdate(this: WebSocket, data: Payload) {
voiceState.token = genVoiceToken();
voiceState.session_id = this.session_id;

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { id, ...newObj } = voiceState;

await Promise.all([
Expand Down
2 changes: 1 addition & 1 deletion src/util/entities/BaseClass.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export class BaseClassWithoutId extends BaseEntity {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
toJSON(): any {
return Object.fromEntries(
// eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/no-non-null-assertion
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
this.metadata!.columns // @ts-ignore
.map((x) => [x.propertyName, this[x.propertyName]])
.concat(
Expand Down
1 change: 0 additions & 1 deletion src/util/schemas/MessageCreateSchema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ export interface MessageCreateSchema {
}

// TypeScript complains once this is used above
// eslint-disable-next-line @typescript-eslint/no-unused-vars
interface PollCreationSchema {
question: PollMedia;
answers: PollAnswer[];
Expand Down
1 change: 1 addition & 0 deletions src/util/schemas/responses/TeamListResponse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@

import { Team } from "@spacebar/util";

// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export interface TeamListResponse extends Array<Team> {}
1 change: 0 additions & 1 deletion src/util/util/AutoUpdate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ export function enableAutoUpdate(opts: {
});
}

// eslint-disable-next-line @typescript-eslint/no-unused-vars
async function download(url: string, dir: string) {
try {
// TODO: use file stream instead of buffer (to prevent crash because of high memory usage for big files)
Expand Down
1 change: 1 addition & 0 deletions src/util/util/Event.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ export async function listenEvent(
};

const listener = (msg: ProcessEvent) => {
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
msg.type === "event" &&
msg.id === event &&
callback({ ...msg.event, cancel });
Expand Down
2 changes: 1 addition & 1 deletion src/util/util/Sentry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export const Sentry = {
Integrations.setupExpressErrorHandler(app);

// The typings for this are broken?
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars
// eslint-disable-next-line @typescript-eslint/no-explicit-any
app.use(function onError(err: any, req: any, res: any, next: any) {
res.statusCode = 500;
res.end(res.sentry + "\n");
Expand Down

0 comments on commit 841b361

Please sign in to comment.