mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-13 09:50:43 -05:00
This adds the `FileSystem` and `FileSystemSync` classes to replace the VFS class. These classes handle file system operations using `fs-extra` for most tasks, except where the `atomically` package can be used to improve reads and writes. The goal is to ensure that file operations are as safe as possible while still providing a comfortable API. File operation atomicity is focused on single files, as there's no trivial, strict way to ensure atomicity for directory operations. ## Changes - Adds `FileSystem` class for asynchronous file operations - Adds `FileSystemSync` class for synchronous file operations - Updates `atomically` to `2.0.3` - Updates build script to transpiles ESM modules - Resolves `AbstractWinstonLogger` bug that could cause a log file to be overwritten - Removes `VFS` class - Removes `AsyncQueue` class - Removes `proper-lockfile` package ## TODO - Test anything that touches a file. I'm leaving this in a draft state until I can test this further. Help is more than welcome at this point. The classes are pretty solid, but ensuring that they're being used properly throughout the existing code still needs work. --------- Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
430 lines
16 KiB
JSON
430 lines
16 KiB
JSON
{
|
|
"blacklist": [
|
|
"54490a4d4bdc2dbc018b4573",
|
|
"544a3d0a4bdc2d1b388b4567",
|
|
"55d617094bdc2d89028b4568",
|
|
"590de52486f774226a0c24c2",
|
|
"5648b62b4bdc2d9d488b4585",
|
|
"544a3f024bdc2d1d388b4568",
|
|
"590de4a286f77423d9312a32",
|
|
"5751961824597720a31c09ac",
|
|
"63b35f281745dd52341e5da7",
|
|
"5996f6cb86f774678763a6ca",
|
|
"5996f6d686f77467977ba6cc",
|
|
"5943d9c186f7745a13413ac9",
|
|
"5cdeb229d7f00c000e7ce174",
|
|
"5996f6fc86f7745e585b4de3",
|
|
"5cde8864d7f00c0010373be1",
|
|
"5d2f2ab648f03550091993ca",
|
|
"5ae083b25acfc4001a5fc702",
|
|
"5e85aac65505fa48730d8af2",
|
|
"58ac60eb86f77401897560ff",
|
|
"59e8936686f77467ce798647",
|
|
"56e294cdd2720b603a8b4575",
|
|
"5d53f4b7a4b936793d58c780",
|
|
"6241c316234b593b5676b637",
|
|
"5e99735686f7744bfc4af32c",
|
|
"62811d61578c54356d6d67ea",
|
|
"6281214c1d5df4475f46a33a",
|
|
"6281215b4fa03b6b6c35dc6c",
|
|
"628121651d5df4475f46a33c",
|
|
"628120415631d45211793c99",
|
|
"628120f210e26c1f344e6558",
|
|
"5ede47641cf3836a88318df1",
|
|
"5d70e500a4b9364de70d38ce",
|
|
"624c0570c9b794431568f5d5",
|
|
"624c09cfbc2e27219346d955",
|
|
"624c09da2cec124eb67c1046",
|
|
"624c09e49b98e019a3315b66",
|
|
"5cffa483d7ad1a049e54ef1c",
|
|
"5f647fd3f6e4ab66c82faed6",
|
|
"5671446a4bdc2d97058b4569",
|
|
"57518f7724597720a31c09ab",
|
|
"61a4cda622af7f4f6a3ce617",
|
|
"6087e570b998180e9f76dc24",
|
|
"5efdafc1e70b5e33f86de058",
|
|
"63dbd45917fff4dee40fe16e",
|
|
"648c1a965043c4052a4f8505",
|
|
"5ae089fb5acfc408fb13989b",
|
|
"6241c2c2117ad530666a5108",
|
|
"5580239d4bdc2de7118b4583",
|
|
"66da1b49099cf6adcc07a36b",
|
|
"66da1b546916142b3b022777",
|
|
"670ad7f1ad195290cd00da7a",
|
|
"66ec2aa6daf127599c0c31f1",
|
|
"67654a6759116d347b0bfb86",
|
|
"5751916f24597720a27126df",
|
|
"57518f7724597720a31c09ab",
|
|
"57518fd424597720c85dbaaa",
|
|
"5a043f2c86f7741aa57b5145",
|
|
"5a0448bc86f774736f14efa8"
|
|
],
|
|
"rewardItemTypeBlacklist": ["65649eb40bf0ed77b8044453"],
|
|
"lootableItemBlacklist": ["660bbc47c38b837877075e47", "660bc341c38b837877075e4c"],
|
|
"rewardItemBlacklist": [
|
|
"58ac60eb86f77401897560ff",
|
|
"5e997f0b86f7741ac73993e2",
|
|
"5b44abe986f774283e2e3512",
|
|
"5e99711486f7744bfc4af328",
|
|
"5e99735686f7744bfc4af32c",
|
|
"6087e570b998180e9f76dc24",
|
|
"5d52d479a4b936793d58c76b",
|
|
"5e85aac65505fa48730d8af2",
|
|
"63495c500c297e20065a08b1",
|
|
"5cde8864d7f00c0010373be1",
|
|
"5b3b713c5acfc4330140bd8d",
|
|
"60c080eb991ac167ad1c3ad4",
|
|
"6389c7f115805221fb410466",
|
|
"64d0b40fbe2eed70e254e2d4",
|
|
"6389c88b33a719183c7f63b6",
|
|
"57cd379a24597778e7682ecf",
|
|
"5fc64ea372b0dd78d51159dc",
|
|
"5c0e842486f77443a74d2976",
|
|
"5c0e874186f7745dc7616606",
|
|
"5c0e541586f7747fa54205c9",
|
|
"63626d904aa74b8fe30ab426",
|
|
"6275303a9f372d6ea97f9ec7",
|
|
"628bc7fb408e2b2e9c0801b1",
|
|
"5ede4739e0350d05467f73e8",
|
|
"5ede47405b097655935d7d16",
|
|
"5ede474b0c226a66f5402622",
|
|
"5ede475339ee016e8c534742",
|
|
"5ede475b549eed7c6d5c18fb",
|
|
"62e910aaf957f2915e0a5e36",
|
|
"619bc61e86e01e16f839a999",
|
|
"619bddc6c9546643a67df6ee",
|
|
"6241c316234b593b5676b637",
|
|
"5d70e500a4b9364de70d38ce",
|
|
"619bde3dc9546643a67df6f2",
|
|
"619bdeb986e01e16f839a99e",
|
|
"619bddffc9546643a67df6f0",
|
|
"619bdf9cc9546643a67df6f8",
|
|
"63a0b2eabea67a6d93009e52",
|
|
"5d2f2ab648f03550091993ca",
|
|
"614451b71e5874611e2c7ae5",
|
|
"59f32bb586f774757e1e8442",
|
|
"6662e9aca7e0b43baa3d5f74",
|
|
"6662e9cda7e0b43baa3d5f76",
|
|
"59f32c3b86f77472a31742f0",
|
|
"6662e9f37fa79a6d83730fa0",
|
|
"6662ea05f6259762c56f3189",
|
|
"6638a5474e92f038531e210e",
|
|
"65ddcc9cfa85b9f17d0dfb07",
|
|
"6331ba83f2ab4f3f09502983",
|
|
"6331bb0d1aa9f42b804997a6",
|
|
"66d9f7e7099cf6adcc07a369",
|
|
"6655e35b6bc645cb7b059912",
|
|
"66d9f7256916142b3b02276e",
|
|
"671d85439ae8365d69117ba6",
|
|
"671d8617a3e45c1f5908278c",
|
|
"670e8eab8c1bb0e5a7075acf",
|
|
"671d8ac8a3e45c1f59082799",
|
|
"671d8b38b769f0d88c0950f8",
|
|
"671d8b8c0959c721a50ca838",
|
|
"660bc341c38b837877075e4c",
|
|
"67409848d0b2f8eb9b034db9",
|
|
"67449b6c89d5e1ddc603f504",
|
|
"675aab0d6b6addc02a08f097",
|
|
"675aaae1dcf102478202c537",
|
|
"675aaa9a3107dac100063331",
|
|
"675aaae75a3ab8372d0b02a7",
|
|
"675aaab74bca0b001d02f356",
|
|
"675aaa8f7f3c962069072b27",
|
|
"675aaaf674a7619a5304c233",
|
|
"675aaa003107dac10006332f",
|
|
"6764207f2fa5e32733055c4a",
|
|
"6764202ae307804338014c1a",
|
|
"6707d13e4e617ec94f0e5631",
|
|
"675dc9d37ae1a8792107ca96",
|
|
"675dcb0545b1a2d108011b2b",
|
|
"66d9f8744827a77e870ecaf1",
|
|
"6707d0804e617ec94f0e562f",
|
|
"67449b6c89d5e1ddc603f504",
|
|
"6740987b89d5e1ddc603f4f0",
|
|
"6707d0bdaab679420007e01a"
|
|
],
|
|
"bossItems": [
|
|
"6275303a9f372d6ea97f9ec7",
|
|
"62a61bbf8ec41a51b34758d2",
|
|
"628e4dd1f477aa12234918aa",
|
|
"628b9784bcf6e2659e09b8a2",
|
|
"628bc7fb408e2b2e9c0801b1",
|
|
"628baf0b967de16aab5a4f36",
|
|
"62963c18dbc8ab5f0d382d0b",
|
|
"628b9c7d45122232a872358f",
|
|
"5fc64ea372b0dd78d51159dc",
|
|
"64ca3d3954fc657e230529cc",
|
|
"64637076203536ad5600c990",
|
|
"5c0e874186f7745dc7616606",
|
|
"5c0e842486f77443a74d2976",
|
|
"5c0e541586f7747fa54205c9",
|
|
"5b3b713c5acfc4330140bd8d",
|
|
"5e997f0b86f7741ac73993e2",
|
|
"5d08d21286f774736e7c94c3",
|
|
"6087e570b998180e9f76dc24",
|
|
"60a7ad2a2198820d95707a2e",
|
|
"60a7ad3a0c5cb24b0134664a",
|
|
"60a7acf20c5cb24b01346648",
|
|
"636270263f2495c26f00b007",
|
|
"63626d904aa74b8fe30ab426",
|
|
"63611865ba5b90db0c0399d1",
|
|
"5eff09cd30a7dc22fd1ddfed",
|
|
"5efde6b4f5448336730dbd61",
|
|
"609e860ebd219504d8507525",
|
|
"63a0b208f444d32d6f03ea1e",
|
|
"63495c500c297e20065a08b1",
|
|
"6530e8587cbfc1e309011e37",
|
|
"6531119b9afebff7ff0a1769",
|
|
"6540d2162ae6d96b540afcaf",
|
|
"5e99735686f7744bfc4af32c",
|
|
"5e99711486f7744bfc4af328",
|
|
"61b9e1aaef9a1b5d6a79899a",
|
|
"5a43943586f77416ad2f06e2",
|
|
"5a43957686f7742a2c2f11b0",
|
|
"5c1a1e3f2e221602b66cc4c2"
|
|
],
|
|
"handbookPriceOverride": {
|
|
"63a8970d7108f713591149f5": { "price": 5000, "parentId": "5b5f6fa186f77409407a7eb7" },
|
|
"63a898a328e385334e0640a5": { "price": 20000, "parentId": "5b5f6fa186f77409407a7eb7" },
|
|
"63a897c6b1ff6e29734fcc95": { "price": 40000, "parentId": "5b5f6fa186f77409407a7eb7" }
|
|
},
|
|
"customItemGlobalPresets": [
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "675956062f6ddfe8ff0e2806",
|
|
"_id": "6777b37393a9a6f10ea57501",
|
|
"_items": [
|
|
{
|
|
"_id": "6777bee3324b2e0cf7b7cfe1",
|
|
"_tpl": "675956062f6ddfe8ff0e2806"
|
|
},
|
|
{
|
|
"_id": "6777c029e3703d1f9dc47d15",
|
|
"_tpl": "676307c004856a0b3c0dfffd",
|
|
"parentId": "6777bee3324b2e0cf7b7cfe1",
|
|
"slotId": "Helmet_top"
|
|
},
|
|
{
|
|
"_id": "6777c030386bec3cd3c41b6e",
|
|
"_tpl": "676307b4d9ec0af3d9001fa8",
|
|
"parentId": "6777bee3324b2e0cf7b7cfe1",
|
|
"slotId": "Helmet_back"
|
|
}
|
|
],
|
|
"_name": "MTEK FLUX Ballistic helmet (MultiCam Alpine) Default",
|
|
"_parent": "6777bee3324b2e0cf7b7cfe1",
|
|
"_type": "Preset"
|
|
},
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "6759655674aa5e0825040d62",
|
|
"_id": "6777bf37e10ffdb431ff9508",
|
|
"_items": [
|
|
{
|
|
"_id": "6777bf03ad549e66e7ad06b2",
|
|
"_tpl": "6759655674aa5e0825040d62"
|
|
},
|
|
{
|
|
"_id": "6777c02180ddaee0b54493da",
|
|
"_tpl": "676307c004856a0b3c0dfffd",
|
|
"parentId": "6777bf03ad549e66e7ad06b2",
|
|
"slotId": "Helmet_top"
|
|
},
|
|
{
|
|
"_id": "6777c00f41b022243abdac99",
|
|
"_tpl": "676307b4d9ec0af3d9001fa8",
|
|
"parentId": "6777bf03ad549e66e7ad06b2",
|
|
"slotId": "Helmet_back"
|
|
}
|
|
],
|
|
"_name": "MTEK FLUX Ballistic helmet (Olive Drab) Default",
|
|
"_parent": "6777bf03ad549e66e7ad06b2",
|
|
"_type": "Preset"
|
|
},
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "67597ceea35600b4c10cea86",
|
|
"_id": "6777bfee0658691ef27d9993",
|
|
"_items": [
|
|
{
|
|
"_id": "6777bfaaaf1999ce0701bc00",
|
|
"_tpl": "67597ceea35600b4c10cea86"
|
|
},
|
|
{
|
|
"_id": "6777c01b07b5d347d6b99404",
|
|
"_tpl": "676307ded8b241b4f703a3e8",
|
|
"parentId": "6777bfaaaf1999ce0701bc00",
|
|
"slotId": "Helmet_top"
|
|
},
|
|
{
|
|
"_id": "6777c0033f374912b965ae5a",
|
|
"_tpl": "676307d3d9ec0af3d9001fac",
|
|
"parentId": "6777bfaaaf1999ce0701bc00",
|
|
"slotId": "Helmet_back"
|
|
}
|
|
],
|
|
"_name": "MTEK FLUX Ballistic helmet (Coyote) Default",
|
|
"_parent": "6777bfaaaf1999ce0701bc00",
|
|
"_type": "Preset"
|
|
},
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "67597d241d5a44f2f605df06",
|
|
"_id": "6777c1244557b9b1474da362",
|
|
"_items": [
|
|
{
|
|
"_id": "6777c10f4989fc544063b5a1",
|
|
"_tpl": "67597d241d5a44f2f605df06"
|
|
},
|
|
{
|
|
"_id": "6777c1293c00b35cd6960536",
|
|
"_tpl": "676307ded8b241b4f703a3e8",
|
|
"parentId": "6777c10f4989fc544063b5a1",
|
|
"slotId": "Helmet_top"
|
|
},
|
|
{
|
|
"_id": "6777c12f8fc234973af0cf16",
|
|
"_tpl": "676307d3d9ec0af3d9001fac",
|
|
"parentId": "6777c10f4989fc544063b5a1",
|
|
"slotId": "Helmet_back"
|
|
}
|
|
],
|
|
"_name": "MTEK FLUX Ballistic helmet (Coyote/MultiCam Arid) Default",
|
|
"_parent": "6777c10f4989fc544063b5a1",
|
|
"_type": "Preset"
|
|
},
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "674d91ce6e862d5a95059ed6",
|
|
"_id": "67784df15058057382b28f87",
|
|
"_items": [
|
|
{
|
|
"_id": "67784dfaf57296ecbdbfc87f",
|
|
"_tpl": "674d91ce6e862d5a95059ed6"
|
|
},
|
|
{
|
|
"_id": "67784e27ee352de60dc982a3",
|
|
"_tpl": "6575ea3060703324250610da",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Soft_armor_front"
|
|
},
|
|
{
|
|
"_id": "67784e32d75f52daffe36de5",
|
|
"_tpl": "6575ea4cf6a13a7b7100adc4",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Soft_armor_back"
|
|
},
|
|
{
|
|
"_id": "67784e36e778f8aace662e1d",
|
|
"_tpl": "6575ea5cf6a13a7b7100adc8",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Soft_armor_left"
|
|
},
|
|
{
|
|
"_id": "67784e3c0e4afac4ebdab52d",
|
|
"_tpl": "6575ea6760703324250610de",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "soft_armor_right"
|
|
},
|
|
{
|
|
"_id": "67784e40832d547cb2c986bf",
|
|
"_tpl": "6575ea719c7cad336508e418",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Collar"
|
|
},
|
|
{
|
|
"_id": "67784e446c92fcb0e0d8fea8",
|
|
"_tpl": "6575ea7c60703324250610e2",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Groin"
|
|
},
|
|
{
|
|
"_id": "67784e473abf2a39a05dba5a",
|
|
"_tpl": "656f611f94b480b8a500c0db",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Front_plate"
|
|
},
|
|
{
|
|
"_id": "67784e4b934ace8451681bee",
|
|
"_tpl": "656efaf54772930db4031ff5",
|
|
"parentId": "67784dfaf57296ecbdbfc87f",
|
|
"slotId": "Back_plate"
|
|
}
|
|
],
|
|
"_name": "Body armor 6B13 M Killa Christmas Standard",
|
|
"_parent": "67784dfaf57296ecbdbfc87f",
|
|
"_type": "Preset"
|
|
},
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "6745895717824b1ec20570a6",
|
|
"_id": "677d14927f8ee8353d85918d",
|
|
"_items": [
|
|
{
|
|
"_id": "677d14a27757dcc54a3054fb",
|
|
"_tpl": "6745895717824b1ec20570a6"
|
|
},
|
|
{
|
|
"_id": "677d14abef2285ed18ee3e62",
|
|
"_tpl": "657baaf0b7e9ca9a02045c02",
|
|
"parentId": "677d14a27757dcc54a3054fb",
|
|
"slotId": "Helmet_top"
|
|
},
|
|
{
|
|
"_id": "677d14b0024eda59d1544794",
|
|
"_tpl": "657bab6ec6f689d3a205b85f",
|
|
"parentId": "677d14a27757dcc54a3054fb",
|
|
"slotId": "Helmet_back"
|
|
},
|
|
{
|
|
"_id": "677d14bb1dfea5b33fa31337",
|
|
"_tpl": "657babc6f58ba5a6250107a2",
|
|
"parentId": "677d14a27757dcc54a3054fb",
|
|
"slotId": "Helmet_ears"
|
|
}
|
|
],
|
|
"_name": "6B47 Ratnik-BSh helmet (EMR Arctic cover) default",
|
|
"_parent": "677d14a27757dcc54a3054fb",
|
|
"_type": "Preset"
|
|
},
|
|
{
|
|
"_changeWeaponName": false,
|
|
"_encyclopedia": "6759af0f9c8a538dd70bfae6",
|
|
"_id": "677e90e191de7ae4136e3967",
|
|
"_items": [
|
|
{
|
|
"_id": "677e90d1fc28426ede1448bd",
|
|
"_tpl": "6759af0f9c8a538dd70bfae6"
|
|
},
|
|
{
|
|
"_id": "677e90e71b6c92662b1b5cce",
|
|
"_tpl": "6571133d22996eaf11088200",
|
|
"parentId": "677e90d1fc28426ede1448bd",
|
|
"slotId": "Helmet_top"
|
|
},
|
|
{
|
|
"_id": "677e90ef6b6b559c36d31485",
|
|
"_tpl": "6571138e818110db4600aa71",
|
|
"parentId": "677e90d1fc28426ede1448bd",
|
|
"slotId": "Helmet_back"
|
|
},
|
|
{
|
|
"_id": "677e90f2e2de53f5b48dd35d",
|
|
"_tpl": "657112fa818110db4600aa6b",
|
|
"parentId": "677e90d1fc28426ede1448bd",
|
|
"slotId": "Helmet_ears"
|
|
},
|
|
{
|
|
"_id": "677e90f61cc7ed9f89331cac",
|
|
"_tpl": "5c0e842486f77443a74d2976",
|
|
"parentId": "677e90d1fc28426ede1448bd",
|
|
"slotId": "mod_equipment"
|
|
}
|
|
],
|
|
"_name": "Maska-1SCh bulletproof helmet (Christmas Edition) default",
|
|
"_parent": "677e90d1fc28426ede1448bd",
|
|
"_type": "Preset"
|
|
}
|
|
]
|
|
}
|