mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-13 06:10:44 -05:00
This is a big one. 🔥
**Changes:**
- Targets next major release (v4.0.0)
- Switch runtimes from NodeJS to BunJS (bun.sh)
- Typescript library support moved to `ESNext`
- Typescript compile option `verbatimModuleSyntax` enabled
- Updated all interfaces to be imported explicitly as types
- Strict mode enabled
- Reduces the number of tsconfig files
- Pins all dep packages to specific patch versions
- Includes Bun lock file in repo (doesn't cause issues like the
package-lock did)
- Replaces Gulp with a new Typescript based build system
- Adds `core-js` as a workaround for Bun not playing nice with
`reflect-metadata`
- Removes `pkg` and `swc` (Yay Bun!)
- Updated package scripts and entry point system to be more intuitive
- Updated VSCode workspace configurations
- Updated `.gitignore` to align with updated project structure
- Updated Biome configuration to align with updated project structure
- `Program.ts` - Removes call to set encoding on the process
- `global.d.ts` - Added underscores to build globals to match other
global names
- `JsonUtil.ts` - Replaced old `fixJson` package with newer `jsonrepair`
package
- `HashUtil.ts` - Replaced old `buffer-crc32` package with built-in
`node:zlib` package
- `DatabaseImporter.ts` - Updates database validation object to be flat,
where the keys are the relative path to the file
- `BunTimer.ts` - Adds an easy to use timer class that's compatible with
nanoseconds.
**TODO:**
- Look into mod loading. I think we use a TS transpiler for mods and I
believe that can be removed now.
- Bun includes a number of APIs that can be used in place of Node's
packages (built-in or otherwise); HTTP server, WebSocket server, File
IO, Hashing, File Globing, Testing... Each of these should be utilized
where ever possible.
- Update in-repo documentation to reference BunJS instead of NodeJS.
76 lines
2.7 KiB
JSON
76 lines
2.7 KiB
JSON
{
|
|
"name": "spt-server",
|
|
"version": "4.0.0",
|
|
"author": "SPT Server",
|
|
"license": "NCSA",
|
|
"main": "src/ide/local.ts",
|
|
"repository": "https://dev.sp-tarkov.com/SPT/Server",
|
|
"description": "The single-player modding framework for Escape From Tarkov.",
|
|
"icon": "assets/images/icon.ico",
|
|
"scripts": {
|
|
"check:circular": "madge --circular --ts-config tsconfig.json --extensions ts ./src/",
|
|
"lint": "bunx @biomejs/biome lint ./",
|
|
"lint:fix": "bunx @biomejs/biome lint --write ./",
|
|
"style": "bunx @biomejs/biome format ./",
|
|
"style:fix": "bunx @biomejs/biome format --write ./",
|
|
"format": "bunx @biomejs/biome check --write ./",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:ui": "vitest --ui --coverage",
|
|
"build": "bun ./src/tools/build/project.ts --type=debug",
|
|
"build:release": "bun ./src/tools/build/project.ts --type=release",
|
|
"build:bleeding": "bun ./src/tools/build/project.ts --type=bleeding",
|
|
"build:bleedingMods ": "bun ./src/tools/build/project.ts --type=bleedingMods",
|
|
"start": "bun ./src/ide/local.ts",
|
|
"start:exe": "bun ./src/tools/build/project.ts --type=debug --start=true",
|
|
"gen:types": "tsc -p tsconfig.typedef.json",
|
|
"gen:items": "bun ./src/tools/ItemTplGenerator/ItemTplGeneratorProgram.ts",
|
|
"gen:quests": "bun ./src/tools/ProductionQuestsGen/ProductionQuestsGenProgram.ts"
|
|
},
|
|
"dependencies": {
|
|
"@types/minimist": "^1.2.5",
|
|
"atomically": "2.0.3",
|
|
"core-js": "3.39.0",
|
|
"date-fns": "4.1.0",
|
|
"date-fns-tz": "3.2.0",
|
|
"fs-extra": "11.2.0",
|
|
"i18n": "0.15.1",
|
|
"json5": "2.2.3",
|
|
"jsonc": "2.0.0",
|
|
"jsonrepair": "3.11.2",
|
|
"logform": "2.7.0",
|
|
"mongoid-js": "1.3.0",
|
|
"proper-lockfile": "4.1.2",
|
|
"reflect-metadata": "0.2.2",
|
|
"semver": "7.6.3",
|
|
"string-similarity-js": "2.1.4",
|
|
"tsyringe": "4.8.0",
|
|
"typescript": "5.7.2",
|
|
"winston": "3.17.0",
|
|
"winston-daily-rotate-file": "5.0.0",
|
|
"ws": "8.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "1.9.4",
|
|
"@pnpm/exe": "9.15.1",
|
|
"@types/bun": "1.1.14",
|
|
"@types/i18n": "0.13.12",
|
|
"@types/node": "22.10.2",
|
|
"@types/proper-lockfile": "4.1.4",
|
|
"@types/semver": "7.5.8",
|
|
"@types/ws": "8.5.13",
|
|
"@vitest/coverage-istanbul": "2.1.8",
|
|
"@vitest/ui": "2.1.8",
|
|
"madge": "8.0.0",
|
|
"minimist": "1.2.8",
|
|
"nano-spawn": "0.2.0",
|
|
"resedit": "2.0.3",
|
|
"tar": "7.4.3"
|
|
},
|
|
"trustedDependencies": [
|
|
"@biomejs/biome",
|
|
"core-js"
|
|
]
|
|
}
|