Adds Biome - Removes ESLint & Prettier (!383)
Boogidy, boogidy, boogidy. Let's go racing! 🏎️ Removes the over-complicated and super-slow setup we had with ESLint & Prettier in favour of Biome. The largest change with the formatting is moving from Allman braces to 1TBS braces. Other than that, it's *pretty much* the same. Ah, and that Biome runs formatting and linting on the entire project about x10 faster than the old system ran formatting on one file. Seriously, the guy who came up with that last solution should be fired. :runs: I've kept all of the formatting and linting commands the same as before, with the main mamma-jamma being: `npm run format`, which applies formatting and linting changes to the entire project. Formatting-on-save works (quickly!) by (1) ensuring that you're working within the VSC workspace (as you should be), and (2) have the recommended Biome VSC extension installed. The link to the Biome extension is in the README. This limits our options on code formatting going forward; Biome, like prettier, is very opinionated with very few formatting options available. But I see this as a good thing. I'd rather spend my time arguing about which gun in Tarkov is the best, rather than coding brace styles... ...It's the TOZ, and it always will be. Don't DM me. Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com> Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/383 Co-authored-by: Refringe <me@refringe.com> Co-committed-by: Refringe <me@refringe.com> # Conflicts: # project/src/callbacks/GameCallbacks.ts # project/src/callbacks/MatchCallbacks.ts # project/src/routers/static/GameStaticRouter.ts Resolved by Refringe
This commit is contained in:
parent
6613d997cc
commit
afda0d5255
52
README.md
52
README.md
@ -33,9 +33,7 @@ There are a number of VSC extensions that we recommended for this project. VSC w
|
||||
- [EditorConfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) - Editor Settings Synchronization
|
||||
- [Vitest](https://marketplace.visualstudio.com/items?itemName=vitest.explorer) - Debugging Tests
|
||||
- [SPT ID Highlighter](https://marketplace.visualstudio.com/items?itemName=refringe.spt-id-highlighter) - Converts IDs to Names
|
||||
- [Format Code Action](https://marketplace.visualstudio.com/items?itemName=rohit-gohri.format-code-action) - Custom Format-on-save Actions
|
||||
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - Code Formatting
|
||||
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - Linting for Coding Issues & Naming Conventions
|
||||
- [Biome](https://marketplace.visualstudio.com/items?itemName=biomejs.biome) - Automatic Formatting & Code Standards Linting
|
||||
|
||||
### Initial Setup
|
||||
|
||||
@ -53,27 +51,27 @@ To prepare the project for development you will need to:
|
||||
|
||||
The following commands are available after the initial setup. Run them with `npm run <command>`.
|
||||
|
||||
| Command | Description |
|
||||
| -------------------- | ----------------------------------------------------------------------------- |
|
||||
| `check:circular` | Check for circular dependencies in the project. |
|
||||
| `lint` | Check the project for coding standards and post-Prettier formatting issues. |
|
||||
| `lint:fix` | Automatically fix coding standard issues and post-Prettier formatting issues. |
|
||||
| `style` | Check the project for coding standards and post-Prettier formatting issues. |
|
||||
| `style:fix` | Automatically fix coding standard issues and post-Prettier formatting issues. |
|
||||
| `format` | Run Prettier and then ESLint Stylistic to fix code formatting. |
|
||||
| `test` | Run all tests. |
|
||||
| `test:watch` | Run tests in watch mode. Tests will re-run when files are changed. |
|
||||
| `test:coverage` | Run tests and generate a coverage report. |
|
||||
| `test:ui` | Run tests in UI mode. This will open a browser window to view tests. |
|
||||
| `build:release` | Build the project for release. |
|
||||
| `build:debug` | Build the project for debugging. |
|
||||
| `build:bleeding` | Build the project on the bleeding edge. |
|
||||
| `build:bleedingmods` | Build the project on the bleeding edge with mods. |
|
||||
| `run:build` | Run the project in build mode. |
|
||||
| `run:debug` | Run the project in debug mode. |
|
||||
| `run:profiler` | Run the project in profiler mode. |
|
||||
| `gen:types` | Generate types for the project. |
|
||||
| `gen:docs` | Generate documentation for the project. |
|
||||
| Command | Description |
|
||||
| -------------------- | ------------------------------------------------------------------------- |
|
||||
| `check:circular` | Check for circular dependencies in the project. |
|
||||
| `lint` | Check the project for coding standards issues using Biome. |
|
||||
| `lint:fix` | Automatically fix coding standards issues using Biome. |
|
||||
| `style` | Check the project for formatting issues using Biome. |
|
||||
| `style:fix` | Automatically fix formatting issues using Biome. |
|
||||
| `format` | Automatically fix all coding standards and formatting issues using Biome. |
|
||||
| `test` | Run all tests. |
|
||||
| `test:watch` | Run tests in watch mode. Tests will re-run when files are changed. |
|
||||
| `test:coverage` | Run tests and generate a coverage report. |
|
||||
| `test:ui` | Run tests in UI mode. This will open a browser window to view tests. |
|
||||
| `build:release` | Build the project for release. |
|
||||
| `build:debug` | Build the project for debugging. |
|
||||
| `build:bleeding` | Build the project on the bleeding edge. |
|
||||
| `build:bleedingmods` | Build the project on the bleeding edge with mods. |
|
||||
| `run:build` | Run the project in build mode. |
|
||||
| `run:debug` | Run the project in debug mode. |
|
||||
| `run:profiler` | Run the project in profiler mode. |
|
||||
| `gen:types` | Generate types for the project. |
|
||||
| `gen:docs` | Generate documentation for the project. |
|
||||
|
||||
### Debugging
|
||||
|
||||
@ -91,9 +89,9 @@ We're really excited that you're interested in contributing! Before submitting y
|
||||
|
||||
- **master**
|
||||
The default branch used for the latest stable release. This branch is protected and typically is only merges with release branches.
|
||||
- **3.9.0-DEV**
|
||||
- **3.9.4-DEV**
|
||||
Development for the next minor release of SPT. Minor releases target the latest version of EFT. Late in the minor release cycle the EFT version is frozen for stability to prepare for release. Larger changes to the project structure may be included in minor releases.
|
||||
- **3.8.4-DEV**
|
||||
- **3.10.0-DEV**
|
||||
Development for the next hotfix release of SPT. Hotfix releases include bug fixes and minor features that do not effect the coding structure of the project. Special care is taken to not break server mod stability. These always target the same version of EFT as the last minor release.
|
||||
|
||||
### Pull Request Guidelines
|
||||
@ -111,7 +109,7 @@ We're really excited that you're interested in contributing! Before submitting y
|
||||
|
||||
### Style Guide
|
||||
|
||||
We use a combination of Prettier and ESLint Stylistic to enforce a consistent code style. Please run `npm run format` before submitting your changes. This is made easier by using the recommended VSC extensions to automatically format your code whenever you save a file.
|
||||
We use Biome to enforce a consistent code style. Please run `npm run format` before submitting any changes. This is made easier by opening the VSC workspace and installing the recommended VSC extensions; this will ensure that your code is automatically formatted whenever you save a file.
|
||||
|
||||
### Tests
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
# Exclude these folders from linting
|
||||
node_modules/
|
||||
out/
|
||||
obj/
|
||||
build/
|
||||
types/
|
||||
user/mods/
|
||||
|
||||
# Exclude these filetypes from linting
|
||||
*.json
|
||||
*.png
|
||||
*.ico
|
||||
*.jpg
|
||||
*.txt
|
||||
*.exe
|
@ -1,118 +0,0 @@
|
||||
{
|
||||
"extends": [
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:@stylistic/recommended-extends",
|
||||
"plugin:import/recommended",
|
||||
"plugin:import/typescript",
|
||||
"prettier"
|
||||
],
|
||||
"plugins": ["@typescript-eslint", "@stylistic", "import", "unused-imports", "switch-allman"],
|
||||
"settings": {
|
||||
"import/resolver": {
|
||||
"typescript": {
|
||||
"project": "tsconfig.json"
|
||||
},
|
||||
"node": {
|
||||
"extensions": [".ts", ".mjs"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-dynamic-delete": "off",
|
||||
"@typescript-eslint/no-unused-vars": "off",
|
||||
"@typescript-eslint/no-empty-interface": "off",
|
||||
"@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"]
|
||||
}
|
||||
],
|
||||
"@stylistic/indent": ["error", 4, { "MemberExpression": 1, "SwitchCase": 1 }],
|
||||
"@stylistic/brace-style": ["error", "allman", { "allowSingleLine": false }],
|
||||
"@stylistic/semi": ["error", "always"],
|
||||
"@stylistic/quotes": ["error", "double", { "avoidEscape": true }],
|
||||
"@stylistic/operator-linebreak": ["error", "before"],
|
||||
"@stylistic/arrow-parens": ["error", "always"],
|
||||
"@stylistic/max-len": [
|
||||
"warn",
|
||||
{
|
||||
"code": 121, // +1 to prevent conflicts with Prettier rule.
|
||||
"tabWidth": 4,
|
||||
"ignoreComments": true,
|
||||
"ignoreTrailingComments": true,
|
||||
"ignoreUrls": true,
|
||||
"ignoreStrings": true,
|
||||
"ignoreTemplateLiterals": true,
|
||||
"ignoreRegExpLiterals": true
|
||||
}
|
||||
],
|
||||
"@stylistic/multiline-ternary": ["error", "always-multiline"],
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
"groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
|
||||
"pathGroups": [
|
||||
{
|
||||
"pattern": "tsyringe",
|
||||
"group": "builtin",
|
||||
"position": "before"
|
||||
}
|
||||
],
|
||||
"newlines-between": "never",
|
||||
"alphabetize": {
|
||||
"order": "asc",
|
||||
"caseInsensitive": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"unused-imports/no-unused-imports-ts": "error",
|
||||
"switch-allman/case-allman": "error"
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["src/di/**/*.ts"],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-extraneous-class": "off"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["src/loaders/**/*.ts"],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-var-requires": "off"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
**/.git
|
||||
**/.pkg-cache
|
||||
**/.vscode
|
||||
**/build
|
||||
**/node_modules
|
||||
**/types
|
||||
**/tests/__cache__
|
||||
**/tests/__coverage__
|
||||
.editorconfig
|
||||
src/services/ModCompilerService.ts
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"quoteProps": "consistent"
|
||||
}
|
@ -1,26 +1,25 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": ".",
|
||||
},
|
||||
"path": "."
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"window.title": "SPT Server",
|
||||
"editor.formatOnSave": false, // We use an extension to format on save.
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.codeActionsOnSave": ["source.formatDocument", "source.fixAll.eslint"],
|
||||
"eslint.debug": false,
|
||||
"eslint.experimental.useFlatConfig": false,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "biomejs.biome",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.organizeImports.biome": "explicit",
|
||||
"quickfix.biome": "explicit"
|
||||
}
|
||||
},
|
||||
"extensions": {
|
||||
"recommendations": [
|
||||
"EditorConfig.EditorConfig", // EditorConfig file format support.
|
||||
"EditorConfig.EditorConfig", // EditorConfig file support.
|
||||
"vitest.explorer", // ViTest test runner.
|
||||
"refringe.spt-id-highlighter", // Highly SPT IDs.
|
||||
"rohit-gohri.format-code-action", // Custom format on save actions.
|
||||
"esbenp.prettier-vscode", // Prettier code formatter.
|
||||
"dbaeumer.vscode-eslint", // ESLint code linter and formatter.
|
||||
],
|
||||
"refringe.spt-id-highlighter", // SPT ID information of hover.
|
||||
"biomejs.biome" // Biome code formatting, linting, and refactoring.
|
||||
]
|
||||
},
|
||||
"launch": {
|
||||
"version": "0.2.0",
|
||||
@ -35,7 +34,7 @@
|
||||
"runtimeArgs": ["run", "run:debug"],
|
||||
"outFiles": ["!**/node_modules/**"],
|
||||
"cwd": "${workspaceFolder}",
|
||||
"outputCapture": "std",
|
||||
"outputCapture": "std"
|
||||
},
|
||||
{
|
||||
"name": "Run Vitest Tests",
|
||||
@ -45,8 +44,8 @@
|
||||
"request": "launch",
|
||||
"runtimeArgs": ["run", "test"],
|
||||
"console": "integratedTerminal",
|
||||
"internalConsoleOptions": "neverOpen",
|
||||
},
|
||||
],
|
||||
},
|
||||
"internalConsoleOptions": "neverOpen"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
61
project/biome.jsonc
Normal file
61
project/biome.jsonc
Normal file
@ -0,0 +1,61 @@
|
||||
{
|
||||
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
|
||||
"organizeImports": {
|
||||
"enabled": true
|
||||
},
|
||||
"files": {
|
||||
"ignore": [
|
||||
".editorconfig",
|
||||
".git/*",
|
||||
".pkg-cache/*",
|
||||
".vscode/*",
|
||||
"build/*",
|
||||
"node_modules/*",
|
||||
"obj/*",
|
||||
"out/*",
|
||||
"src/services/ModCompilerService.ts",
|
||||
"tests/__cache__/*",
|
||||
"tests/__coverage__/*",
|
||||
"types/*",
|
||||
"user/mods/*"
|
||||
]
|
||||
},
|
||||
"linter": {
|
||||
"enabled": true,
|
||||
"rules": {
|
||||
"recommended": true,
|
||||
"style": {
|
||||
"useImportType": "off"
|
||||
}
|
||||
}
|
||||
},
|
||||
"formatter": {
|
||||
"enabled": true,
|
||||
"formatWithErrors": false,
|
||||
"ignore": [],
|
||||
"attributePosition": "auto",
|
||||
"indentStyle": "space",
|
||||
"indentWidth": 4,
|
||||
"lineWidth": 120,
|
||||
"lineEnding": "lf"
|
||||
},
|
||||
"javascript": {
|
||||
"formatter": {
|
||||
"arrowParentheses": "always",
|
||||
"bracketSameLine": false,
|
||||
"bracketSpacing": true,
|
||||
"jsxQuoteStyle": "double",
|
||||
"quoteProperties": "asNeeded",
|
||||
"semicolons": "always",
|
||||
"trailingCommas": "all"
|
||||
},
|
||||
"parser": {
|
||||
"unsafeParameterDecoratorsEnabled": true
|
||||
}
|
||||
},
|
||||
"json": {
|
||||
"formatter": {
|
||||
"trailingCommas": "none"
|
||||
}
|
||||
}
|
||||
}
|
@ -9,7 +9,6 @@ import download from "gulp-download";
|
||||
import { exec } from "gulp-execa";
|
||||
import rename from "gulp-rename";
|
||||
import minimist from "minimist";
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
import * as ResEdit from "resedit";
|
||||
import manifest from "./package.json" assert { type: "json" };
|
||||
|
||||
|
@ -12,11 +12,11 @@
|
||||
},
|
||||
"scripts": {
|
||||
"check:circular": "madge --circular --ts-config tsconfig.json --extensions ts ./src/",
|
||||
"lint": "eslint src",
|
||||
"lint:fix": "eslint src --fix",
|
||||
"style": "prettier src --check",
|
||||
"style:fix": "prettier src --write",
|
||||
"format": "npm run style:fix && npm run lint:fix",
|
||||
"lint": "npx @biomejs/biome lint ./",
|
||||
"lint:fix": "npx @biomejs/biome lint --write ./",
|
||||
"style": "npx @biomejs/biome format ./",
|
||||
"style:fix": "npx @biomejs/biome format --write ./",
|
||||
"format": "npx @biomejs/biome check --write ./",
|
||||
"test": "vitest run",
|
||||
"test:watch": "vitest",
|
||||
"test:coverage": "vitest run --coverage",
|
||||
@ -53,9 +53,8 @@
|
||||
"ws": "~8.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "~9.2",
|
||||
"@biomejs/biome": "1.8.3",
|
||||
"@pnpm/exe": "8.15.4",
|
||||
"@stylistic/eslint-plugin": "~1.8",
|
||||
"@swc/cli": "~0.3",
|
||||
"@swc/core": "~1.4",
|
||||
"@types/i18n": "~0.13",
|
||||
@ -63,20 +62,11 @@
|
||||
"@types/proper-lockfile": "~4.1",
|
||||
"@types/semver": "~7.5",
|
||||
"@types/ws": "~8.5",
|
||||
"@typescript-eslint/eslint-plugin": "~7.11",
|
||||
"@typescript-eslint/parser": "~7.11",
|
||||
"@vitest/coverage-istanbul": "~1.6",
|
||||
"@vitest/ui": "~1.6",
|
||||
"@yao-pkg/pkg": "5.11.5",
|
||||
"@yao-pkg/pkg-fetch": "3.5.9",
|
||||
"cross-env": "~7.0",
|
||||
"eslint": "~8.57",
|
||||
"eslint-config-prettier": "~9.1",
|
||||
"eslint-import-resolver-typescript": "~3.6",
|
||||
"eslint-plugin-import": "~2.29",
|
||||
"eslint-plugin-prettier": "~5.1",
|
||||
"eslint-plugin-switch-allman": "~1.0",
|
||||
"eslint-plugin-unused-imports": "~3.2",
|
||||
"fs-extra": "~11.2",
|
||||
"gulp": "~4.0",
|
||||
"gulp-decompress": "~3.0",
|
||||
@ -85,14 +75,11 @@
|
||||
"gulp-rename": "~2.0",
|
||||
"madge": "~6.1",
|
||||
"minimist": "~1.2",
|
||||
"prettier": "~3.3",
|
||||
"resedit": "~2.0",
|
||||
"ts-node-dev": "~2.0",
|
||||
"tsconfig-paths": "~4.2",
|
||||
"tslint-config-prettier": "~1.18",
|
||||
"typedoc": "~0.25",
|
||||
"typemoq": "~2.1",
|
||||
"typescript-eslint": "~7.11",
|
||||
"vitest": "~1.6"
|
||||
},
|
||||
"targets": {
|
||||
|
@ -20,7 +20,6 @@ export class AchievementCallbacks
|
||||
/**
|
||||
* Handle client/achievement/list
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getAchievements(
|
||||
url: string,
|
||||
info: IEmptyRequestData,
|
||||
@ -33,7 +32,6 @@ export class AchievementCallbacks
|
||||
/**
|
||||
* Handle client/achievement/statistic
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public statistic(
|
||||
url: string,
|
||||
info: IEmptyRequestData,
|
||||
|
@ -21,7 +21,6 @@ export class BuildsCallbacks
|
||||
/**
|
||||
* Handle client/builds/list
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getBuilds(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IUserBuilds>
|
||||
{
|
||||
return this.httpResponse.getBody(this.buildController.getUserBuilds(sessionID));
|
||||
@ -30,7 +29,6 @@ export class BuildsCallbacks
|
||||
/**
|
||||
* Handle client/builds/magazine/save
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public createMagazineTemplate(url: string, request: ISetMagazineRequest, sessionID: string): INullResponseData
|
||||
{
|
||||
this.buildController.createMagazineTemplate(sessionID, request);
|
||||
@ -41,7 +39,6 @@ export class BuildsCallbacks
|
||||
/**
|
||||
* Handle client/builds/weapon/save
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public setWeapon(url: string, info: IPresetBuildActionRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
this.buildController.saveWeaponBuild(sessionID, info);
|
||||
@ -52,7 +49,6 @@ export class BuildsCallbacks
|
||||
/**
|
||||
* Handle client/builds/equipment/save
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public setEquipment(url: string, info: IPresetBuildActionRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
this.buildController.saveEquipmentBuild(sessionID, info);
|
||||
@ -63,7 +59,6 @@ export class BuildsCallbacks
|
||||
/**
|
||||
* Handle client/builds/delete
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public deleteBuild(url: string, info: IRemoveBuildRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
this.buildController.removeBuild(sessionID, info);
|
||||
|
@ -222,11 +222,9 @@ export class DataCallbacks
|
||||
supplyNextTime: this.traderHelper.getNextUpdateTimestamp(traderId),
|
||||
prices: handbookPrices,
|
||||
currencyCourses: {
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
"5449016a4bdc2d6f028b456f": handbookPrices[Money.ROUBLES],
|
||||
"569668774bdc2da2298b4568": handbookPrices[Money.EUROS],
|
||||
"5696686a4bdc2da3298b456a": handbookPrices[Money.DOLLARS],
|
||||
/* eslint-enable @typescript-eslint/naming-convention */
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -40,7 +40,6 @@ import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@injectable()
|
||||
export class DialogueCallbacks implements OnUpdate
|
||||
{
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
constructor(
|
||||
@inject("HashUtil") protected hashUtil: HashUtil,
|
||||
@inject("TimeUtil") protected timeUtil: TimeUtil,
|
||||
@ -66,7 +65,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
* Handle client/chatServer/list
|
||||
* @returns IChatServer[]
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getChatServerList(
|
||||
url: string,
|
||||
info: IGetChatServerListRequestData,
|
||||
@ -171,7 +169,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
}
|
||||
|
||||
/** Handle client/friend/request/list/outbox */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>
|
||||
{
|
||||
return this.httpResponse.getBody([]);
|
||||
@ -180,7 +177,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
/**
|
||||
* Handle client/friend/request/list/inbox
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>
|
||||
{
|
||||
return this.httpResponse.getBody([]);
|
||||
@ -189,7 +185,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
/**
|
||||
* Handle client/friend/request/send
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public sendFriendRequest(
|
||||
url: string,
|
||||
request: IFriendRequestData,
|
||||
@ -202,7 +197,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
/**
|
||||
* Handle client/friend/request/accept-all
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public acceptAllFriendRequests(url: string, request: IEmptyRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
@ -211,7 +205,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
/**
|
||||
* Handle client/friend/request/accept
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public acceptFriendRequest(
|
||||
url: string,
|
||||
request: IAcceptFriendRequestData,
|
||||
@ -224,7 +217,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
/**
|
||||
* Handle client/friend/request/decline
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public declineFriendRequest(
|
||||
url: string,
|
||||
request: IDeclineFriendRequestData,
|
||||
@ -237,7 +229,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
/**
|
||||
* Handle client/friend/request/cancel
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public cancelFriendRequest(
|
||||
url: string,
|
||||
request: ICancelFriendRequestData,
|
||||
@ -248,33 +239,28 @@ export class DialogueCallbacks implements OnUpdate
|
||||
}
|
||||
|
||||
/** Handle client/friend/delete */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public deleteFriend(url: string, request: IDeleteFriendRequest, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle client/friend/ignore/set */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public ignoreFriend(url: string, request: IUIDRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle client/friend/ignore/remove */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public unIgnoreFriend(url: string, request: IUIDRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>
|
||||
{
|
||||
return this.httpResponse.emptyArrayResponse();
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>
|
||||
{
|
||||
return this.httpResponse.emptyArrayResponse();
|
||||
@ -308,7 +294,6 @@ export class DialogueCallbacks implements OnUpdate
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public async onUpdate(timeSinceLastRun: number): Promise<boolean>
|
||||
{
|
||||
this.dialogueController.update();
|
||||
|
@ -172,7 +172,6 @@ export class GameCallbacks implements OnLoad
|
||||
* Handle singleplayer/settings/getRaidTime
|
||||
* @returns string
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getRaidTime(url: string, request: IGetRaidTimeRequest, sessionID: string): IGetRaidTimeResponse
|
||||
{
|
||||
return this.httpResponse.noBody(this.gameController.getRaidTime(sessionID, request));
|
||||
|
@ -33,21 +33,18 @@ export class MatchCallbacks
|
||||
{}
|
||||
|
||||
/** Handle client/match/updatePing */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public updatePing(url: string, info: IUpdatePingRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
// Handle client/match/exit
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public exitMatch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle client/match/group/exit_from_menu */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
@ -62,20 +59,17 @@ export class MatchCallbacks
|
||||
return this.httpResponse.getBody({ squad: [] });
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
/** Handle client/match/group/invite/send */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public sendGroupInvite(
|
||||
url: string,
|
||||
info: IMatchGroupInviteSendRequest,
|
||||
@ -86,7 +80,6 @@ export class MatchCallbacks
|
||||
}
|
||||
|
||||
/** Handle client/match/group/invite/accept */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public acceptGroupInvite(
|
||||
url: string,
|
||||
info: IRequestIdRequest,
|
||||
@ -94,28 +87,24 @@ export class MatchCallbacks
|
||||
): IGetBodyResponseData<IGroupCharacter[]>
|
||||
{
|
||||
const result = [];
|
||||
// eslint-disable-next-line strict-null-checks/all
|
||||
result.push({});
|
||||
|
||||
return this.httpResponse.getBody(result);
|
||||
}
|
||||
|
||||
/** Handle client/match/group/invite/decline */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public declineGroupInvite(url: string, info: IRequestIdRequest, sessionId: string): IGetBodyResponseData<boolean>
|
||||
{
|
||||
return this.httpResponse.getBody(true);
|
||||
}
|
||||
|
||||
/** Handle client/match/group/invite/cancel */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public cancelGroupInvite(url: string, info: IRequestIdRequest, sessionID: string): IGetBodyResponseData<boolean>
|
||||
{
|
||||
return this.httpResponse.getBody(true);
|
||||
}
|
||||
|
||||
/** Handle client/match/group/transfer */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public transferGroup(
|
||||
url: string,
|
||||
info: IMatchGroupTransferRequest,
|
||||
@ -126,7 +115,6 @@ export class MatchCallbacks
|
||||
}
|
||||
|
||||
/** Handle client/match/group/invite/cancel-all */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public cancelAllGroupInvite(
|
||||
url: string,
|
||||
info: IEmptyRequestData,
|
||||
@ -137,14 +125,12 @@ export class MatchCallbacks
|
||||
}
|
||||
|
||||
/** @deprecated - not called on raid start/end or game start/exit */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public putMetrics(url: string, info: IPutMetricsRequestData, sessionId: string): INullResponseData
|
||||
{
|
||||
return this.httpResponse.nullResponse();
|
||||
}
|
||||
|
||||
// Handle client/match/available
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public serverAvailable(url: string, info: IEmptyRequestData, sessionId: string): IGetBodyResponseData<boolean>
|
||||
{
|
||||
const output = this.matchController.getEnabled();
|
||||
@ -163,7 +149,6 @@ export class MatchCallbacks
|
||||
}
|
||||
|
||||
/** Handle client/getMetricsConfig */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData<string>
|
||||
{
|
||||
return this.httpResponse.getBody(this.jsonUtil.serialize(this.databaseService.getMatch().metrics));
|
||||
@ -174,7 +159,6 @@ export class MatchCallbacks
|
||||
* Handle client/match/group/status
|
||||
* @returns
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getGroupStatus(
|
||||
url: string,
|
||||
info: IMatchGroupStatusRequest,
|
||||
@ -185,7 +169,6 @@ export class MatchCallbacks
|
||||
}
|
||||
|
||||
/** Handle client/match/group/delete */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public deleteGroup(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<boolean>
|
||||
{
|
||||
this.matchController.deleteGroup(info);
|
||||
@ -193,14 +176,12 @@ export class MatchCallbacks
|
||||
}
|
||||
|
||||
// Handle client/match/group/leave
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public leaveGroup(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<boolean>
|
||||
{
|
||||
return this.httpResponse.getBody(true);
|
||||
}
|
||||
|
||||
/** Handle client/match/group/player/remove */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public removePlayerFromGroup(
|
||||
url: string,
|
||||
info: IMatchGroupPlayerRemoveRequest,
|
||||
|
@ -26,7 +26,6 @@ export class NotifierCallbacks
|
||||
* until we actually have something to send because otherwise we'd spam the client
|
||||
* and the client would abort the connection due to spam.
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public sendNotification(sessionID: string, req: any, resp: any, data: any): void
|
||||
{
|
||||
const splittedUrl = req.url.split("/");
|
||||
@ -45,7 +44,6 @@ export class NotifierCallbacks
|
||||
/** Handle push/notifier/get */
|
||||
/** Handle push/notifier/getwebsocket */
|
||||
// TODO: removed from client?
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData<any[]>
|
||||
{
|
||||
return this.httpResponse.emptyArrayResponse();
|
||||
@ -65,7 +63,6 @@ export class NotifierCallbacks
|
||||
* Handle client/game/profile/select
|
||||
* @returns ISelectProfileResponse
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public selectProfile(
|
||||
url: string,
|
||||
info: IUIDRequestData,
|
||||
@ -75,7 +72,6 @@ export class NotifierCallbacks
|
||||
return this.httpResponse.getBody({ status: "ok" });
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public notify(url: string, info: any, sessionID: string): string
|
||||
{
|
||||
return "NOTIFY";
|
||||
|
@ -70,7 +70,6 @@ export class DialogueController
|
||||
* Handle client/friend/list
|
||||
* @returns IGetFriendListDataResponse
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getFriendList(sessionID: string): IGetFriendListDataResponse
|
||||
{
|
||||
// Force a fake friend called SPT into friend list
|
||||
@ -379,7 +378,6 @@ export class DialogueController
|
||||
}
|
||||
|
||||
/** client/mail/msg/send */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public sendMessage(sessionId: string, request: ISendMessageRequest): string
|
||||
{
|
||||
this.mailSendService.sendPlayerMessageToNpc(sessionId, request.dialogId, request.text);
|
||||
|
@ -172,13 +172,10 @@ export class HealthController
|
||||
const payMoneyRequest: IProcessBuyTradeRequestData = {
|
||||
Action: healthTreatmentRequest.Action,
|
||||
tid: Traders.THERAPIST,
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
scheme_items: healthTreatmentRequest.items,
|
||||
type: "",
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
item_id: "",
|
||||
count: 0,
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
scheme_id: 0,
|
||||
};
|
||||
|
||||
@ -230,7 +227,6 @@ export class HealthController
|
||||
* @param info Request data
|
||||
* @param sessionID
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public applyWorkoutChanges(pmcData: IPmcData, info: IWorkoutData, sessionId: string): void
|
||||
{
|
||||
// https://dev.sp-tarkov.com/SPT/Server/issues/2674
|
||||
|
@ -1150,7 +1150,6 @@ export class HideoutController
|
||||
* @param sessionId Session id
|
||||
* @returns IQteData array
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getQteList(sessionId: string): IQteData[]
|
||||
{
|
||||
return this.databaseService.getHideout().qte;
|
||||
@ -1163,7 +1162,6 @@ export class HideoutController
|
||||
* @param pmcData Profile to adjust
|
||||
* @param request QTE result object
|
||||
*/
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public handleQTEEventOutcome(
|
||||
sessionId: string,
|
||||
pmcData: IPmcData,
|
||||
|
@ -75,7 +75,6 @@ export class MatchController
|
||||
}
|
||||
|
||||
/** Handle match/group/start_game */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public joinMatch(info: IMatchGroupStartGameRequest, sessionId: string): IProfileStatusResponse
|
||||
{
|
||||
const output: IProfileStatusResponse = { maxPveCountExceeded: false, profiles: [] };
|
||||
@ -93,7 +92,6 @@ export class MatchController
|
||||
raidMode: "Online",
|
||||
mode: "deathmatch",
|
||||
shortId: undefined,
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
additional_info: undefined,
|
||||
});
|
||||
|
||||
@ -101,7 +99,6 @@ export class MatchController
|
||||
}
|
||||
|
||||
/** Handle client/match/group/status */
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
public getGroupStatus(info: IMatchGroupStatusRequest): IMatchGroupStatusResponse
|
||||
{
|
||||
return { players: [], maxPveCountExceeded: false };
|
||||
|
@ -665,7 +665,6 @@ export class QuestController
|
||||
startTime: 0,
|
||||
status: QuestStatus.AvailableAfter,
|
||||
statusTimers: {
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
9: this.timeUtil.getTimestamp(),
|
||||
},
|
||||
availableAfter: availableAfterTimestamp,
|
||||
|
@ -212,12 +212,9 @@ export class TradeController
|
||||
Action: "TradingConfirm",
|
||||
type: "buy_from_ragfair",
|
||||
tid: "ragfair",
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
item_id: fleaOffer._id, // Store ragfair offerId in buyRequestData.item_id
|
||||
count: requestOffer.count,
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
scheme_id: 0,
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
scheme_items: requestOffer.items,
|
||||
};
|
||||
|
||||
|
@ -366,7 +366,6 @@ export class BotLootGenerator
|
||||
{
|
||||
// surv12
|
||||
this.addLootFromPool(
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
{ "5d02797c86f774203f38e30a": 1 },
|
||||
[EquipmentSlots.SECURED_CONTAINER],
|
||||
1,
|
||||
@ -379,7 +378,6 @@ export class BotLootGenerator
|
||||
|
||||
// AFAK
|
||||
this.addLootFromPool(
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
{ "60098ad7c2240c0fe85c570a": 1 },
|
||||
[EquipmentSlots.SECURED_CONTAINER],
|
||||
10,
|
||||
|
@ -478,7 +478,6 @@ export class BotWeaponGenerator
|
||||
|
||||
// Define min/max of how many grenades bot will have
|
||||
const ubglMinMax: GenerationData = {
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
weights: { 1: 1, 2: 1 },
|
||||
whitelist: {},
|
||||
};
|
||||
|
@ -29,7 +29,6 @@ export class ExternalInventoryMagGen implements IInventoryMagGen
|
||||
return 99;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
canHandleInventoryMagGen(inventoryMagGen: InventoryMagGen): boolean
|
||||
{
|
||||
return true; // Fallback, if code reaches here it means no other implementation can handle this type of magazine
|
||||
|
@ -56,7 +56,6 @@ export class HttpServerHelper
|
||||
|
||||
public sendTextJson(resp: any, output: any): void
|
||||
{
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
resp.writeHead(200, "OK", { "Content-Type": this.mime.json });
|
||||
resp.end(output);
|
||||
}
|
||||
|
@ -1266,7 +1266,6 @@ export class InventoryHelper
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-namespace
|
||||
namespace InventoryHelper
|
||||
{
|
||||
export interface InventoryItemHash
|
||||
|
@ -1922,7 +1922,6 @@ export class ItemHelper
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-namespace
|
||||
namespace ItemHelper
|
||||
{
|
||||
export interface ItemSize
|
||||
|
@ -52,7 +52,6 @@ export class PostDBModLoader implements OnLoad
|
||||
this.preSptModLoader.getImportedModDetails()[modName].main
|
||||
}`;
|
||||
const modpath = `${process.cwd()}/${filepath}`;
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const mod = require(modpath);
|
||||
|
||||
if (this.modTypeCheck.isPostDBLoadAsync(mod.mod))
|
||||
|
@ -44,7 +44,6 @@ export class PostSptModLoader implements IModLoader
|
||||
this.preSptModLoader.getImportedModDetails()[modName].main
|
||||
}`;
|
||||
const modpath = `${process.cwd()}/${filepath}`;
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const mod = require(modpath);
|
||||
|
||||
if (this.modTypeCheck.isPostSptLoadAsync(mod.mod))
|
||||
|
@ -382,7 +382,6 @@ export class PreSptModLoader implements IModLoader
|
||||
// Import class
|
||||
const modFilePath = `${process.cwd()}/${filepath}`;
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||
const requiredMod = require(modFilePath);
|
||||
|
||||
if (!this.modTypeCheck.isPostV3Compatible(requiredMod.mod))
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Ixyz } from "@spt/models/eft/common/Ixyz";
|
||||
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { Ixyz } from "@spt/models/eft/common/Ixyz";
|
||||
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
export interface ILocationBase
|
||||
{
|
||||
AccessKeys: string[]
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
export interface IBotCore
|
||||
{
|
||||
SAVAGE_KILL_DIST: number
|
||||
|
@ -49,7 +49,6 @@ export interface EquipmentChances
|
||||
TacticalVest: number
|
||||
}
|
||||
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
export interface ModsChances
|
||||
{
|
||||
mod_charge: number
|
||||
|
@ -3,7 +3,6 @@ import { Dialogue, IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
|
||||
|
||||
export interface IProfileTemplates
|
||||
{
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
"Standard": IProfileSides
|
||||
"Left Behind": IProfileSides
|
||||
"Prepare To Escape": IProfileSides
|
||||
@ -13,7 +12,6 @@ export interface IProfileTemplates
|
||||
"SPT Developer": IProfileSides
|
||||
"SPT Easy start": IProfileSides
|
||||
"SPT Zero to hero": IProfileSides
|
||||
/* eslint-enable @typescript-eslint/naming-convention */
|
||||
}
|
||||
|
||||
export interface IProfileSides
|
||||
|
@ -295,9 +295,7 @@ export interface Props
|
||||
foodUseTime?: number
|
||||
foodEffectType?: string
|
||||
StimulatorBuffs?: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
effects_health?: IHealthEffect[] | Record<string, Record<string, number>>
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
effects_damage?: Record<string, IEffectDamageProps>
|
||||
MaximumNumberOfUsage?: number
|
||||
knifeHitDelay?: number
|
||||
@ -473,7 +471,6 @@ export interface Slot
|
||||
_id: string
|
||||
_parent: string
|
||||
_props: SlotProps
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
_max_count?: number
|
||||
_required?: boolean
|
||||
_mergeSlotWithChildren?: boolean
|
||||
@ -502,7 +499,6 @@ export interface StackSlot
|
||||
_name?: string
|
||||
_id: string
|
||||
_parent: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
_max_count: number
|
||||
_props: StackSlotProps
|
||||
_proto: string
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||
import { DogtagExchangeSide } from "@spt/models/enums/DogtagExchangeSide";
|
||||
import { ITraderServiceModel } from "@spt/models/spt/services/ITraderServiceModel";
|
||||
|
@ -1,5 +1,4 @@
|
||||
export interface IDeleteFriendRequest
|
||||
{
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
friend_id: string
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ export interface IGameConfigResponse
|
||||
activeProfileId: string
|
||||
backend: Backend
|
||||
useProtobuf: boolean
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
utc_time: number
|
||||
/** Total in game time */
|
||||
totalInGame: number
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IGameKeepAliveResponse
|
||||
{
|
||||
msg: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
utc_time: number
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
export interface IGameStartResponse
|
||||
{
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
utc_time: number
|
||||
}
|
||||
|
@ -9,6 +9,5 @@ export interface AddItem
|
||||
{
|
||||
count: number
|
||||
sptIsPreset?: boolean
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
item_id: string
|
||||
}
|
||||
|
@ -11,6 +11,5 @@ export interface ISessionStatus
|
||||
raidMode?: string
|
||||
mode?: string
|
||||
shortId?: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
additional_info?: any[]
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
export interface INotifierChannel
|
||||
{
|
||||
server: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
channel_id: string
|
||||
url: string
|
||||
notifierServer: string
|
||||
|
@ -17,6 +17,5 @@ export interface ProfileData
|
||||
raidMode?: string
|
||||
mode?: string
|
||||
shortId?: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
additional_info?: any[]
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { IProcessBaseTradeRequestData } from "@spt/models/eft/trade/IProcessBaseTradeRequestData";
|
||||
|
||||
export interface IProcessBuyTradeRequestData extends IProcessBaseTradeRequestData
|
||||
|
@ -13,6 +13,5 @@ export interface Item
|
||||
{
|
||||
id: string
|
||||
count: number
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
scheme_id: number
|
||||
}
|
||||
|
@ -15,14 +15,10 @@ export interface IWeather
|
||||
pressure: number
|
||||
temp: number
|
||||
fog: number
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
rain_intensity: number
|
||||
rain: number
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
wind_gustiness: number
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
wind_direction: WindDirection
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
wind_speed: number
|
||||
cloud: number
|
||||
time: string
|
||||
|
@ -15,6 +15,5 @@ export interface IWsUserConfirmed extends IWsNotificationEvent
|
||||
raidMode: RaidMode
|
||||
mode: string
|
||||
shortId: string
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
additional_info: any[]
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
export enum QuestStatus
|
||||
{
|
||||
Locked = 0,
|
||||
|
1
project/src/models/external/HttpFramework.ts
vendored
1
project/src/models/external/HttpFramework.ts
vendored
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { IncomingMessage, ServerResponse } from "node:http";
|
||||
import { injectable } from "tsyringe";
|
||||
import { HttpMethods } from "@spt/servers/http/HttpMethods";
|
||||
|
@ -92,9 +92,7 @@ export interface LootMultiplier
|
||||
{
|
||||
bigmap: number
|
||||
develop: number
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
factory4_day: number
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
factory4_night: number
|
||||
interchange: number
|
||||
laboratory: number
|
||||
|
@ -4,8 +4,6 @@ import { IBarterScheme } from "@spt/models/eft/common/tables/ITrader";
|
||||
export interface ICreateFenceAssortsResult
|
||||
{
|
||||
sptItems: Item[][]
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
barter_scheme: Record<string, IBarterScheme[][]>
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
loyal_level_items: Record<string, number>
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { ILocation } from "@spt/models/eft/common/ILocation";
|
||||
import { ILocationsBase } from "@spt/models/eft/common/tables/ILocationsBase";
|
||||
|
||||
|
@ -13,7 +13,6 @@ export class AchievementStaticRouter extends StaticRouter
|
||||
super([
|
||||
new RouteAction(
|
||||
"/client/achievement/list",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
@ -27,7 +26,6 @@ export class AchievementStaticRouter extends StaticRouter
|
||||
|
||||
new RouteAction(
|
||||
"/client/achievement/statistic",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
|
@ -13,7 +13,6 @@ export class BuildsStaticRouter extends StaticRouter
|
||||
super([
|
||||
new RouteAction(
|
||||
"/client/builds/list",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
@ -26,7 +25,6 @@ export class BuildsStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/builds/magazine/save",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.buildsCallbacks.createMagazineTemplate(url, info, sessionID);
|
||||
@ -34,7 +32,6 @@ export class BuildsStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/builds/weapon/save",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.buildsCallbacks.setWeapon(url, info, sessionID);
|
||||
@ -42,7 +39,6 @@ export class BuildsStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/builds/equipment/save",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.buildsCallbacks.setEquipment(url, info, sessionID);
|
||||
@ -50,7 +46,6 @@ export class BuildsStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/builds/delete",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.buildsCallbacks.deleteBuild(url, info, sessionID);
|
||||
|
@ -151,7 +151,6 @@ export class GameStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/singleplayer/settings/getRaidTime",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<IGetRaidTimeResponse> =>
|
||||
{
|
||||
return this.gameCallbacks.getRaidTime(url, info, sessionID);
|
||||
|
@ -265,7 +265,6 @@ export class MatchStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/raid/configuration-by-profile",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.matchCallbacks.getConfigurationByProfile(url, info, sessionID);
|
||||
|
@ -108,7 +108,6 @@ export class ProfileStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/profile/view",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
|
@ -15,7 +15,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
super([
|
||||
new RouteAction(
|
||||
"/client/ragfair/search",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
@ -28,7 +27,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/ragfair/find",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
@ -41,7 +39,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/ragfair/itemMarketPrice",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
@ -54,7 +51,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/ragfair/offerfees",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.ragfairCallbacks.storePlayerOfferTaxAmount(url, info, sessionID);
|
||||
@ -62,7 +58,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/reports/ragfair/send",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (url: string, info: any, sessionID: string, output: string): Promise<INullResponseData> =>
|
||||
{
|
||||
return this.ragfairCallbacks.sendReport(url, info, sessionID);
|
||||
@ -70,7 +65,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/items/prices",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
@ -83,7 +77,6 @@ export class RagfairStaticRouter extends StaticRouter
|
||||
),
|
||||
new RouteAction(
|
||||
"/client/ragfair/offer/findbyid",
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
async (
|
||||
url: string,
|
||||
info: any,
|
||||
|
@ -166,7 +166,6 @@ export class SptHttpListener implements IHttpListener
|
||||
|
||||
public sendJson(resp: ServerResponse, output: string, sessionID: string): void
|
||||
{
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
resp.writeHead(200, "OK", { "Content-Type": "application/json", "Set-Cookie": `PHPSESSID=${sessionID}` });
|
||||
resp.end(output);
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { inject, injectable } from "tsyringe";
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
|
||||
/**
|
||||
* An object containing item name overrides for use with ItemTplGenerator
|
||||
|
@ -17,7 +17,6 @@ export class AsyncQueue implements IAsyncQueue
|
||||
// Add to the queue
|
||||
this.commandsQueue.push(command);
|
||||
|
||||
// eslint-disable-next-line no-constant-condition
|
||||
while (this.commandsQueue[0].uuid !== command.uuid)
|
||||
{
|
||||
await new Promise<void>((resolve) =>
|
||||
|
@ -3,8 +3,6 @@ import { Queue } from "@spt/utils/collections/queue/Queue";
|
||||
import { JsonUtil } from "@spt/utils/JsonUtil";
|
||||
import { VFS } from "@spt/utils/VFS";
|
||||
|
||||
/* eslint-disable @typescript-eslint/no-empty-function */
|
||||
/* eslint-disable @typescript-eslint/brace-style */
|
||||
@injectable()
|
||||
export class ImporterUtil
|
||||
{
|
||||
|
@ -2,7 +2,6 @@ import crypto from "node:crypto";
|
||||
import fs from "node:fs";
|
||||
import { promisify } from "node:util";
|
||||
import winston, { createLogger, format, transports, addColors } from "winston";
|
||||
// eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
import DailyRotateFile from "winston-daily-rotate-file";
|
||||
import { Daum } from "@spt/models/eft/itemEvent/IItemEventRouterRequest";
|
||||
import { LogBackgroundColor } from "@spt/models/spt/logging/LogBackgroundColor";
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import "reflect-metadata";
|
||||
|
||||
import { container } from "tsyringe";
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import "reflect-metadata";
|
||||
|
||||
import { container } from "tsyringe";
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import "reflect-metadata";
|
||||
|
||||
import { container } from "tsyringe";
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import "reflect-metadata";
|
||||
import { container } from "tsyringe";
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import "reflect-metadata";
|
||||
import { container } from "tsyringe";
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
Loading…
Reference in New Issue
Block a user