@jeremyckahn/farmhand 1.19.21 → 1.19.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/dist/assets/{index-CG_lY1MJ.js → index-BjAIF9CZ.js} +7 -7
  2. package/dist/assets/{index-CG_lY1MJ.js.map → index-BjAIF9CZ.js.map} +1 -1
  3. package/dist/index.html +1 -1
  4. package/dist/service-worker.js +1 -1
  5. package/dist/service-worker.js.map +1 -1
  6. package/package.json +2 -3
  7. package/src/common/services/{randomNumber.ts → randomNumber.js} +0 -1
  8. package/src/common/{utils.ts → utils.js} +1 -1
  9. package/src/components/AccountingView/{AccountingView.tsx → AccountingView.js} +0 -1
  10. package/src/components/AchievementsView/{AchievementsView.tsx → AchievementsView.js} +0 -2
  11. package/src/components/AnimatedNumber/{AnimatedNumber.tsx → AnimatedNumber.js} +0 -3
  12. package/src/components/AppBar/{AppBar.tsx → AppBar.js} +0 -3
  13. package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.tsx → BailOutErrorBoundary.js} +0 -2
  14. package/src/components/Cellar/{CellarInventoryTabPanel.tsx → CellarInventoryTabPanel.js} +0 -2
  15. package/src/components/Cellar/{Keg.tsx → Keg.js} +1 -0
  16. package/src/components/ContextPane/{ContextPane.tsx → ContextPane.js} +0 -2
  17. package/src/components/ContextPane/{ContextPane.test.tsx → ContextPane.test.js} +0 -3
  18. package/src/components/CowCard/Bloodline/{Bloodline.test.tsx → Bloodline.test.js} +3 -6
  19. package/src/components/CowCard/{CowCard.tsx → CowCard.js} +2 -4
  20. package/src/components/CowCard/Subheader/{Subheader.tsx → Subheader.js} +0 -1
  21. package/src/components/CowPen/{Cow.tsx → Cow.js} +1 -15
  22. package/src/components/CowPen/{CowPen.test.tsx → CowPen.test.js} +1 -15
  23. package/src/components/CowPen/{Tumbleweeds.tsx → Tumbleweeds.js} +1 -2
  24. package/src/components/Farmhand/{Farmhand.context.tsx → Farmhand.context.js} +2 -2
  25. package/src/components/Farmhand/{Farmhand.tsx → Farmhand.js} +16 -83
  26. package/src/components/FermentationRecipeList/{FermentationRecipe.tsx → FermentationRecipe.js} +3 -4
  27. package/src/components/FermentationRecipeList/{FermentationRecipeList.tsx → FermentationRecipeList.js} +0 -3
  28. package/src/components/FermentationRecipeList/{FermentationRecipeList.test.tsx → FermentationRecipeList.test.js} +0 -5
  29. package/src/components/Field/{Field.tsx → Field.js} +1 -6
  30. package/src/components/Field/{Field.test.tsx → Field.test.js} +1 -0
  31. package/src/components/Home/{Home.tsx → Home.js} +0 -1
  32. package/src/components/Home/{SnowBackground.tsx → SnowBackground.js} +0 -2
  33. package/src/components/Inventory/{Inventory.tsx → Inventory.js} +2 -9
  34. package/src/components/Item/{Item.tsx → Item.js} +1 -2
  35. package/src/components/LogView/{LogView.tsx → LogView.js} +1 -2
  36. package/src/components/Navigation/{Navigation.tsx → Navigation.js} +1 -0
  37. package/src/components/NotificationSystem/{NotificationSystem.tsx → NotificationSystem.js} +1 -0
  38. package/src/components/OnlinePeersView/{OnlinePeersView.tsx → OnlinePeersView.js} +1 -1
  39. package/src/components/Plot/{Plot.tsx → Plot.js} +0 -5
  40. package/src/components/Plot/{Plot.test.tsx → Plot.test.js} +8 -8
  41. package/src/components/PriceEventView/{PriceEventView.test.tsx → PriceEventView.test.js} +0 -1
  42. package/src/components/ProgressBar/{ProgressBar.tsx → ProgressBar.js} +0 -2
  43. package/src/components/QuantityInput/{QuantityInput.tsx → QuantityInput.js} +0 -1
  44. package/src/components/Recipe/{Recipe.tsx → Recipe.js} +2 -1
  45. package/src/components/SettingsView/{RandomSeedInput.tsx → RandomSeedInput.js} +1 -1
  46. package/src/components/Shop/{Shop.tsx → Shop.js} +1 -2
  47. package/src/components/Stage/{Stage.tsx → Stage.js} +3 -6
  48. package/src/components/Stage/{Stage.test.tsx → Stage.test.js} +0 -1
  49. package/src/components/Toolbelt/{Toolbelt.tsx → Toolbelt.js} +0 -3
  50. package/src/components/UpgradePurchase/{UpgradePurchase.tsx → UpgradePurchase.js} +1 -0
  51. package/src/components/WineRecipeList/{WineRecipe.tsx → WineRecipe.js} +1 -2
  52. package/src/components/WineRecipeList/{WineRecipe.test.tsx → WineRecipe.test.js} +1 -10
  53. package/src/components/WineRecipeList/{WineRecipeList.tsx → WineRecipeList.js} +0 -1
  54. package/src/components/Workshop/{ForgeTabPanel.tsx → ForgeTabPanel.js} +0 -1
  55. package/src/components/Workshop/{getUpgradesAvailable.ts → getUpgradesAvailable.js} +0 -2
  56. package/src/components/Workshop/{getUpgradesAvailable.test.ts → getUpgradesAvailable.test.js} +0 -1
  57. package/src/{constants.ts → constants.js} +2 -2
  58. package/src/data/{achievements.ts → achievements.js} +0 -9
  59. package/src/data/{achievements.test.ts → achievements.test.js} +1 -2
  60. package/src/data/{crop.ts → crop.js} +4 -5
  61. package/src/data/crops/{asparagus.ts → asparagus.js} +0 -2
  62. package/src/data/crops/{carrot.ts → carrot.js} +0 -2
  63. package/src/data/crops/{corn.ts → corn.js} +0 -2
  64. package/src/data/crops/{garlic.ts → garlic.js} +0 -2
  65. package/src/data/crops/{grape.ts → grape.js} +7 -11
  66. package/src/data/crops/{jalapeno.ts → jalapeno.js} +0 -2
  67. package/src/data/crops/{olive.ts → olive.js} +0 -2
  68. package/src/data/crops/{onion.ts → onion.js} +0 -2
  69. package/src/data/crops/{pea.ts → pea.js} +0 -2
  70. package/src/data/crops/{potato.ts → potato.js} +0 -2
  71. package/src/data/crops/{pumpkin.ts → pumpkin.js} +0 -2
  72. package/src/data/crops/{soybean.ts → soybean.js} +0 -2
  73. package/src/data/crops/{spinach.ts → spinach.js} +0 -2
  74. package/src/data/crops/{strawberry.ts → strawberry.js} +0 -2
  75. package/src/data/crops/{sunflower.ts → sunflower.js} +0 -2
  76. package/src/data/crops/{sweet-potato.ts → sweet-potato.js} +0 -2
  77. package/src/data/crops/{tomato.ts → tomato.js} +0 -2
  78. package/src/data/crops/{watermelon.ts → watermelon.js} +0 -2
  79. package/src/data/crops/{wheat.ts → wheat.js} +0 -2
  80. package/src/data/{items.ts → items.js} +12 -12
  81. package/src/data/{levels.ts → levels.js} +0 -28
  82. package/src/data/{maps.ts → maps.js} +1 -2
  83. package/src/data/ores/{bronzeOre.ts → bronzeOre.js} +1 -1
  84. package/src/data/ores/{coal.ts → coal.js} +1 -1
  85. package/src/data/ores/{goldOre.ts → goldOre.js} +1 -1
  86. package/src/data/ores/{ironOre.ts → ironOre.js} +1 -1
  87. package/src/data/ores/{saltRock.ts → saltRock.js} +1 -1
  88. package/src/data/ores/{silverOre.ts → silverOre.js} +1 -1
  89. package/src/data/ores/{stone.ts → stone.js} +1 -1
  90. package/src/data/{recipes.ts → recipes.js} +43 -43
  91. package/src/{enums.ts → enums.js} +28 -28
  92. package/src/factories/{CoalFactory.ts → CoalFactory.js} +0 -2
  93. package/src/factories/{OreFactory.ts → OreFactory.js} +0 -3
  94. package/src/factories/{ResourceFactory.ts → ResourceFactory.js} +0 -4
  95. package/src/factories/{ResourceFactory.test.ts → ResourceFactory.test.js} +0 -4
  96. package/src/factories/{StoneFactory.ts → StoneFactory.js} +0 -1
  97. package/src/{fetch-utils.ts → fetch-utils.js} +0 -2
  98. package/src/game-logic/{field-purchase.test.ts → field-purchase.test.js} +2 -4
  99. package/src/game-logic/reducers/{applyCrows.ts → applyCrows.js} +0 -3
  100. package/src/game-logic/reducers/{applyLoanInterest.ts → applyLoanInterest.js} +1 -1
  101. package/src/game-logic/reducers/{applyPrecipitation.ts → applyPrecipitation.js} +6 -6
  102. package/src/game-logic/reducers/{computeStateForNextDay.ts → computeStateForNextDay.js} +2 -2
  103. package/src/game-logic/reducers/{makeFermentationRecipe.ts → makeFermentationRecipe.js} +0 -1
  104. package/src/game-logic/reducers/{makeWine.ts → makeWine.js} +0 -1
  105. package/src/game-logic/reducers/{makeWine.test.ts → makeWine.test.js} +2 -0
  106. package/src/game-logic/reducers/{minePlot.ts → minePlot.js} +0 -1
  107. package/src/game-logic/reducers/{processCellarSpoilage.ts → processCellarSpoilage.js} +1 -0
  108. package/src/game-logic/reducers/{processCellarSpoilage.test.ts → processCellarSpoilage.test.js} +5 -0
  109. package/src/game-logic/reducers/{processCowFertilizerProduction.ts → processCowFertilizerProduction.js} +1 -1
  110. package/src/game-logic/reducers/{processLevelUp.ts → processLevelUp.js} +0 -3
  111. package/src/game-logic/reducers/{purchaseField.test.ts → purchaseField.test.js} +0 -2
  112. package/src/game-logic/reducers/{purchaseForest.test.tsx → purchaseForest.test.js} +2 -6
  113. package/src/game-logic/reducers/{rotateNotificationLogs.ts → rotateNotificationLogs.js} +1 -1
  114. package/src/game-logic/reducers/{sellItem.test.ts → sellItem.test.js} +3 -0
  115. package/src/game-logic/reducers/{sellKeg.ts → sellKeg.js} +1 -0
  116. package/src/game-logic/reducers/{spawnWeeds.ts → spawnWeeds.js} +0 -1
  117. package/src/game-logic/reducers/{updateAchievements.ts → updateAchievements.js} +0 -1
  118. package/src/game-logic/reducers/{updatePeer.ts → updatePeer.js} +0 -1
  119. package/src/game-logic/reducers/{updatePeer.test.ts → updatePeer.test.js} +4 -0
  120. package/src/game-logic/reducers/{updatePlotShoveledState.test.ts → updatePlotShoveledState.test.js} +1 -0
  121. package/src/handlers/{peer-events.ts → peer-events.js} +0 -5
  122. package/src/handlers/{ui-events.tsx → ui-events.js} +6 -88
  123. package/src/handlers/{ui-events.test.ts → ui-events.test.js} +0 -2
  124. package/src/{index.tsx → index.js} +0 -2
  125. package/src/scripts/{generate-crop-table.ts → generate-crop-table.js} +4 -5
  126. package/src/services/{cellar.test.ts → cellar.test.js} +1 -1
  127. package/src/services/{wine.ts → wine.js} +0 -1
  128. package/src/shell/{notifications.test.ts → notifications.test.js} +13 -19
  129. package/src/{templates.ts → templates.js} +0 -8
  130. package/src/test-utils/{index.ts → index.js} +3 -3
  131. package/src/test-utils/stubs/{getKegStub.ts → getKegStub.js} +0 -1
  132. package/src/utils/{farmProductsSold.tsx → farmProductsSold.js} +0 -2
  133. package/src/utils/{getCropLifecycleDuration.ts → getCropLifecycleDuration.js} +0 -1
  134. package/src/utils/{getCropsAvailableToFerment.ts → getCropsAvailableToFerment.js} +0 -1
  135. package/src/utils/{getInventoryQuantityMap.ts → getInventoryQuantityMap.js} +0 -1
  136. package/src/utils/{getLevelEntitlements.ts → getLevelEntitlements.js} +0 -4
  137. package/src/utils/{getMaxYieldOfFermentationRecipe.ts → getMaxYieldOfFermentationRecipe.js} +0 -1
  138. package/src/utils/{getWineVarietiesAvailableToMake.ts → getWineVarietiesAvailableToMake.js} +0 -2
  139. package/src/utils/{index.tsx → index.js} +11 -25
  140. package/src/utils/{index.test.ts → index.test.js} +2 -0
  141. package/src/utils/{isItemAFarmProduct.ts → isItemAFarmProduct.js} +1 -1
  142. package/src/utils/{memoize.ts → memoize.js} +0 -2
  143. package/src/utils/{totalIngredientsInRecipe.ts → totalIngredientsInRecipe.js} +0 -2
  144. /package/src/common/{constants.ts → constants.js} +0 -0
  145. /package/src/common/services/{randomNumber.test.ts → randomNumber.test.js} +0 -0
  146. /package/src/common/{utils.test.ts → utils.test.js} +0 -0
  147. /package/src/components/AccountingView/{AccountingView.test.tsx → AccountingView.test.js} +0 -0
  148. /package/src/components/AccountingView/{index.ts → index.js} +0 -0
  149. /package/src/components/Achievement/{Achievement.tsx → Achievement.js} +0 -0
  150. /package/src/components/Achievement/{Achievement.test.tsx → Achievement.test.js} +0 -0
  151. /package/src/components/Achievement/{index.ts → index.js} +0 -0
  152. /package/src/components/AchievementsView/{AchievementsView.test.tsx → AchievementsView.test.js} +0 -0
  153. /package/src/components/AchievementsView/{index.ts → index.js} +0 -0
  154. /package/src/components/AnimatedNumber/{AnimatedNumber.test.tsx → AnimatedNumber.test.js} +0 -0
  155. /package/src/components/AnimatedNumber/{index.ts → index.js} +0 -0
  156. /package/src/components/AppBar/{AppBar.test.tsx → AppBar.test.js} +0 -0
  157. /package/src/components/AppBar/{index.ts → index.js} +0 -0
  158. /package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.test.tsx → BailOutErrorBoundary.test.js} +0 -0
  159. /package/src/components/BailOutErrorBoundary/{index.ts → index.js} +0 -0
  160. /package/src/components/Cellar/{Cellar.tsx → Cellar.js} +0 -0
  161. /package/src/components/Cellar/{FermentationTabPanel.tsx → FermentationTabPanel.js} +0 -0
  162. /package/src/components/Cellar/TabPanel/{index.tsx → index.js} +0 -0
  163. /package/src/components/Cellar/{WinemakingTabPanel.tsx → WinemakingTabPanel.js} +0 -0
  164. /package/src/components/Cellar/{index.ts → index.js} +0 -0
  165. /package/src/components/ChatRoom/{ChatRoom.tsx → ChatRoom.js} +0 -0
  166. /package/src/components/ChatRoom/{index.ts → index.js} +0 -0
  167. /package/src/components/ContextPane/{index.ts → index.js} +0 -0
  168. /package/src/components/CowCard/Bloodline/{Bloodline.tsx → Bloodline.js} +0 -0
  169. /package/src/components/CowCard/Bloodline/{index.ts → index.js} +0 -0
  170. /package/src/components/CowCard/{CowCard.test.tsx → CowCard.test.js} +0 -0
  171. /package/src/components/CowCard/Subheader/{Subheader.test.tsx → Subheader.test.js} +0 -0
  172. /package/src/components/CowCard/Subheader/{index.ts → index.js} +0 -0
  173. /package/src/components/CowCard/{index.ts → index.js} +0 -0
  174. /package/src/components/CowPen/{CowPen.tsx → CowPen.js} +0 -0
  175. /package/src/components/CowPen/{index.ts → index.js} +0 -0
  176. /package/src/components/CowPenContextMenu/{CowPenContextMenu.tsx → CowPenContextMenu.js} +0 -0
  177. /package/src/components/CowPenContextMenu/{CowPenContextMenu.test.tsx → CowPenContextMenu.test.js} +0 -0
  178. /package/src/components/CowPenContextMenu/TabPanel/{index.tsx → index.js} +0 -0
  179. /package/src/components/CowPenContextMenu/{index.ts → index.js} +0 -0
  180. /package/src/components/Elements/{index.ts → index.js} +0 -0
  181. /package/src/components/Farmhand/{Farmhand.test.ts → Farmhand.test.js} +0 -0
  182. /package/src/components/Farmhand/{FarmhandReducers.tsx → FarmhandReducers.js} +0 -0
  183. /package/src/components/Farmhand/helpers/{getInventoryQuantities.ts → getInventoryQuantities.js} +0 -0
  184. /package/src/components/Farmhand/helpers/{getInventoryQuantities.test.ts → getInventoryQuantities.test.js} +0 -0
  185. /package/src/components/Farmhand/{index.ts → index.js} +0 -0
  186. /package/src/components/Field/{index.ts → index.js} +0 -0
  187. /package/src/components/Forest/{Forest.tsx → Forest.js} +0 -0
  188. /package/src/components/Forest/{index.ts → index.js} +0 -0
  189. /package/src/components/Home/{Home.test.tsx → Home.test.js} +0 -0
  190. /package/src/components/Home/{index.ts → index.js} +0 -0
  191. /package/src/components/IngredientsList/{IngredientsList.tsx → IngredientsList.js} +0 -0
  192. /package/src/components/IngredientsList/{IngredientsList.test.tsx → IngredientsList.test.js} +0 -0
  193. /package/src/components/IngredientsList/{index.ts → index.js} +0 -0
  194. /package/src/components/Inventory/{Inventory.test.tsx → Inventory.test.js} +0 -0
  195. /package/src/components/Inventory/{index.ts → index.js} +0 -0
  196. /package/src/components/Item/{Item.test.tsx → Item.test.js} +0 -0
  197. /package/src/components/Item/{index.ts → index.js} +0 -0
  198. /package/src/components/KeybindingsView/{KeybindingsView.tsx → KeybindingsView.js} +0 -0
  199. /package/src/components/KeybindingsView/{KeybindingsView.test.tsx → KeybindingsView.test.js} +0 -0
  200. /package/src/components/KeybindingsView/{index.ts → index.js} +0 -0
  201. /package/src/components/LogView/{LogView.test.tsx → LogView.test.js} +0 -0
  202. /package/src/components/LogView/{index.ts → index.js} +0 -0
  203. /package/src/components/Navigation/{DayAndProgressContainer.tsx → DayAndProgressContainer.js} +0 -0
  204. /package/src/components/Navigation/{Navigation.test.tsx → Navigation.test.js} +0 -0
  205. /package/src/components/Navigation/{index.ts → index.js} +0 -0
  206. /package/src/components/NotificationSystem/{NotificationSystem.test.tsx → NotificationSystem.test.js} +0 -0
  207. /package/src/components/NotificationSystem/{index.ts → index.js} +0 -0
  208. /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.tsx → OnlinePeer.js} +0 -0
  209. /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.test.tsx → OnlinePeer.test.js} +0 -0
  210. /package/src/components/OnlinePeersView/OnlinePeer/{index.ts → index.js} +0 -0
  211. /package/src/components/OnlinePeersView/{OnlinePeersView.test.tsx → OnlinePeersView.test.js} +0 -0
  212. /package/src/components/OnlinePeersView/{index.ts → index.js} +0 -0
  213. /package/src/components/Plot/{index.ts → index.js} +0 -0
  214. /package/src/components/PriceEventView/{PriceEventView.tsx → PriceEventView.js} +0 -0
  215. /package/src/components/PriceEventView/{index.ts → index.js} +0 -0
  216. /package/src/components/ProgressBar/{ProgressBar.test.tsx → ProgressBar.test.js} +0 -0
  217. /package/src/components/ProgressBar/{index.ts → index.js} +0 -0
  218. /package/src/components/QuantityInput/{QuantityInput.test.tsx → QuantityInput.test.js} +0 -0
  219. /package/src/components/QuantityInput/{index.ts → index.js} +0 -0
  220. /package/src/components/QuickSelect/{QuickSelect.tsx → QuickSelect.js} +0 -0
  221. /package/src/components/QuickSelect/{QuickSelect.test.tsx → QuickSelect.test.js} +0 -0
  222. /package/src/components/QuickSelect/{index.ts → index.js} +0 -0
  223. /package/src/components/Recipe/{Recipe.test.tsx → Recipe.test.js} +0 -0
  224. /package/src/components/Recipe/{index.ts → index.js} +0 -0
  225. /package/src/components/RecipeList/{RecipeList.tsx → RecipeList.js} +0 -0
  226. /package/src/components/SearchBar/{SearchBar.tsx → SearchBar.js} +0 -0
  227. /package/src/components/SearchBar/{SearchBar.test.tsx → SearchBar.test.js} +0 -0
  228. /package/src/components/SearchBar/{index.ts → index.js} +0 -0
  229. /package/src/components/SettingsView/{RandomSeedInput.test.tsx → RandomSeedInput.test.js} +0 -0
  230. /package/src/components/SettingsView/{SettingsView.tsx → SettingsView.js} +0 -0
  231. /package/src/components/SettingsView/{SettingsView.test.tsx → SettingsView.test.js} +0 -0
  232. /package/src/components/SettingsView/{index.ts → index.js} +0 -0
  233. /package/src/components/Shop/{Shop.test.tsx → Shop.test.js} +0 -0
  234. /package/src/components/Shop/TabPanel/{index.tsx → index.js} +0 -0
  235. /package/src/components/Shop/{index.ts → index.js} +0 -0
  236. /package/src/components/Stage/{index.ts → index.js} +0 -0
  237. /package/src/components/StatsView/{StatsView.tsx → StatsView.js} +0 -0
  238. /package/src/components/StatsView/{StatsView.test.tsx → StatsView.test.js} +0 -0
  239. /package/src/components/StatsView/{index.ts → index.js} +0 -0
  240. /package/src/components/TierPurchase/{TierPurchase.tsx → TierPurchase.js} +0 -0
  241. /package/src/components/TierPurchase/{TierPurchase.test.tsx → TierPurchase.test.js} +0 -0
  242. /package/src/components/TierPurchase/{index.ts → index.js} +0 -0
  243. /package/src/components/Toolbelt/{Toolbelt.test.tsx → Toolbelt.test.js} +0 -0
  244. /package/src/components/Toolbelt/{index.ts → index.js} +0 -0
  245. /package/src/components/UpdateNotifier/{UpdateNotifier.tsx → UpdateNotifier.js} +0 -0
  246. /package/src/components/UpdateNotifier/{index.ts → index.js} +0 -0
  247. /package/src/components/UpgradePurchase/{UpgradePurchase.test.tsx → UpgradePurchase.test.js} +0 -0
  248. /package/src/components/UpgradePurchase/{index.ts → index.js} +0 -0
  249. /package/src/components/Workshop/{KitchenTabPanel.tsx → KitchenTabPanel.js} +0 -0
  250. /package/src/components/Workshop/{RecyclingTabPanel.tsx → RecyclingTabPanel.js} +0 -0
  251. /package/src/components/Workshop/TabPanel/{index.tsx → index.js} +0 -0
  252. /package/src/components/Workshop/{Workshop.tsx → Workshop.js} +0 -0
  253. /package/src/components/Workshop/{Workshop.test.tsx → Workshop.test.js} +0 -0
  254. /package/src/components/Workshop/{index.ts → index.js} +0 -0
  255. /package/src/{config.ts → config.js} +0 -0
  256. /package/src/data/__mocks__/{items.ts → items.js} +0 -0
  257. /package/src/data/__mocks__/{maps.ts → maps.js} +0 -0
  258. /package/src/data/__mocks__/{recipes.ts → recipes.js} +0 -0
  259. /package/src/data/__mocks__/{shop-inventory.ts → shop-inventory.js} +0 -0
  260. /package/src/data/crops/{index.ts → index.js} +0 -0
  261. /package/src/data/{fruit-names.ts → fruit-names.js} +0 -0
  262. /package/src/data/{items-map.ts → items-map.js} +0 -0
  263. /package/src/data/ores/{index.ts → index.js} +0 -0
  264. /package/src/data/{shop-inventory-cow.ts → shop-inventory-cow.js} +0 -0
  265. /package/src/data/{shop-inventory.ts → shop-inventory.js} +0 -0
  266. /package/src/data/{tools.ts → tools.js} +0 -0
  267. /package/src/data/{upgrades.ts → upgrades.js} +0 -0
  268. /package/src/factories/{CoalFactory.test.ts → CoalFactory.test.js} +0 -0
  269. /package/src/factories/{OreFactory.test.ts → OreFactory.test.js} +0 -0
  270. /package/src/factories/{StoneFactory.test.ts → StoneFactory.test.js} +0 -0
  271. /package/src/factories/{index.ts → index.js} +0 -0
  272. /package/src/game-logic/cows/{cow-selection.test.ts → cow-selection.test.js} +0 -0
  273. /package/src/game-logic/{item-purchase.test.ts → item-purchase.test.js} +0 -0
  274. /package/src/game-logic/{item-sell.test.ts → item-sell.test.js} +0 -0
  275. /package/src/game-logic/reducers/{addCowToInventory.ts → addCowToInventory.js} +0 -0
  276. /package/src/game-logic/reducers/{addExperience.ts → addExperience.js} +0 -0
  277. /package/src/game-logic/reducers/{addExperience.test.ts → addExperience.test.js} +0 -0
  278. /package/src/game-logic/reducers/{addItemToInventory.ts → addItemToInventory.js} +0 -0
  279. /package/src/game-logic/reducers/{addItemToInventory.test.ts → addItemToInventory.test.js} +0 -0
  280. /package/src/game-logic/reducers/{addKegToCellarInventory.ts → addKegToCellarInventory.js} +0 -0
  281. /package/src/game-logic/reducers/{addPeer.ts → addPeer.js} +0 -0
  282. /package/src/game-logic/reducers/{addRevenue.ts → addRevenue.js} +0 -0
  283. /package/src/game-logic/reducers/{adjustLoan.ts → adjustLoan.js} +0 -0
  284. /package/src/game-logic/reducers/{adjustLoan.test.ts → adjustLoan.test.js} +0 -0
  285. /package/src/game-logic/reducers/{applyCrows.test.ts → applyCrows.test.js} +0 -0
  286. /package/src/game-logic/reducers/{applyLoanInterest.test.ts → applyLoanInterest.test.js} +0 -0
  287. /package/src/game-logic/reducers/{applyPrecipitation.test.ts → applyPrecipitation.test.js} +0 -0
  288. /package/src/game-logic/reducers/{changeCowAutomaticHugState.ts → changeCowAutomaticHugState.js} +0 -0
  289. /package/src/game-logic/reducers/{changeCowAutomaticHugState.test.ts → changeCowAutomaticHugState.test.js} +0 -0
  290. /package/src/game-logic/reducers/{changeCowBreedingPenResident.ts → changeCowBreedingPenResident.js} +0 -0
  291. /package/src/game-logic/reducers/{changeCowBreedingPenResident.test.ts → changeCowBreedingPenResident.test.js} +0 -0
  292. /package/src/game-logic/reducers/{changeCowName.ts → changeCowName.js} +0 -0
  293. /package/src/game-logic/reducers/{changeCowName.test.ts → changeCowName.test.js} +0 -0
  294. /package/src/game-logic/reducers/{clearPlot.ts → clearPlot.js} +0 -0
  295. /package/src/game-logic/reducers/{clearPlot.test.ts → clearPlot.test.js} +0 -0
  296. /package/src/game-logic/reducers/{computeCowInventoryForNextDay.ts → computeCowInventoryForNextDay.js} +0 -0
  297. /package/src/game-logic/reducers/{computeCowInventoryForNextDay.test.ts → computeCowInventoryForNextDay.test.js} +0 -0
  298. /package/src/game-logic/reducers/{computeStateForNextDay.test.ts → computeStateForNextDay.test.js} +0 -0
  299. /package/src/game-logic/reducers/{consumeIngredients.ts → consumeIngredients.js} +0 -0
  300. /package/src/game-logic/reducers/{consumeIngredients.test.ts → consumeIngredients.test.js} +0 -0
  301. /package/src/game-logic/reducers/{createPriceEvent.ts → createPriceEvent.js} +0 -0
  302. /package/src/game-logic/reducers/{createPriceEvent.test.ts → createPriceEvent.test.js} +0 -0
  303. /package/src/game-logic/reducers/{decrementItemFromInventory.ts → decrementItemFromInventory.js} +0 -0
  304. /package/src/game-logic/reducers/{decrementItemFromInventory.test.ts → decrementItemFromInventory.test.js} +0 -0
  305. /package/src/game-logic/reducers/{fertilizePlot.ts → fertilizePlot.js} +0 -0
  306. /package/src/game-logic/reducers/{fertilizePlot.test.ts → fertilizePlot.test.js} +0 -0
  307. /package/src/game-logic/reducers/{forRange.ts → forRange.js} +0 -0
  308. /package/src/game-logic/reducers/{forRange.test.ts → forRange.test.js} +0 -0
  309. /package/src/game-logic/reducers/{generatePriceEvents.ts → generatePriceEvents.js} +0 -0
  310. /package/src/game-logic/reducers/{generatePriceEvents.test.ts → generatePriceEvents.test.js} +0 -0
  311. /package/src/game-logic/reducers/{harvestPlot.ts → harvestPlot.js} +0 -0
  312. /package/src/game-logic/reducers/{harvestPlot.test.ts → harvestPlot.test.js} +0 -0
  313. /package/src/game-logic/reducers/{helpers.tsx → helpers.js} +0 -0
  314. /package/src/game-logic/reducers/{hugCow.ts → hugCow.js} +0 -0
  315. /package/src/game-logic/reducers/{hugCow.test.ts → hugCow.test.js} +0 -0
  316. /package/src/game-logic/reducers/{incrementPlotContentAge.ts → incrementPlotContentAge.js} +0 -0
  317. /package/src/game-logic/reducers/{incrementPlotContentAge.test.ts → incrementPlotContentAge.test.js} +0 -0
  318. /package/src/game-logic/reducers/{index.ts → index.js} +0 -0
  319. /package/src/game-logic/reducers/{makeFermentationRecipe.test.ts → makeFermentationRecipe.test.js} +0 -0
  320. /package/src/game-logic/reducers/{makeRecipe.ts → makeRecipe.js} +0 -0
  321. /package/src/game-logic/reducers/{makeRecipe.test.ts → makeRecipe.test.js} +0 -0
  322. /package/src/game-logic/reducers/{minePlot.test.ts → minePlot.test.js} +0 -0
  323. /package/src/game-logic/reducers/{modifyCow.ts → modifyCow.js} +0 -0
  324. /package/src/game-logic/reducers/{modifyFieldPlotAt.ts → modifyFieldPlotAt.js} +0 -0
  325. /package/src/game-logic/reducers/{offerCow.ts → offerCow.js} +0 -0
  326. /package/src/game-logic/reducers/{offerCow.test.ts → offerCow.test.js} +0 -0
  327. /package/src/game-logic/reducers/{plantInPlot.ts → plantInPlot.js} +0 -0
  328. /package/src/game-logic/reducers/{plantInPlot.test.ts → plantInPlot.test.js} +0 -0
  329. /package/src/game-logic/reducers/{prependPendingPeerMessage.ts → prependPendingPeerMessage.js} +0 -0
  330. /package/src/game-logic/reducers/{prependPendingPeerMessage.test.ts → prependPendingPeerMessage.test.js} +0 -0
  331. /package/src/game-logic/reducers/{processCellar.ts → processCellar.js} +0 -0
  332. /package/src/game-logic/reducers/{processCellar.test.ts → processCellar.test.js} +0 -0
  333. /package/src/game-logic/reducers/{processCowAttrition.ts → processCowAttrition.js} +0 -0
  334. /package/src/game-logic/reducers/{processCowAttrition.test.ts → processCowAttrition.test.js} +0 -0
  335. /package/src/game-logic/reducers/{processCowBreeding.ts → processCowBreeding.js} +0 -0
  336. /package/src/game-logic/reducers/{processCowBreeding.test.ts → processCowBreeding.test.js} +0 -0
  337. /package/src/game-logic/reducers/{processCowFertilizerProduction.test.ts → processCowFertilizerProduction.test.js} +0 -0
  338. /package/src/game-logic/reducers/{processFeedingCows.ts → processFeedingCows.js} +0 -0
  339. /package/src/game-logic/reducers/{processFeedingCows.test.ts → processFeedingCows.test.js} +0 -0
  340. /package/src/game-logic/reducers/{processField.ts → processField.js} +0 -0
  341. /package/src/game-logic/reducers/{processLevelUp.test.ts → processLevelUp.test.js} +0 -0
  342. /package/src/game-logic/reducers/{processMilkingCows.ts → processMilkingCows.js} +0 -0
  343. /package/src/game-logic/reducers/{processMilkingCows.test.ts → processMilkingCows.test.js} +0 -0
  344. /package/src/game-logic/reducers/{processNerfs.ts → processNerfs.js} +0 -0
  345. /package/src/game-logic/reducers/{processNerfs.test.ts → processNerfs.test.js} +0 -0
  346. /package/src/game-logic/reducers/{processSprinklers.ts → processSprinklers.js} +0 -0
  347. /package/src/game-logic/reducers/{processSprinklers.test.ts → processSprinklers.test.js} +0 -0
  348. /package/src/game-logic/reducers/{processWeather.ts → processWeather.js} +0 -0
  349. /package/src/game-logic/reducers/{processWeather.test.ts → processWeather.test.js} +0 -0
  350. /package/src/game-logic/reducers/{purchaseCellar.ts → purchaseCellar.js} +0 -0
  351. /package/src/game-logic/reducers/{purchaseCellar.test.ts → purchaseCellar.test.js} +0 -0
  352. /package/src/game-logic/reducers/{purchaseCombine.ts → purchaseCombine.js} +0 -0
  353. /package/src/game-logic/reducers/{purchaseCombine.test.ts → purchaseCombine.test.js} +0 -0
  354. /package/src/game-logic/reducers/{purchaseComposter.ts → purchaseComposter.js} +0 -0
  355. /package/src/game-logic/reducers/{purchaseComposter.test.ts → purchaseComposter.test.js} +0 -0
  356. /package/src/game-logic/reducers/{purchaseCow.ts → purchaseCow.js} +0 -0
  357. /package/src/game-logic/reducers/{purchaseCow.test.ts → purchaseCow.test.js} +0 -0
  358. /package/src/game-logic/reducers/{purchaseCowPen.ts → purchaseCowPen.js} +0 -0
  359. /package/src/game-logic/reducers/{purchaseCowPen.test.ts → purchaseCowPen.test.js} +0 -0
  360. /package/src/game-logic/reducers/{purchaseField.ts → purchaseField.js} +0 -0
  361. /package/src/game-logic/reducers/{purchaseForest.ts → purchaseForest.js} +0 -0
  362. /package/src/game-logic/reducers/{purchaseItem.ts → purchaseItem.js} +0 -0
  363. /package/src/game-logic/reducers/{purchaseItem.test.ts → purchaseItem.test.js} +0 -0
  364. /package/src/game-logic/reducers/{purchaseSmelter.ts → purchaseSmelter.js} +0 -0
  365. /package/src/game-logic/reducers/{purchaseSmelter.test.ts → purchaseSmelter.test.js} +0 -0
  366. /package/src/game-logic/reducers/{purchaseStorageExpansion.ts → purchaseStorageExpansion.js} +0 -0
  367. /package/src/game-logic/reducers/{purchaseStorageExpansion.test.ts → purchaseStorageExpansion.test.js} +0 -0
  368. /package/src/game-logic/reducers/{removeCowFromInventory.ts → removeCowFromInventory.js} +0 -0
  369. /package/src/game-logic/reducers/{removeFieldPlotAt.ts → removeFieldPlotAt.js} +0 -0
  370. /package/src/game-logic/reducers/{removeKegFromCellar.ts → removeKegFromCellar.js} +0 -0
  371. /package/src/game-logic/reducers/{removePeer.ts → removePeer.js} +0 -0
  372. /package/src/game-logic/reducers/{rotateNotificationLogs.test.ts → rotateNotificationLogs.test.js} +0 -0
  373. /package/src/game-logic/reducers/{selectCow.ts → selectCow.js} +0 -0
  374. /package/src/game-logic/reducers/{selectCow.test.ts → selectCow.test.js} +0 -0
  375. /package/src/game-logic/reducers/{sellCow.ts → sellCow.js} +0 -0
  376. /package/src/game-logic/reducers/{sellCow.test.ts → sellCow.test.js} +0 -0
  377. /package/src/game-logic/reducers/{sellItem.ts → sellItem.js} +0 -0
  378. /package/src/game-logic/reducers/{sellKeg.test.ts → sellKeg.test.js} +0 -0
  379. /package/src/game-logic/reducers/{setScarecrow.ts → setScarecrow.js} +0 -0
  380. /package/src/game-logic/reducers/{setScarecrow.test.ts → setScarecrow.test.js} +0 -0
  381. /package/src/game-logic/reducers/{setSprinkler.ts → setSprinkler.js} +0 -0
  382. /package/src/game-logic/reducers/{setSprinkler.test.ts → setSprinkler.test.js} +0 -0
  383. /package/src/game-logic/reducers/{showNotification.ts → showNotification.js} +0 -0
  384. /package/src/game-logic/reducers/{showNotification.test.ts → showNotification.test.js} +0 -0
  385. /package/src/game-logic/reducers/{spawnWeeds.test.ts → spawnWeeds.test.js} +0 -0
  386. /package/src/game-logic/reducers/{unlockTool.ts → unlockTool.js} +0 -0
  387. /package/src/game-logic/reducers/{unlockTool.test.ts → unlockTool.test.js} +0 -0
  388. /package/src/game-logic/reducers/{updateAchievements.test.ts → updateAchievements.test.js} +0 -0
  389. /package/src/game-logic/reducers/{updateFinancialRecords.ts → updateFinancialRecords.js} +0 -0
  390. /package/src/game-logic/reducers/{updateFinancialRecords.test.ts → updateFinancialRecords.test.js} +0 -0
  391. /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.ts → updateInventoryRecordsForNextDay.js} +0 -0
  392. /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.test.ts → updateInventoryRecordsForNextDay.test.js} +0 -0
  393. /package/src/game-logic/reducers/{updateLearnedRecipes.ts → updateLearnedRecipes.js} +0 -0
  394. /package/src/game-logic/reducers/{updateLearnedRecipes.test.ts → updateLearnedRecipes.test.js} +0 -0
  395. /package/src/game-logic/reducers/{updatePlotShoveledState.ts → updatePlotShoveledState.js} +0 -0
  396. /package/src/game-logic/reducers/{updatePriceEvents.tsx → updatePriceEvents.js} +0 -0
  397. /package/src/game-logic/reducers/{updatePriceEvents.test.ts → updatePriceEvents.test.js} +0 -0
  398. /package/src/game-logic/reducers/{upgradeTool.ts → upgradeTool.js} +0 -0
  399. /package/src/game-logic/reducers/{upgradeTool.test.ts → upgradeTool.test.js} +0 -0
  400. /package/src/game-logic/reducers/{waterAllPlots.ts → waterAllPlots.js} +0 -0
  401. /package/src/game-logic/reducers/{waterAllPlots.test.ts → waterAllPlots.test.js} +0 -0
  402. /package/src/game-logic/reducers/{waterField.ts → waterField.js} +0 -0
  403. /package/src/game-logic/reducers/{waterPlot.ts → waterPlot.js} +0 -0
  404. /package/src/game-logic/reducers/{waterPlot.test.ts → waterPlot.test.js} +0 -0
  405. /package/src/game-logic/reducers/{withdrawCow.ts → withdrawCow.js} +0 -0
  406. /package/src/game-logic/reducers/{withdrawCow.test.ts → withdrawCow.test.js} +0 -0
  407. /package/src/img/__mocks__/{index.ts → index.js} +0 -0
  408. /package/src/img/{index.ts → index.js} +0 -0
  409. /package/src/interfaces/{Factory.ts → Factory.js} +0 -0
  410. /package/src/{mui-theme.ts → mui-theme.js} +0 -0
  411. /package/src/{polyfills.ts → polyfills.js} +0 -0
  412. /package/src/services/{cellar.ts → cellar.js} +0 -0
  413. /package/src/services/{wine.test.ts → wine.test.js} +0 -0
  414. /package/src/{setupTests.ts → setupTests.js} +0 -0
  415. /package/src/shell/{bootup.test.ts → bootup.test.js} +0 -0
  416. /package/src/shell/{field.test.ts → field.test.js} +0 -0
  417. /package/src/shell/{game-saving.test.ts → game-saving.test.js} +0 -0
  418. /package/src/shell/{navigation.test.ts → navigation.test.js} +0 -0
  419. /package/src/shell/{pending-notifications.test.ts → pending-notifications.test.js} +0 -0
  420. /package/src/{strings.ts → strings.js} +0 -0
  421. /package/src/test-utils/stubs/{cowStub.ts → cowStub.js} +0 -0
  422. /package/src/test-utils/stubs/{farmhandStub.tsx → farmhandStub.js} +0 -0
  423. /package/src/test-utils/stubs/{itemStub.ts → itemStub.js} +0 -0
  424. /package/src/test-utils/stubs/{peerMetadataStub.ts → peerMetadataStub.js} +0 -0
  425. /package/src/test-utils/stubs/{saveDataStubFactory.ts → saveDataStubFactory.js} +0 -0
  426. /package/src/test-utils/{ui.ts → ui.js} +0 -0
  427. /package/src/utils/__snapshots__/{index.test.ts.snap → index.test.js.snap} +0 -0
  428. /package/src/utils/{findInField.ts → findInField.js} +0 -0
  429. /package/src/utils/{findInField.test.ts → findInField.test.js} +0 -0
  430. /package/src/utils/{getCropLifecycleDuration.test.ts → getCropLifecycleDuration.test.js} +0 -0
  431. /package/src/utils/{getCropsAvailableToFerment.test.ts → getCropsAvailableToFerment.test.js} +0 -0
  432. /package/src/utils/{getItemBaseValue.ts → getItemBaseValue.js} +0 -0
  433. /package/src/utils/{getKegSpoilageRate.ts → getKegSpoilageRate.js} +0 -0
  434. /package/src/utils/{getKegSpoilageRate.test.ts → getKegSpoilageRate.test.js} +0 -0
  435. /package/src/utils/{getKegValue.ts → getKegValue.js} +0 -0
  436. /package/src/utils/{getKegValue.test.ts → getKegValue.test.js} +0 -0
  437. /package/src/utils/{getLevelEntitlements.test.ts → getLevelEntitlements.test.js} +0 -0
  438. /package/src/utils/{getMaxYieldOfFermentationRecipe.test.ts → getMaxYieldOfFermentationRecipe.test.js} +0 -0
  439. /package/src/utils/{getSaltRequirementsForFermentationRecipe.ts → getSaltRequirementsForFermentationRecipe.js} +0 -0
  440. /package/src/utils/{getWineVarietiesAvailableToMake.test.ts → getWineVarietiesAvailableToMake.test.js} +0 -0
  441. /package/src/utils/{getYeastRequiredForWine.ts → getYeastRequiredForWine.js} +0 -0
  442. /package/src/utils/{isItemAGrownCrop.ts → isItemAGrownCrop.js} +0 -0
  443. /package/src/utils/{levelAchieved.ts → levelAchieved.js} +0 -0
  444. /package/src/utils/{moneyString.ts → moneyString.js} +0 -0
  445. /package/src/utils/{moneyString.test.ts → moneyString.test.js} +0 -0
  446. /package/src/utils/{noop.ts → noop.js} +0 -0
  447. /package/src/utils/{totalIngredientsInRecipe.test.ts → totalIngredientsInRecipe.test.js} +0 -0
@@ -116,7 +116,6 @@ const { CLEANUP, HARVEST, MINE, OBSERVE, WATER, PLANT } = fieldMode
116
116
  // Utility object for reuse in no-ops to save on memory
117
117
  const emptyObject = Object.freeze({})
118
118
 
119
- // @ts-expect-error
120
119
  export const computePlayerInventory = memoize(
121
120
  /**
122
121
  * @param {{ id: globalThis.farmhand.item['id'], quantity: number }[]} inventory
@@ -131,7 +130,6 @@ export const computePlayerInventory = memoize(
131
130
  }))
132
131
  )
133
132
 
134
- // @ts-expect-error
135
133
  export const getFieldToolInventory = memoize(
136
134
  /**
137
135
  * @param {globalThis.farmhand.state['inventory']} inventory
@@ -149,7 +147,6 @@ export const getFieldToolInventory = memoize(
149
147
  .map(({ id, quantity }) => ({ ...itemsMap[id], quantity }))
150
148
  )
151
149
 
152
- // @ts-expect-error
153
150
  export const getPlantableCropInventory = memoize(
154
151
  /**
155
152
  * @param {globalThis.farmhand.state['inventory']} inventory
@@ -257,7 +254,6 @@ export default class Farmhand extends FarmhandReducers {
257
254
  viewList.unshift(HOME)
258
255
  }
259
256
 
260
- // @ts-expect-error
261
257
  if (this.isForestUnlocked && features.FOREST) {
262
258
  viewList.push(FOREST)
263
259
  }
@@ -308,12 +304,12 @@ export default class Farmhand extends FarmhandReducers {
308
304
  * @returns {farmhand.state}
309
305
  */
310
306
  createInitialState() {
311
- return /** @type {farmhand.state} */ {
307
+ return /** @type {farmhand.state} */ ({
312
308
  activePlayers: null,
313
309
  allowCustomPeerCowNames: false,
314
310
  cellarInventory: [],
315
311
  currentDialogView:
316
- /** @type {globalThis.farmhand.dialogView} */ dialogView.NONE,
312
+ /** @type {globalThis.farmhand.dialogView} */ (dialogView.NONE),
317
313
  completedAchievements: {},
318
314
  cowForSale: generateCow(),
319
315
  cowBreedingPen: {
@@ -332,7 +328,7 @@ export default class Farmhand extends FarmhandReducers {
332
328
  experience: 0,
333
329
  farmName: 'Unnamed',
334
330
  field: createNewField(),
335
- fieldMode: /** @type {globalThis.farmhand.fieldMode} */ OBSERVE,
331
+ fieldMode: /** @type {globalThis.farmhand.fieldMode} */ (OBSERVE),
336
332
  forest: createNewForest(),
337
333
  getCowAccept: noop,
338
334
  getCowReject: noop,
@@ -355,7 +351,6 @@ export default class Farmhand extends FarmhandReducers {
355
351
  cellarItemsSold: {},
356
352
  isChatOpen: false,
357
353
  isDialogViewOpen: false,
358
- // @ts-expect-error
359
354
  isOnline: this.props.match.path.startsWith('/online'),
360
355
  isWaitingForDayToCompleteIncrementing: false,
361
356
  learnedRecipes: {},
@@ -380,7 +375,6 @@ export default class Farmhand extends FarmhandReducers {
380
375
  recordSingleDayProfit: 0,
381
376
  revenue: 0,
382
377
  redirect: '',
383
- // @ts-expect-error
384
378
  room: decodeURIComponent(this.props.match.params.room || DEFAULT_ROOM),
385
379
  sendCowAccept: noop,
386
380
  sendCowReject: noop,
@@ -395,22 +389,22 @@ export default class Farmhand extends FarmhandReducers {
395
389
  showHomeScreen: true,
396
390
  showNotifications: true,
397
391
  stageFocus:
398
- /** @type {globalThis.farmhand.stageFocusType} */ stageFocusType.HOME,
392
+ /** @type {globalThis.farmhand.stageFocusType} */ (stageFocusType.HOME),
399
393
  todaysNotifications: [],
400
394
  todaysLosses: 0,
401
395
  todaysPurchases: {},
402
396
  todaysRevenue: 0,
403
397
  todaysStartingInventory: {},
404
- toolLevels: /** @type {Record<import('../../enums.js').toolType, import('../../enums.js').toolLevel>} */ {
398
+ toolLevels: /** @type {Record<import('../../enums.js').toolType, import('../../enums.js').toolLevel>} */ ({
405
399
  [toolType.HOE]: toolLevel.DEFAULT,
406
400
  [toolType.SCYTHE]: toolLevel.DEFAULT,
407
401
  [toolType.SHOVEL]: toolLevel.UNAVAILABLE,
408
402
  [toolType.WATERING_CAN]: toolLevel.DEFAULT,
409
- },
403
+ }),
410
404
  useAlternateEndDayButtonPosition: false,
411
405
  valueAdjustments: {},
412
406
  version: import.meta.env?.VITE_FARMHAND_PACKAGE_VERSION ?? '',
413
- }
407
+ })
414
408
  }
415
409
 
416
410
  async initializeNewGame() {
@@ -420,7 +414,6 @@ export default class Farmhand extends FarmhandReducers {
420
414
  historicalValueAdjustments: [],
421
415
  }))
422
416
 
423
- // @ts-expect-error
424
417
  this.showNotification(LOAN_INCREASED('', STANDARD_LOAN_AMOUNT), 'info')
425
418
  }
426
419
 
@@ -466,20 +459,20 @@ export default class Farmhand extends FarmhandReducers {
466
459
  previousView: this.focusPreviousView.bind(this),
467
460
  selectHoe: () =>
468
461
  this.handlers.handleFieldModeSelect(
469
- /** @type {globalThis.farmhand.fieldMode} */ CLEANUP
462
+ /** @type {globalThis.farmhand.fieldMode} */ (CLEANUP)
470
463
  ),
471
464
  selectScythe: () =>
472
465
  this.handlers.handleFieldModeSelect(
473
- /** @type {globalThis.farmhand.fieldMode} */ HARVEST
466
+ /** @type {globalThis.farmhand.fieldMode} */ (HARVEST)
474
467
  ),
475
468
  selectWateringCan: () =>
476
469
  this.handlers.handleFieldModeSelect(
477
- /** @type {globalThis.farmhand.fieldMode} */ WATER
470
+ /** @type {globalThis.farmhand.fieldMode} */ (WATER)
478
471
  ),
479
472
  selectShovel: () => {
480
473
  if (this.state.toolLevels[toolType.SHOVEL] !== toolLevel.UNAVAILABLE) {
481
474
  this.handlers.handleFieldModeSelect(
482
- /** @type {globalThis.farmhand.fieldMode} */ MINE
475
+ /** @type {globalThis.farmhand.fieldMode} */ (MINE)
483
476
  )
484
477
  }
485
478
  },
@@ -513,14 +506,13 @@ export default class Farmhand extends FarmhandReducers {
513
506
  }
514
507
 
515
508
  async componentDidMount() {
516
- // @ts-expect-error
517
509
  const state = await this.props.localforage.getItem('state')
518
510
 
519
511
  if (state) {
520
512
  const sanitizedState = transformStateDataForImport({
521
513
  ...this.createInitialState(),
522
514
  // eslint-disable-next-line
523
- .../** @type {Partial<farmhand.state>} */ state,
515
+ .../** @type {Partial<farmhand.state>} */ (state),
524
516
  })
525
517
  const { isCombineEnabled, newDayNotifications } = sanitizedState
526
518
 
@@ -528,11 +520,9 @@ export default class Farmhand extends FarmhandReducers {
528
520
  newDayNotifications.forEach(({ message, severity }) => {
529
521
  // Defer these notifications so that notistack doesn't swallow all
530
522
  // but the last one.
531
- // @ts-expect-error
532
523
  setTimeout(() => this.showNotification(message, severity), 0)
533
524
 
534
525
  if (isCombineEnabled) {
535
- // @ts-expect-error
536
526
  this.forRange(reducers.harvestPlot, Infinity, 0, 0)
537
527
  }
538
528
  })
@@ -567,7 +557,6 @@ export default class Farmhand extends FarmhandReducers {
567
557
  }
568
558
 
569
559
  const {
570
- // @ts-expect-error
571
560
  match: {
572
561
  path,
573
562
  params: { room: newRoom = room },
@@ -603,7 +592,6 @@ export default class Farmhand extends FarmhandReducers {
603
592
  }
604
593
 
605
594
  if (isOnline === false && prevState.isOnline === true) {
606
- // @ts-expect-error
607
595
  this.showNotification(DISCONNECTED_FROM_SERVER, 'info')
608
596
  }
609
597
 
@@ -630,7 +618,6 @@ export default class Farmhand extends FarmhandReducers {
630
618
  }
631
619
 
632
620
  if (money < prevState.money) {
633
- // @ts-expect-error
634
621
  this.setState(({ todaysLosses }) => ({
635
622
  todaysLosses: moneyTotal(todaysLosses, money - prevState.money),
636
623
  }))
@@ -638,19 +625,14 @@ export default class Farmhand extends FarmhandReducers {
638
625
 
639
626
  if (peerRoom !== prevState.peerRoom) {
640
627
  if (peerRoom) {
641
- // @ts-expect-error
642
628
  peerRoom.onPeerJoin(id => {
643
- // @ts-expect-error
644
629
  this.addPeer(id)
645
630
  })
646
631
 
647
- // @ts-expect-error
648
632
  peerRoom.onPeerLeave(id => {
649
- // @ts-expect-error
650
633
  this.removePeer(id)
651
634
  })
652
635
 
653
- // @ts-expect-error
654
636
  const [sendPeerMetadata, getPeerMetadataFunc] = peerRoom.makeAction(
655
637
  'peerMetadata'
656
638
  )
@@ -658,12 +640,8 @@ export default class Farmhand extends FarmhandReducers {
658
640
  getPeerMetadataFunc((
659
641
  /** @type {[object, string]} */
660
642
  ...args
661
- ) =>
662
- // @ts-expect-error
663
- handlePeerMetadataRequest(this, ...args)
664
- )
643
+ ) => handlePeerMetadataRequest(this, ...args))
665
644
 
666
- // @ts-expect-error
667
645
  const [sendCowTradeRequest, getCowTradeRequest] = peerRoom.makeAction(
668
646
  'cowTrade'
669
647
  )
@@ -671,32 +649,21 @@ export default class Farmhand extends FarmhandReducers {
671
649
  getCowTradeRequest((
672
650
  /** @type {[object, string]} */
673
651
  ...args
674
- ) =>
675
- // @ts-expect-error
676
- handleCowTradeRequest(this, ...args)
677
- )
652
+ ) => handleCowTradeRequest(this, ...args))
678
653
 
679
- // @ts-expect-error
680
654
  const [sendCowAccept, getCowAccept] = peerRoom.makeAction('cowAccept')
681
655
 
682
656
  getCowAccept((
683
657
  /** @type {[object, string]} */
684
658
  ...args
685
- ) =>
686
- // @ts-expect-error
687
- handleCowTradeRequestAccept(this, ...args)
688
- )
659
+ ) => handleCowTradeRequestAccept(this, ...args))
689
660
 
690
- // @ts-expect-error
691
661
  const [sendCowReject, getCowReject] = peerRoom.makeAction('cowReject')
692
662
 
693
663
  getCowReject((
694
664
  /** @type {[object]} */
695
665
  ...args
696
- ) =>
697
- // @ts-expect-error
698
- handleCowTradeRequestReject(this, ...args)
699
- )
666
+ ) => handleCowTradeRequestReject(this, ...args))
700
667
 
701
668
  this.setState({
702
669
  getCowAccept,
@@ -723,7 +690,6 @@ export default class Farmhand extends FarmhandReducers {
723
690
  'showRecipeLearnedNotifications',
724
691
  ].forEach(fn => this[fn](prevState))
725
692
 
726
- // @ts-expect-error
727
693
  this.state.sendPeerMetadata?.(this.peerMetadata)
728
694
  }
729
695
 
@@ -754,13 +720,9 @@ export default class Farmhand extends FarmhandReducers {
754
720
  tradeForPeerCow(peerPlayerCow) {
755
721
  this.setState(state => {
756
722
  const {
757
- // @ts-expect-error
758
723
  cowIdOfferedForTrade,
759
- // @ts-expect-error
760
724
  cowInventory,
761
- // @ts-expect-error
762
725
  peers,
763
- // @ts-expect-error
764
726
  sendCowTradeRequest,
765
727
  } = state
766
728
 
@@ -769,7 +731,6 @@ export default class Farmhand extends FarmhandReducers {
769
731
  const { ownerId } = peerPlayerCow
770
732
 
771
733
  const [peerId] =
772
- // @ts-expect-error
773
734
  Object.entries(peers).find(([, peer]) => peer?.playerId === ownerId) ??
774
735
  []
775
736
 
@@ -817,7 +778,6 @@ export default class Farmhand extends FarmhandReducers {
817
778
 
818
779
  handleCowTradeTimeout = () => {
819
780
  if (typeof this.state.cowTradeTimeoutId === 'number') {
820
- // @ts-expect-error
821
781
  this.showNotification(REQUESTED_COW_TRADE_UNAVAILABLE, 'error')
822
782
  this.setState({
823
783
  cowTradeTimeoutId: null,
@@ -829,10 +789,8 @@ export default class Farmhand extends FarmhandReducers {
829
789
  }
830
790
 
831
791
  async clearPersistedData() {
832
- // @ts-expect-error
833
792
  await this.props.localforage.clear()
834
793
 
835
- // @ts-expect-error
836
794
  this.showNotification(DATA_DELETED)
837
795
  }
838
796
 
@@ -843,7 +801,6 @@ export default class Farmhand extends FarmhandReducers {
843
801
  return
844
802
  }
845
803
 
846
- // @ts-expect-error
847
804
  this.showNotification(CONNECTING_TO_SERVER, 'info')
848
805
 
849
806
  try {
@@ -852,7 +809,6 @@ export default class Farmhand extends FarmhandReducers {
852
809
  peers: {},
853
810
  })
854
811
 
855
- // @ts-expect-error
856
812
  this.state.peerRoom?.leave()
857
813
 
858
814
  const { valueAdjustments } = await getData(endpoints.getMarketData, {
@@ -882,14 +838,12 @@ export default class Farmhand extends FarmhandReducers {
882
838
  ),
883
839
  })
884
840
 
885
- // @ts-expect-error
886
841
  this.showNotification(CONNECTED_TO_ROOM('', room), 'success')
887
842
  } catch (e) {
888
843
  // TODO: Add some reasonable fallback behavior in case the server request
889
844
  // fails. Possibility: Regenerate valueAdjustments and notify the user
890
845
  // they are offline.
891
846
 
892
- // @ts-expect-error
893
847
  this.showNotification(SERVER_ERROR, 'error')
894
848
 
895
849
  console.error(e)
@@ -915,7 +869,6 @@ export default class Farmhand extends FarmhandReducers {
915
869
 
916
870
  this.setState(() => ({
917
871
  heartbeatTimeoutId: setTimeout(async () => {
918
- // @ts-expect-error
919
872
  this.setState(({ money, activePlayers }) => ({
920
873
  activePlayers,
921
874
  money: moneyTotal(money, activePlayers),
@@ -934,7 +887,6 @@ export default class Farmhand extends FarmhandReducers {
934
887
  inventorySpaceRemaining(prevState) > 0 &&
935
888
  inventorySpaceRemaining(this.state) <= 0
936
889
  ) {
937
- // @ts-expect-error
938
890
  this.showNotification(INVENTORY_FULL_NOTIFICATION, 'warning')
939
891
  }
940
892
  }
@@ -947,16 +899,13 @@ export default class Farmhand extends FarmhandReducers {
947
899
 
948
900
  Object.keys(this.state.learnedRecipes).forEach(recipeId => {
949
901
  if (!previousLearnedRecipes.hasOwnProperty(recipeId)) {
950
- // @ts-expect-error
951
902
  learnedRecipes.push(recipesMap[recipeId])
952
903
  }
953
904
  })
954
905
 
955
906
  if (learnedRecipes.length > 1) {
956
- // @ts-expect-error
957
907
  this.showNotification(RECIPES_LEARNED('', learnedRecipes))
958
908
  } else if (learnedRecipes.length === 1) {
959
- // @ts-expect-error
960
909
  this.showNotification(RECIPE_LEARNED('', learnedRecipes[0]))
961
910
  }
962
911
  }
@@ -966,7 +915,6 @@ export default class Farmhand extends FarmhandReducers {
966
915
  * @return {Promise}
967
916
  */
968
917
  persistState(overrides = {}) {
969
- // @ts-expect-error
970
918
  return this.props.localforage.setItem(
971
919
  'state',
972
920
  reduceByPersistedKeys({
@@ -1015,13 +963,11 @@ export default class Farmhand extends FarmhandReducers {
1015
963
  ).valueAdjustments
1016
964
 
1017
965
  if (Object.keys(positions).length) {
1018
- // @ts-expect-error
1019
966
  serverMessages.push({
1020
967
  message: POSITIONS_POSTED_NOTIFICATION('', 'You', positions),
1021
968
  severity: 'info',
1022
969
  })
1023
970
 
1024
- // @ts-expect-error
1025
971
  broadcastedPositionMessage = POSITIONS_POSTED_NOTIFICATION(
1026
972
  '',
1027
973
  '',
@@ -1030,7 +976,6 @@ export default class Farmhand extends FarmhandReducers {
1030
976
  }
1031
977
  } catch (e) {
1032
978
  // NOTE: This will get reached when there's an issue posting data to the server.
1033
- // @ts-expect-error
1034
979
  serverMessages.push({
1035
980
  message: SERVER_ERROR,
1036
981
  severity: 'error',
@@ -1075,7 +1020,6 @@ export default class Farmhand extends FarmhandReducers {
1075
1020
  prev => {
1076
1021
  const nextDayState = reducers.computeStateForNextDay(prev, isFirstDay)
1077
1022
 
1078
- // @ts-expect-error
1079
1023
  pendingNotifications = [
1080
1024
  ...serverMessages,
1081
1025
  ...nextDayState.newDayNotifications,
@@ -1108,13 +1052,11 @@ export default class Farmhand extends FarmhandReducers {
1108
1052
 
1109
1053
  notifications
1110
1054
  .concat(
1111
- // @ts-expect-error
1112
1055
  isFirstDay
1113
1056
  ? []
1114
1057
  : [{ message: PROGRESS_SAVED_MESSAGE, severity: 'info' }]
1115
1058
  )
1116
1059
  .forEach(({ message, severity }) =>
1117
- // @ts-expect-error
1118
1060
  this.showNotification(message, severity)
1119
1061
  )
1120
1062
 
@@ -1124,13 +1066,11 @@ export default class Farmhand extends FarmhandReducers {
1124
1066
  await sleep(1000)
1125
1067
  }
1126
1068
 
1127
- // @ts-expect-error
1128
1069
  this.forRange(reducers.harvestPlot, Infinity, 0, 0)
1129
1070
  }
1130
1071
  } catch (e) {
1131
1072
  console.error(e)
1132
1073
 
1133
- // @ts-expect-error
1134
1074
  this.showNotification(JSON.stringify(e), 'error')
1135
1075
  } finally {
1136
1076
  this.setState(() => ({
@@ -1138,7 +1078,6 @@ export default class Farmhand extends FarmhandReducers {
1138
1078
  }))
1139
1079
 
1140
1080
  if (broadcastedPositionMessage) {
1141
- // @ts-expect-error
1142
1081
  this.messagePeers(broadcastedPositionMessage)
1143
1082
  }
1144
1083
  }
@@ -1162,7 +1101,6 @@ export default class Farmhand extends FarmhandReducers {
1162
1101
 
1163
1102
  const { viewList } = this
1164
1103
 
1165
- // @ts-expect-error
1166
1104
  this.setState(({ stageFocus }) => {
1167
1105
  const currentViewIndex = viewList.indexOf(stageFocus)
1168
1106
 
@@ -1175,7 +1113,6 @@ export default class Farmhand extends FarmhandReducers {
1175
1113
 
1176
1114
  const { viewList } = this
1177
1115
 
1178
- // @ts-expect-error
1179
1116
  this.setState(({ stageFocus }) => {
1180
1117
  const currentViewIndex = viewList.indexOf(stageFocus)
1181
1118
 
@@ -1195,13 +1132,11 @@ export default class Farmhand extends FarmhandReducers {
1195
1132
  * @param {string?} [severity]
1196
1133
  */
1197
1134
  messagePeers(message, severity) {
1198
- // @ts-expect-error
1199
1135
  this.prependPendingPeerMessage(message, severity)
1200
1136
  }
1201
1137
 
1202
1138
  render() {
1203
1139
  const {
1204
- // @ts-expect-error
1205
1140
  props: { features: propsFeatures },
1206
1141
  state: { redirect },
1207
1142
  fieldToolInventory,
@@ -1259,7 +1194,6 @@ export default class Farmhand extends FarmhandReducers {
1259
1194
  {redirect && <Redirect {...{ to: redirect }} />}
1260
1195
  <FarmhandContext.Provider
1261
1196
  value={{
1262
- // @ts-expect-error
1263
1197
  gameState,
1264
1198
  handlers,
1265
1199
  }}
@@ -1385,7 +1319,6 @@ export default class Farmhand extends FarmhandReducers {
1385
1319
  }
1386
1320
  }
1387
1321
 
1388
- // @ts-expect-error
1389
1322
  Farmhand.propTypes = {
1390
1323
  features: object,
1391
1324
  history: object,
@@ -38,6 +38,7 @@ export const FermentationRecipe = ({ item }) => {
38
38
  const [quantity, setQuantity] = useState(1)
39
39
 
40
40
  const inventoryQuantityMap = getInventoryQuantityMap(inventory)
41
+ // @ts-expect-error
41
42
  const fermentationRecipeName = FERMENTED_CROP_NAME`${item}`
42
43
  const { space: cellarSize } = PURCHASEABLE_CELLARS.get(purchasedCellar) ?? {
43
44
  space: 0,
@@ -99,12 +100,10 @@ export const FermentationRecipe = ({ item }) => {
99
100
  {integerString(inventoryQuantityMap[item.id] ?? 0)}
100
101
  </p>
101
102
  <p>
102
- Units of {(itemsMap as any).salt.name} required:{' '}
103
- {getSaltRequirementsForFermentationRecipe(item as any)}{' '}
104
- (available:{' '}
103
+ Units of {itemsMap.salt.name} required:{' '}
104
+ {getSaltRequirementsForFermentationRecipe(item)} (available:{' '}
105
105
  <AnimatedNumber
106
106
  {...{
107
- // @ts-expect-error
108
107
  number: inventoryQuantityMap[itemsMap.salt.id] ?? 0,
109
108
  formatter: integerString,
110
109
  }}
@@ -27,12 +27,10 @@ export const FermentationRecipeList = () => {
27
27
  .filter(term => term.length > 0)
28
28
 
29
29
  const filteredCrops = cropsAvailableToFerment.filter(item => {
30
- // @ts-expect-error
31
30
  const fermentationRecipeName = `${FERMENTED_CROP_NAME}${item.name}`.toLowerCase()
32
31
  return searchTerms.every(
33
32
  term =>
34
33
  fermentationRecipeName.includes(term) ||
35
- // @ts-expect-error
36
34
  item.name.toLowerCase().includes(term)
37
35
  )
38
36
  })
@@ -54,7 +52,6 @@ export const FermentationRecipeList = () => {
54
52
  {filteredCrops.length > 0 && (
55
53
  <ul className="card-list">
56
54
  {filteredCrops.map(item => (
57
- // @ts-expect-error
58
55
  <li key={item.id}>
59
56
  <FermentationRecipe item={item} />
60
57
  </li>
@@ -82,17 +82,14 @@ describe('FermentationRecipeList', () => {
82
82
  await userEvent.type(searchBar, 'apple')
83
83
 
84
84
  const filteredCrops = cropsAvailableToFerment.filter(item => {
85
- // @ts-expect-error
86
85
  const fermentationRecipeName = `Fermented ${item.name}`.toLowerCase()
87
86
  return (
88
87
  fermentationRecipeName.includes('apple') ||
89
- // @ts-expect-error
90
88
  item.name.toLowerCase().includes('apple')
91
89
  )
92
90
  })
93
91
 
94
92
  filteredCrops.forEach(crop => {
95
- // @ts-expect-error
96
93
  expect(screen.getByText(crop.name)).toBeInTheDocument()
97
94
  })
98
95
 
@@ -101,7 +98,6 @@ describe('FermentationRecipeList', () => {
101
98
  )
102
99
 
103
100
  nonMatchingCrops.forEach(crop => {
104
- // @ts-expect-error
105
101
  const nonMatchingElements = screen.queryAllByText(crop.name)
106
102
  expect(nonMatchingElements).toHaveLength(1)
107
103
  })
@@ -123,7 +119,6 @@ describe('FermentationRecipeList', () => {
123
119
  await userEvent.clear(searchBar)
124
120
 
125
121
  cropsAvailableToFerment.forEach(crop => {
126
- // @ts-expect-error
127
122
  expect(screen.getByText(crop.name)).toBeInTheDocument()
128
123
  })
129
124
  })
@@ -49,7 +49,6 @@ const fieldKeyMap = {
49
49
  }
50
50
 
51
51
  if (tools.shovel) {
52
- // @ts-expect-error
53
52
  fieldKeyMap.selectShovel = tools.shovel.fieldKey
54
53
  }
55
54
 
@@ -112,14 +111,12 @@ export const MemoPlot = memo(
112
111
  * @param {number} props.y
113
112
  */
114
113
  props => {
115
- // @ts-expect-error
116
114
  const { hoveredPlot, plotContent, setHoveredPlot, x, y } = props
117
115
 
118
116
  return (
119
117
  <Plot
120
118
  {...{
121
119
  hoveredPlot,
122
- // @ts-expect-error
123
120
  isInHoverRange: isInHoverRange(props),
124
121
  plotContent,
125
122
  setHoveredPlot,
@@ -130,15 +127,12 @@ export const MemoPlot = memo(
130
127
  )
131
128
  },
132
129
  (prev, next) => {
133
- // @ts-expect-error
134
130
  if (isInHoverRange(prev) !== isInHoverRange(next)) {
135
131
  return false
136
132
  }
137
133
 
138
134
  return (
139
- // @ts-expect-error
140
135
  prev.plotContent === next.plotContent &&
141
- // @ts-expect-error
142
136
  prev.hoveredPlotRangeSize === next.hoveredPlotRangeSize
143
137
  )
144
138
  }
@@ -367,6 +361,7 @@ export const Field = props => {
367
361
  'fertilize-mode': propsFieldMode === FERTILIZE,
368
362
  'harvest-mode': propsFieldMode === HARVEST,
369
363
  'mine-mode': propsFieldMode === MINE,
364
+ // @ts-expect-error - Unnecessary properties are omitted out of convenience
370
365
  'is-inventory-full': !doesInventorySpaceRemain({
371
366
  inventory,
372
367
  inventoryLimit,
@@ -203,6 +203,7 @@ describe('MemoPlot', () => {
203
203
  beforeEach(async () => {
204
204
  const PlotModule = await import('../Plot/index.js')
205
205
  MockedPlot = PlotModule.default
206
+ // @ts-expect-error - MockedPlot is a vitest mock function
206
207
  MockedPlot.mockClear()
207
208
  })
208
209
 
@@ -32,7 +32,6 @@ const onboardingAchievements = [
32
32
  achievementsMap['purchase-cow-pen'],
33
33
  ]
34
34
 
35
- // @ts-expect-error
36
35
  const getRemainingOnboardingAchievements = memoize(completedAchievements =>
37
36
  onboardingAchievements.filter(
38
37
  achievement => achievement && !completedAchievements[achievement.id]
@@ -11,9 +11,7 @@ const randomInt = (min, max) => {
11
11
  // Taken from:
12
12
  // https://github.com/alampros/react-confetti/blob/484bad0a0aaddbcfcc2fb4c1a4a7eeceaa6d4879/stories/snow.story.jsx#L7-L24
13
13
  const drawSnowflake = function(ctx) {
14
- // @ts-expect-error
15
14
  const numPoints = this.numPoints || randomInt(3, 4) * 2
16
- // @ts-expect-error
17
15
  this.numPoints = numPoints
18
16
  // @ts-expect-error
19
17
  const innerRadius = this.radius * 0.2
@@ -87,12 +87,10 @@ const Inventory = ({
87
87
  }) => {
88
88
  const [searchQuery, setSearchQuery] = useState('')
89
89
  const [selectedCategories, setSelectedCategories] = useState(
90
- /** @type {string[]} */ []
90
+ /** @type {string[]} */ ([])
91
91
  )
92
92
  const toggleCategory = category => {
93
- // @ts-expect-error
94
93
  setSelectedCategories(prev =>
95
- // @ts-expect-error
96
94
  prev.includes(category)
97
95
  ? prev.filter(c => c !== category)
98
96
  : [...prev, category]
@@ -100,7 +98,6 @@ const Inventory = ({
100
98
  }
101
99
 
102
100
  const filteredCategories = Array.from(itemCategories.entries()).reduce(
103
- // @ts-expect-error
104
101
  (filtered, [category, categoryItems]) => {
105
102
  const matchingItems = categoryItems.filter(item => {
106
103
  const mappedItem = itemsMap[item.id]
@@ -113,10 +110,8 @@ const Inventory = ({
113
110
 
114
111
  if (
115
112
  matchingItems.length &&
116
- // @ts-expect-error
117
113
  (!selectedCategories.length || selectedCategories.includes(category))
118
114
  ) {
119
- // @ts-expect-error
120
115
  filtered.set(category, matchingItems)
121
116
  }
122
117
  return filtered
@@ -147,7 +142,6 @@ const Inventory = ({
147
142
  control={
148
143
  <Checkbox
149
144
  disabled={isPurchaseView}
150
- // @ts-expect-error
151
145
  checked={selectedCategories.includes(key)}
152
146
  onChange={() => toggleCategory(key)}
153
147
  />
@@ -159,8 +153,7 @@ const Inventory = ({
159
153
  </AccordionDetails>
160
154
  </Accordion>
161
155
  )}
162
- {Array.from((filteredCategories as any).entries()).map(
163
- // @ts-expect-error
156
+ {Array.from(filteredCategories.entries()).map(
164
157
  ([category, categoryItems]) =>
165
158
  categoryItems.length ? (
166
159
  <Fragment key={category}>
@@ -289,8 +289,7 @@ export const Item = ({
289
289
  </p>
290
290
  )}
291
291
  {isPurchaseView &&
292
- // @ts-expect-error
293
- /** @type {globalThis.farmhand.item} */ item.growsInto && (
292
+ /** @type {globalThis.farmhand.item} */ (item).growsInto && (
294
293
  <p>
295
294
  Days to mature:{' '}
296
295
  {getCropLifecycleDuration(