Added Eslint GitHub Action and Prettier

This commit is contained in:
Ahmad 2024-12-21 18:13:18 -05:00
parent d8df48438d
commit 512b7526ab
No known key found for this signature in database
GPG key ID: 8FD8A93530D182BF
21 changed files with 480 additions and 293 deletions

View file

@ -1,10 +1,10 @@
import path from "node:path";
import { fileURLToPath } from "node:url";
import js from "@eslint/js";
import globals from "globals";
import { FlatCompat } from "@eslint/eslintrc";
import tsParser from "@typescript-eslint/parser";
import typescriptEslint from "@typescript-eslint/eslint-plugin";
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import js from '@eslint/js';
import globals from 'globals';
import { FlatCompat } from '@eslint/eslintrc';
import tsParser from '@typescript-eslint/parser';
import typescriptEslint from '@typescript-eslint/eslint-plugin';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
@ -15,21 +15,21 @@ const compat = new FlatCompat({
});
export default [
...compat.extends("eslint:recommended"),
...compat.extends('eslint:recommended', 'prettier'),
{
files: ["**/*.ts"],
files: ['**/*.ts'],
plugins: {
"@typescript-eslint": typescriptEslint,
'@typescript-eslint': typescriptEslint,
},
languageOptions: {
ecmaVersion: 5,
sourceType: "script",
sourceType: 'script',
parser: tsParser,
parserOptions: {
project: "./tsconfig.json",
project: './tsconfig.json',
},
globals: {
...globals.node,
@ -37,54 +37,54 @@ export default [
},
rules: {
"arrow-spacing": [
"warn",
'arrow-spacing': [
'warn',
{
before: true,
after: true,
},
],
"brace-style": [
"error",
"stroustrup",
'brace-style': [
'error',
'stroustrup',
{
allowSingleLine: true,
},
],
"comma-dangle": ["error", "always-multiline"],
"comma-spacing": "error",
"comma-style": "error",
curly: ["error", "multi-line", "consistent"],
"dot-location": ["error", "property"],
"handle-callback-err": "off",
indent: ["error", 2],
"keyword-spacing": "error",
'comma-dangle': ['error', 'always-multiline'],
'comma-spacing': 'error',
'comma-style': 'error',
curly: ['error', 'multi-line', 'consistent'],
'dot-location': ['error', 'property'],
'handle-callback-err': 'off',
indent: ['error', 2],
'keyword-spacing': 'error',
"max-nested-callbacks": [
"error",
'max-nested-callbacks': [
'error',
{
max: 4,
},
],
"max-statements-per-line": [
"error",
'max-statements-per-line': [
'error',
{
max: 2,
},
],
"no-console": "off",
"no-empty-function": "error",
"no-floating-decimal": "error",
"no-inline-comments": "error",
"no-lonely-if": "error",
"no-multi-spaces": "error",
'no-console': 'off',
'no-empty-function': 'error',
'no-floating-decimal': 'error',
'no-inline-comments': 'error',
'no-lonely-if': 'error',
'no-multi-spaces': 'error',
"no-multiple-empty-lines": [
"error",
'no-multiple-empty-lines': [
'error',
{
max: 2,
maxEOF: 1,
@ -92,38 +92,38 @@ export default [
},
],
"no-shadow": [
"error",
'no-shadow': [
'error',
{
allow: ["err", "resolve", "reject"],
allow: ['err', 'resolve', 'reject'],
},
],
"no-trailing-spaces": ["error"],
"no-var": "error",
"object-curly-spacing": ["error", "always"],
"prefer-const": "error",
quotes: ["warn", "single"],
semi: ["error", "always"],
"space-before-blocks": "error",
'no-trailing-spaces': ['error'],
'no-var': 'error',
'object-curly-spacing': ['error', 'always'],
'prefer-const': 'error',
quotes: ['warn', 'single'],
semi: ['error', 'always'],
'space-before-blocks': 'error',
"space-before-function-paren": [
"error",
'space-before-function-paren': [
'error',
{
anonymous: "never",
named: "never",
asyncArrow: "always",
anonymous: 'never',
named: 'never',
asyncArrow: 'always',
},
],
"space-in-parens": "error",
"space-infix-ops": "error",
"space-unary-ops": "error",
"spaced-comment": "error",
yoda: "error",
'space-in-parens': 'error',
'space-infix-ops': 'error',
'space-unary-ops': 'error',
'spaced-comment': 'error',
yoda: 'error',
"no-redeclare": "off",
"no-unused-vars": "off", // This is causing issues
'no-redeclare': 'off',
'no-unused-vars': 'off', // This is causing issues
},
},
];