Server/project/.eslintrc.json
Refringe 4ac12ef70a Formatting/Linting Changes (!168)
These are the formatting & linting configuration changes from the `3.8.0` branch and the changes that they make to the overall project.

The majority of these changes are from running two commands:

`npm run lint:fix`
`npm run style:fix`

This has already been run on the `3.8.0` branch and this PR should make `master` play nicer when it comes to merges going forward.

There are now four VSCode plugins recommended for server development. They've been added to the workspace file and a user should get a UI notification when the workspace is opened if they're not installed.

The four plugins are:
https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig
https://marketplace.visualstudio.com/items?itemName=dprint.dprint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=biomejs.biome

Once installed they should just work within the workspace.

Also, be sure to `npm i` to get the new dprint application.

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/168
2023-11-16 21:42:06 +00:00

63 lines
1.9 KiB
JSON

{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
"env": {
"node": true
},
"extends": [
"plugin:@typescript-eslint/eslint-recommended"
],
"rules": {
"@typescript-eslint/no-namespace": "off",
"@typescript-eslint/no-empty-interface": "off",
"@typescript-eslint/no-explicit-any": "off", // We use a bunch of these.
"@typescript-eslint/no-unused-vars": "off", // Typescript compiler already checks--Will grey out variable.
"@typescript-eslint/no-var-requires": "error",
"@typescript-eslint/explicit-module-boundary-types": ["error", { "allowArgumentsExplicitlyTypedAsAny": true }],
"@typescript-eslint/naming-convention": ["error", {
"selector": "default",
"format": ["camelCase"],
"leadingUnderscore": "allow"
}, {
"selector": "typeLike",
"format": ["PascalCase"]
}, {
"selector": "objectLiteralProperty",
"format": ["PascalCase", "camelCase", "snake_case"],
"leadingUnderscore": "allow"
}, {
"selector": "typeProperty",
"format": ["PascalCase", "camelCase"],
"leadingUnderscore": "allow"
}, {
"selector": "enumMember",
"format": ["UPPER_CASE"]
}, {
"selector": "property",
"modifiers": ["readonly", "static"],
"format": ["UPPER_CASE"]
}]
},
"overrides": [{
"files": [
"src/loaders/**/*.ts"
],
"rules": {
"@typescript-eslint/no-var-requires": "off"
}
}, {
"files": [
"**/vitest.config.ts"
],
"rules": {
"@typescript-eslint/naming-convention": ["error", {
"selector": "objectLiteralProperty",
"format": null
}]
}
}]
}