0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-12 17:10:43 -05:00

66 Commits

Author SHA1 Message Date
961dd16cc0 Fixed versioning 2025-01-03 22:19:38 -05:00
653b9723b8
Vitest Updates (#985)
Includes updates to Vitest dependencies, a small bug fix, and a
configuration change. All three of which were throwing warnings when the
test suite was ran.

### Dependency Updates:
*
[`project/package.json`](diffhunk://#diff-18e5b8a4dad7b1ed0da6b50ed507b3ab8116e07a8e44abd959a28261878d021fL69-R70):
Updated `@vitest/coverage-istanbul` and `@vitest/ui` to version `^2.1.8`
and added `vitest` dependency.
[[1]](diffhunk://#diff-18e5b8a4dad7b1ed0da6b50ed507b3ab8116e07a8e44abd959a28261878d021fL69-R70)
[[2]](diffhunk://#diff-18e5b8a4dad7b1ed0da6b50ed507b3ab8116e07a8e44abd959a28261878d021fL84-R85)

### Bug Fix:
*
[`project/src/controllers/RepeatableQuestController.ts`](diffhunk://#diff-92e6bd4234ed3c13309eb9bd27437f0933e58dedee51544e9b017b57c2a3c51cL581-R581):
Fixed a bug in the charisma bonus calculation for the `cost.count`
value.

### Configuration Changes:
*
[`project/tests/CustomEnvironment.ts`](diffhunk://#diff-79780538b7a90a5f7befb22838a460f65e3e0bce53d3685f36ed2b74894246a0L9-R9):
Updated the import path for `Environment` from `vitest`.
*
[`project/vitest.config.mts`](diffhunk://#diff-18152746ad4df10b798ca21a09c321bc8ad4adc393ebc6a26016a524203e599cR5-L10):
Added `cacheDir` configuration and renamed the file from
`vitest.config.ts`.
2024-12-16 22:12:30 +00:00
41d5bd5586
Updates Version Numbers 2024-12-15 23:27:30 -05:00
6501958e51
Version Number & Biome Format
Updates the version number in the package.json file.
Ran the Biome formatter.
2024-12-15 22:34:34 -05:00
ef14ad27e1
Profile Backups (#983)
Here's a jumping off point for the profile backup feature. Included some
basic configuration options. Currently backup runs on server start-up
(before the profiles are loaded into memory) and on a configurable
interval.

I think it still needs work.
- [x] The folder name dates should be used to detect which old backups
should be removed
- [x] Not sure about the interval implementation...
- [x] Could make the clean method thinner
- [x] Remove VFS; I don't believe it's needed for copy operations
- [x] Save a list of active mods used by the backed up profiles

---------

Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
2024-12-14 10:20:45 +00:00
be88a2224e
Merge branch '3.10.2-dev' 2024-12-07 13:52:24 -05:00
6c9e4fd0bb
Custom LFS Sever (#970)
We've created our own Git Large File Storage (LFS) server due to the
excessive cost of GitHub's bandwidth. Did you know all of their Ethernet
cables are actually gold coated diamonds?

This PR reverses the work done in #954 to compress large location JSON
files into a 7zip archive and handle the (de)compression of the archive.

Only JSON files within the `project/assets/database/` directory that are
larger than 5MB have been included in LFS. This translates to all of the
`looseLoot.json` files. The rest are small enough to be included in the
base repo.

A `.lfsconfig` file has been added to the root of the project to alert
git to the presence of the custom LFS server. This public server is
read-only. Write access is only available to developers within the
Single Player Tarkov GitHub organization.

<img
src="https://github.com/user-attachments/assets/7ddfec9b-5a9a-42e6-806d-fd419e4eaa4f"
width="250">
2024-12-06 13:56:05 +00:00
Chomp
ad41c249b8 Merge branch '3.10.1-dev' 2024-12-01 10:22:36 +00:00
f55861528a
Compress Database Location Files (#954)
Due to LFS storage issues... This PR removes all current LFS files (the
location loot files) and replaces them with a single 7-zip archive. The
archive is stored in LFS, but has decreased in size by roughly 95%.

The location `.json` files are now git-ignored.

There are two new npm commands to aid in working with the archive:
- `npm run database:compress`  
Compresses the JSON files into an archive *which can be committed into
the project*.
- `npm run database:decompress`  
Decompresses the archive into the original JSON files located in the
working directory.

The gulp file that handles builds has been updated to ensure that the
archive files are *always* used when a build is processed, regardless of
if the JSON files are already present in the working directory.
2024-11-28 15:51:53 +00:00
DrakiaXYZ
53408dfc2a Target logform 2.6 specifically, as 2.7 included a breaking change 2024-11-27 12:31:01 -08:00
9b17a9b350 Create new script for associating productions with quests (!421)
See `src\tools\ProductionQuestsGen\ProductionQuestsGen.ts` for usage

I've run the tool and committed the updated production.json as an example of it successfully managing to find the quest association for most productions (Aside from new event quest productions)

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#421
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-11-02 09:37:59 +00:00
4851784626 Remove dependency on vitest, seems to be referenced by other dependencies (!410)
Referencing vitest directly causes `npm install` to fail for fresh installs, removing this allows it to install all dependencies successfully.

Reviewed-on: SPT/Server#410
Co-authored-by: Archangel <jesse@archangel.wtf>
Co-committed-by: Archangel <jesse@archangel.wtf>
2024-09-20 13:33:48 +00:00
Dev
532491bc91 Updated packages 2024-08-01 09:17:24 +01:00
静穏靄
45b29731dc Bump server version (!392)
Got confused when I generated types, this fixes NPM reporting 3.9.0.
Before and after:

![image](/attachments/056fdd66-c98f-4be3-bcb2-c3b4cfc5bd01)

Reviewed-on: SPT/Server#392
Co-authored-by: 静穏靄 <seionmoya@noreply.dev.sp-tarkov.com>
Co-committed-by: 静穏靄 <seionmoya@noreply.dev.sp-tarkov.com>
2024-08-01 07:12:28 +00:00
ed8dbbd195 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: SPT/Server#383
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-07-22 21:15:57 +00:00
85bef99608 removed null style check that was slowing down file processing (!381)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#381
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
(cherry picked from commit 130b12879e4bbc4e9b11b4d6d38bafda7a21df5a)
2024-07-21 15:19:54 +01:00
Dev
2941ae10e0 Implemented mongoid-js for hashUtil.generate() 2024-07-08 21:11:58 +01:00
edfe995c52 Initial implementation of an ItemTpl and Weapon enum generator (!364)
ItemTplGenerator will create a full ItemTpl.ts and Weapons.ts file with all items and weapons respectively
Renamed WeaponTypes to Weapons to better indicate its new format
Updated all references to these enums to use the new names
New npm command `npm run gen:items` to run this tool

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#364
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-06-16 08:33:01 +00:00
Dev
59fd030c98 Revert "Updated server node version to 20.14.0 from 20.11.1"
This reverts commit f672ad27bfc1b001e94867fffe8ad5da2d051712.
2024-06-03 17:34:22 +01:00
Dev
f672ad27bf Updated server node version to 20.14.0 from 20.11.1 2024-06-03 15:50:27 +01:00
Dev
dcf816702e Updated various node packages 2024-06-03 15:44:40 +01:00
1bf520a044 Added null checks as warnings (!352)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT/Server#352
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 13:08:21 +00:00
d13e86ba46 Rebranding to SPT (!345)
Rebranded src code and scripts to SPT

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#345
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-21 17:59:04 +00:00
5b5bf8bd7c Added WebSocket handlers for new connections and messages received through the default EFT socket (!339)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#339
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-18 16:45:21 +00:00
79781ab8bb Linting Updates (!336)
This update now runs Prettier before ESLint (with the Stylistic plugin) for code formatting. This takes care of a lot of the edge cases that ESLint doesn't touch by itself. Also adds the `eslint-plugin-unused-imports` ESLint plugin to remove unused imports and the `eslint-plugin-switch-allman` ESLint plugin to enforce Allman braces on case declarations.

The VSCode format-on-save function now requires two additional extentions to be installed: Prettier and Format Code Action. Links can be found in the README and in the recommended extentions section of VSCode when the workspace is open.

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT-AKI/Server#336
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-05-16 08:41:05 +00:00
ba1ac09b0b
Merge branch '3.8.2-DEV' into 3.9.0-DEV
# Conflicts:
#	project/src/callbacks/ItemEventCallbacks.ts
#	project/src/models/eft/common/IGlobals.ts
#	project/src/models/eft/common/ILocation.ts
#	project/src/models/eft/common/ILocationBase.ts
#	project/src/models/eft/common/tables/ILootBase.ts
#	project/src/models/eft/common/tables/ITemplateItem.ts
#	project/src/models/eft/weather/IWeatherData.ts
#	project/src/models/spt/bots/BotGenerationDetails.ts
#	project/src/models/spt/config/IPmcConfig.ts
#	project/src/models/spt/config/IWeatherConfig.ts
#	project/src/models/spt/server/IDatabaseTables.ts
#	project/src/models/spt/server/ILocations.ts
#	project/src/servers/http/IHttpListener.ts
2024-05-08 00:21:12 -04:00
e8b47bf733
ESLint Configuration Format & Import Sorting
The built-in ESLint import settings will lint the imports, but not fix them, as that's concidered stylistic. The ESLint Stylistic package doesn't currently support sorting. We have to use the ESLint Import plugin to force import sorting. This Import plugin doesn't yet support the new ESLint flat-configuration file format so we've had to convert back to the old no-flat format.
2024-05-07 14:26:54 -04:00
735624eb9c
Merge branch '3.8.2-DEV' into 3.9.0-DEV 2024-05-06 21:52:21 -04:00
6921f9363d
Code Styling Changes
- Drops DPrint
- Drops Biome
- Adds ESList Stylistic
- Updates ESLint config to new FlatConfig format
- Removed the `dprint.dprint` and `biomejs.biome` VSC extentions from the recommendations list
- Updates README to reflect all the above changes

TODO: Import sorting & minor fixes after `npm run lint:fix`.

Curse you, Alex!
2024-05-06 02:36:35 -04:00
84d5462955 Fixed give command to use dice coefficient making it more precise. Fixed give command giving invalid items to players. (!323)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#323
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-05 08:01:18 +00:00
Dev
509e208fb9 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV
# Conflicts:
#	project/assets/configs/pmc.json
#	project/src/helpers/ItemHelper.ts
#	project/src/models/spt/config/IPmcConfig.ts
2024-05-04 21:41:44 +01:00
03c914f9e8 Fixed ragfair memory leak (!319)
Fixed ragfair memory leak where NPC player ids would continuously get added into the cache map, when those offers expire the entry on the dictionary would be left empty but the string allocation on the key would remain in memory, overtime it would stack up to massive amounts of memory usage

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#319
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-02 13:18:34 +00:00
Dev
e3bb1932ff Fixed server type generation command not working 2024-04-21 16:23:39 +01:00
834a2e3ef5 Expanded give command logic (!283)
This change was originally made in master branch, between the time v3.7.6 and v3.8.0 were released. Due to the way that v3.8.0 was merged into master, and the fact that this change was never merged into v3.8.0, it had to be cherry-picked and have some conflicts resolved. I gave it my best and I would love some help testing it before it's merged for v3.8.1.

Conflicts:
- project/package.json
- project/src/helpers/Dialogue/Commando/SptCommands/GiveSptCommand.ts

Resolved by Refringe <me@refringe.com>

Original PR: SPT-AKI/Server#182
Original Commit: 9846adc68b39924c59bb35273deb88426bac4618

Original Message:

- Added give by name
- Refactored Commando so its abstracted, that way modders can use it too! :)

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: SPT-AKI/Server#182
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>

Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT-AKI/Server#283
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-committed-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
2024-04-10 09:48:28 +00:00
c3e203922e bundle-crc-cache (!274)
This PR is required by SPT-AKI/Modules!104 in order for it to function correctly.

## Overview

- Adds the package `buffer-crc32`, it can generate CRC32 hashes from buffers or strings
- Splits `HashCacheService` into 2 classes `ModHashCacheService` does exactly the same `HashCacheService` used to do, and added a new `BundleHashCacheService`
- `BundleLoader` now generates a CRC32 hash of every bundle file from every loaded mod
- Reworked `BundleInfo` to better represent the data expected by the client when requesting `/singleplayer/bundles`
- Removes all checks on `BundleLoader` that verified if the request was made to a localhost address, this is now addressed by the client.

## Testing

The code has been tested by @Senko-san and me.

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT-AKI/Server#274
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2024-03-29 18:43:36 +00:00
72ddbc4192
Adds bleedingmods Build Type 2024-03-16 16:11:24 -04:00
5edba7dd05 Updates NPM Packages - Node v20.11.1 LTS (!260)
Updates many of the out of date npm packages and brings us up to Node v20 LTS. :D

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT-AKI/Server#260
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-03-14 09:08:40 +00:00
c17ab30d4d Add --arch and --platform options to NPM build commands to support cross-compiling (!247)
A previous commit 03ae37ec2f hardcoded windows x64 into the build options for build automation. This change restores the ability to build the server using the builder's architecture and platform to the default behavior and adds support for cross-compling via optional parameters `--arch` and `--platform`.

The option can be used by `npm run build:release -- --arch=x64 --platform=win32`.
Note the `--` in the middle is to tell npm whatever comes next, is for the script, not npm.

Additionally, the copy pnpm executables step has been changed to download pnpm release for the correct platform directly from the npm registry.

Co-authored-by: qe201020335 <qe201020335@sina.com>
Reviewed-on: SPT-AKI/Server#247
Co-authored-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
Co-committed-by: qe201020335 <qe201020335@noreply.dev.sp-tarkov.com>
2024-03-08 18:11:04 +00:00
a2f0b4584f Updated dependencies 2023-12-21 19:02:07 +00:00
865dbf1b13 Updated to node v20.10.0 2023-12-15 13:59:45 +00:00
24a15fc573 Updated dependencies 2023-12-15 13:57:25 +00:00
6cd86e67b0
Merge branch 'master' into 3.8.0
# Conflicts:
#	project/.vscode/launch.json
#	project/assets/database/locations/bigmap/base.json
#	project/assets/database/locations/interchange/base.json
#	project/assets/database/locations/rezervbase/base.json
#	project/gulpfile.mjs
#	project/package.json
#	project/src/ErrorHandler.ts
#	project/src/Program.ts
#	project/src/callbacks/DataCallbacks.ts
#	project/src/callbacks/DialogueCallbacks.ts
#	project/src/callbacks/GameCallbacks.ts
#	project/src/callbacks/HandbookCallbacks.ts
#	project/src/callbacks/HealthCallbacks.ts
#	project/src/callbacks/HttpCallbacks.ts
#	project/src/callbacks/LauncherCallbacks.ts
#	project/src/callbacks/LocationCallbacks.ts
#	project/src/callbacks/MatchCallbacks.ts
#	project/src/callbacks/ModCallbacks.ts
#	project/src/callbacks/NotifierCallbacks.ts
#	project/src/callbacks/PresetCallbacks.ts
#	project/src/callbacks/ProfileCallbacks.ts
#	project/src/callbacks/RagfairCallbacks.ts
#	project/src/callbacks/TraderCallbacks.ts
#	project/src/context/ApplicationContext.ts
#	project/src/context/ContextVariableType.ts
#	project/src/controllers/BotController.ts
#	project/src/controllers/CustomizationController.ts
#	project/src/controllers/DialogueController.ts
#	project/src/controllers/GameController.ts
#	project/src/controllers/HealthController.ts
#	project/src/controllers/HideoutController.ts
#	project/src/controllers/InraidController.ts
#	project/src/controllers/InsuranceController.ts
#	project/src/controllers/InventoryController.ts
#	project/src/controllers/LauncherController.ts
#	project/src/controllers/LocationController.ts
#	project/src/controllers/MatchController.ts
#	project/src/controllers/QuestController.ts
#	project/src/controllers/RagfairController.ts
#	project/src/controllers/RepeatableQuestController.ts
#	project/src/controllers/TradeController.ts
#	project/src/di/Container.ts
#	project/src/di/Router.ts
#	project/src/generators/BotEquipmentModGenerator.ts
#	project/src/generators/BotLevelGenerator.ts
#	project/src/generators/BotWeaponGenerator.ts
#	project/src/generators/LocationGenerator.ts
#	project/src/generators/LootGenerator.ts
#	project/src/generators/RepeatableQuestGenerator.ts
#	project/src/generators/WeatherGenerator.ts
#	project/src/generators/weapongen/InventoryMagGen.ts
#	project/src/generators/weapongen/implementations/BarrelInventoryMagGen.ts
#	project/src/generators/weapongen/implementations/ExternalInventoryMagGen.ts
#	project/src/helpers/AssortHelper.ts
#	project/src/helpers/BotGeneratorHelper.ts
#	project/src/helpers/InRaidHelper.ts
#	project/src/helpers/ProfileHelper.ts
#	project/src/helpers/RagfairHelper.ts
#	project/src/helpers/RagfairOfferHelper.ts
#	project/src/helpers/TraderHelper.ts
#	project/src/loaders/ModLoadOrder.ts
#	project/src/loaders/PostDBModLoader.ts
#	project/src/loaders/PreAkiModLoader.ts
#	project/src/models/eft/common/IGlobals.ts
#	project/src/models/eft/common/ILocationBase.ts
#	project/src/models/eft/common/tables/IBotBase.ts
#	project/src/models/eft/common/tables/IProfileTemplate.ts
#	project/src/models/eft/common/tables/ITemplateItem.ts
#	project/src/models/eft/dialog/IAcceptFriendRequestData.ts
#	project/src/models/eft/dialog/IDeleteFriendRequest.ts
#	project/src/models/eft/game/IGameConfigResponse.ts
#	project/src/models/eft/game/IGameKeepAliveResponse.ts
#	project/src/models/eft/game/IGameStartResponse.ts
#	project/src/models/eft/match/IJoinMatchResult.ts
#	project/src/models/eft/notifier/INotifier.ts
#	project/src/models/eft/profile/GetProfileStatusResponseData.ts
#	project/src/models/eft/trade/IProcessBuyTradeRequestData.ts
#	project/src/models/eft/trade/IProcessSellTradeRequestData.ts
#	project/src/models/enums/WildSpawnTypeNumber.ts
#	project/src/models/spt/bots/BotGenerationDetails.ts
#	project/src/models/spt/config/IBotConfig.ts
#	project/src/models/spt/config/IBotDurability.ts
#	project/src/models/spt/config/IInRaidConfig.ts
#	project/src/models/spt/config/ILocationConfig.ts
#	project/src/models/spt/config/IQuestConfig.ts
#	project/src/models/spt/config/ISeasonalEventConfig.ts
#	project/src/models/spt/server/ILocations.ts
#	project/src/models/spt/utils/IUuidGenerator.ts
#	project/src/routers/dynamic/BotDynamicRouter.ts
#	project/src/routers/dynamic/BundleDynamicRouter.ts
#	project/src/routers/dynamic/CustomizationDynamicRouter.ts
#	project/src/routers/dynamic/DataDynamicRouter.ts
#	project/src/routers/dynamic/HttpDynamicRouter.ts
#	project/src/routers/dynamic/InraidDynamicRouter.ts
#	project/src/routers/dynamic/LocationDynamicRouter.ts
#	project/src/routers/dynamic/NotifierDynamicRouter.ts
#	project/src/routers/dynamic/TraderDynamicRouter.ts
#	project/src/routers/save_load/InsuranceSaveLoadRouter.ts
#	project/src/routers/save_load/ProfileSaveLoadRouter.ts
#	project/src/routers/serializers/NotifySerializer.ts
#	project/src/routers/static/BotStaticRouter.ts
#	project/src/routers/static/BundleStaticRouter.ts
#	project/src/routers/static/ClientLogStaticRouter.ts
#	project/src/routers/static/CustomizationStaticRouter.ts
#	project/src/routers/static/DataStaticRouter.ts
#	project/src/routers/static/DialogStaticRouter.ts
#	project/src/routers/static/GameStaticRouter.ts
#	project/src/routers/static/HealthStaticRouter.ts
#	project/src/routers/static/InraidStaticRouter.ts
#	project/src/routers/static/InsuranceStaticRouter.ts
#	project/src/routers/static/ItemEventStaticRouter.ts
#	project/src/routers/static/LauncherStaticRouter.ts
#	project/src/routers/static/LocationStaticRouter.ts
#	project/src/routers/static/MatchStaticRouter.ts
#	project/src/routers/static/NotifierStaticRouter.ts
#	project/src/routers/static/PresetStaticRouter.ts
#	project/src/routers/static/ProfileStaticRouter.ts
#	project/src/routers/static/QuestStaticRouter.ts
#	project/src/routers/static/RagfairStaticRouter.ts
#	project/src/routers/static/TraderStaticRouter.ts
#	project/src/routers/static/WeatherStaticRouter.ts
#	project/src/services/BotEquipmentFilterService.ts
#	project/src/services/BotGenerationCacheService.ts
#	project/src/services/BotWeaponModLimitService.ts
#	project/src/services/PaymentService.ts
#	project/src/services/ProfileFixerService.ts
#	project/src/services/RagfairOfferService.ts
#	project/src/services/RagfairTaxService.ts
#	project/src/services/RepairService.ts
#	project/src/services/SeasonalEventService.ts
#	project/src/utils/RagfairOfferHolder.ts
#	project/src/utils/TimeUtil.ts
#	project/src/utils/UUidGenerator.ts
#	project/src/utils/VFS.ts
#	project/src/utils/collections/queue/Queue.ts
#	project/src/utils/logging/AbstractWinstonLogger.ts
#	project/src/utils/logging/WinstonMainLogger.ts
#	project/src/utils/logging/WinstonRequestLogger.ts
#	project/tests/utils/TimeUtil.test.ts

Manually resolved by Refringe.
2023-11-16 23:35:11 -05:00
083a2a798e Removes Old Jest Tests (!169)
These should not be used. Branch `3.8.0` has newer Vitest tests configured.

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: SPT-AKI/Server#169
2023-11-16 22:12:51 +00:00
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: SPT-AKI/Server#168
2023-11-16 21:42:06 +00:00
33c3dd48e4
Disables dprint import/export sorting & adds a fix option for the linting errors. 2023-11-13 11:37:49 -05:00
fe614670b7
Implements dprint formatting library. 2023-11-10 11:29:56 -05:00
8c8ccdc787 Removed rome from devDependencies 2023-11-08 19:53:03 +00:00
a7334c198b Fixed check:circular script 2023-11-08 19:53:02 +00:00
3ba9e48a3e
Updates TimeUtil Class
- Adds the `date-fns-tz` module to dep.
- Moves the `date-fns` module from development dependancies to dependancies.
- Removes the depreciated `substr` method usage.
- Adds the `pad` method to handle padding time digits.
- Dates and times are now standardized UTC.
- Adds basic tests for all methods.
2023-11-07 21:32:57 -05:00
0fff6afc8c switched coverage provider from v8 to istanbul 2023-11-04 21:07:44 +00:00