scrabble-solver 2.18.8 → 2.18.10-alpha.0

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 (1185) hide show
  1. package/.github/workflows/bunx.yml +2 -2
  2. package/.github/workflows/npx.yml +2 -2
  3. package/.oxlintrc.json +19 -21
  4. package/CLAUDE.md +7 -6
  5. package/README.md +1 -2
  6. package/bun.lock +291 -1466
  7. package/e2e/app.spec.ts +1 -1
  8. package/e2e/bugs/380-transliteration-when-pasting.spec.ts +1 -1
  9. package/e2e/features/198-highlight-unreachable-cells.spec.ts +2 -2
  10. package/e2e/features/430-highlight-unreachable-cells-results.spec.ts +2 -2
  11. package/e2e/features/91-hover-remaining-tile-highlights.spec.ts +1 -1
  12. package/e2e/features/results-interactions.spec.ts +1 -1
  13. package/e2e/features/solver-paths.spec.ts +1 -1
  14. package/e2e/features/words-interactions.spec.ts +1 -1
  15. package/e2e/lib/actions.ts +1 -1
  16. package/nx.json +30 -1
  17. package/package.json +17 -20
  18. package/playwright-report/index.html +1 -1
  19. package/project.json +3 -0
  20. package/.nx/workspace-data/d/server-process.json +0 -5
  21. package/.nx/workspace-data/file-map.json +0 -3124
  22. package/.nx/workspace-data/lockfile-dependencies.hash +0 -1
  23. package/.nx/workspace-data/lockfile-dependencies.json +0 -12430
  24. package/.nx/workspace-data/lockfile-nodes.hash +0 -1
  25. package/.nx/workspace-data/lockfile-nodes.json +0 -22994
  26. package/.nx/workspace-data/lockfile.hash +0 -1
  27. package/.nx/workspace-data/nx_files.lock +0 -0
  28. package/.nx/workspace-data/nx_files.nxt +0 -0
  29. package/.nx/workspace-data/nx_files_v2.nxt +0 -0
  30. package/.nx/workspace-data/parsed-lock-file.dependencies.json +0 -12627
  31. package/.nx/workspace-data/parsed-lock-file.json +0 -34331
  32. package/.nx/workspace-data/parsed-lock-file.nodes.json +0 -23684
  33. package/.nx/workspace-data/project-graph.json +0 -37813
  34. package/.nx/workspace-data/project-graph.lock +0 -0
  35. package/.nx/workspace-data/source-maps.json +0 -1932
  36. package/bump-version.js +0 -39
  37. package/lerna.json +0 -11
  38. package/packages/configs/README.md +0 -3
  39. package/packages/configs/build/games/crossplay.d.ts +0 -19
  40. package/packages/configs/build/games/crossplay.js +0 -73
  41. package/packages/configs/build/games/index.d.ts +0 -8
  42. package/packages/configs/build/games/index.js +0 -24
  43. package/packages/configs/build/games/kelimelik.d.ts +0 -19
  44. package/packages/configs/build/games/kelimelik.js +0 -65
  45. package/packages/configs/build/games/letterLeague.d.ts +0 -19
  46. package/packages/configs/build/games/letterLeague.js +0 -161
  47. package/packages/configs/build/games/literaki.d.ts +0 -26
  48. package/packages/configs/build/games/literaki.js +0 -110
  49. package/packages/configs/build/games/scrabble.d.ts +0 -19
  50. package/packages/configs/build/games/scrabble.js +0 -78
  51. package/packages/configs/build/games/scrabbleDuel.d.ts +0 -19
  52. package/packages/configs/build/games/scrabbleDuel.js +0 -50
  53. package/packages/configs/build/games/superScrabble.d.ts +0 -19
  54. package/packages/configs/build/games/superScrabble.js +0 -141
  55. package/packages/configs/build/games/wyrazy.d.ts +0 -19
  56. package/packages/configs/build/games/wyrazy.js +0 -73
  57. package/packages/configs/build/getConfig.d.ts +0 -2
  58. package/packages/configs/build/getConfig.js +0 -46
  59. package/packages/configs/build/hasConfig.d.ts +0 -2
  60. package/packages/configs/build/hasConfig.js +0 -42
  61. package/packages/configs/build/index.d.ts +0 -5
  62. package/packages/configs/build/index.js +0 -44
  63. package/packages/configs/build/languages/english.d.ts +0 -13
  64. package/packages/configs/build/languages/english.js +0 -392
  65. package/packages/configs/build/languages/french.d.ts +0 -2
  66. package/packages/configs/build/languages/french.js +0 -37
  67. package/packages/configs/build/languages/german.d.ts +0 -2
  68. package/packages/configs/build/languages/german.js +0 -40
  69. package/packages/configs/build/languages/index.d.ts +0 -8
  70. package/packages/configs/build/languages/index.js +0 -24
  71. package/packages/configs/build/languages/persian.d.ts +0 -2
  72. package/packages/configs/build/languages/persian.js +0 -43
  73. package/packages/configs/build/languages/polish.d.ts +0 -4
  74. package/packages/configs/build/languages/polish.js +0 -119
  75. package/packages/configs/build/languages/romanian.d.ts +0 -3
  76. package/packages/configs/build/languages/romanian.js +0 -64
  77. package/packages/configs/build/languages/spanish.d.ts +0 -2
  78. package/packages/configs/build/languages/spanish.js +0 -39
  79. package/packages/configs/build/languages/turkish.d.ts +0 -3
  80. package/packages/configs/build/languages/turkish.js +0 -75
  81. package/packages/configs/package.json +0 -40
  82. package/packages/configs/src/games/crossplay.ts +0 -87
  83. package/packages/configs/src/games/index.ts +0 -8
  84. package/packages/configs/src/games/kelimelik.ts +0 -63
  85. package/packages/configs/src/games/letterLeague.ts +0 -177
  86. package/packages/configs/src/games/literaki.ts +0 -108
  87. package/packages/configs/src/games/scrabble.ts +0 -76
  88. package/packages/configs/src/games/scrabbleDuel.ts +0 -56
  89. package/packages/configs/src/games/superScrabble.ts +0 -139
  90. package/packages/configs/src/games/wyrazy.ts +0 -71
  91. package/packages/configs/src/getConfig.ts +0 -14
  92. package/packages/configs/src/hasConfig.ts +0 -8
  93. package/packages/configs/src/index.ts +0 -6
  94. package/packages/configs/src/languages/english.ts +0 -403
  95. package/packages/configs/src/languages/french.ts +0 -36
  96. package/packages/configs/src/languages/german.ts +0 -39
  97. package/packages/configs/src/languages/index.ts +0 -8
  98. package/packages/configs/src/languages/persian.ts +0 -42
  99. package/packages/configs/src/languages/polish.ts +0 -120
  100. package/packages/configs/src/languages/romanian.ts +0 -64
  101. package/packages/configs/src/languages/spanish.ts +0 -38
  102. package/packages/configs/src/languages/turkish.ts +0 -75
  103. package/packages/configs/tsconfig.json +0 -10
  104. package/packages/constants/README.md +0 -3
  105. package/packages/constants/build/index.d.ts +0 -12
  106. package/packages/constants/build/index.js +0 -12
  107. package/packages/constants/package.json +0 -30
  108. package/packages/constants/src/index.ts +0 -17
  109. package/packages/constants/tsconfig.json +0 -10
  110. package/packages/dictionaries/README.md +0 -3
  111. package/packages/dictionaries/bin/remove-dictionaries.js +0 -13
  112. package/packages/dictionaries/bin/update-dictionaries.js +0 -14
  113. package/packages/dictionaries/build/Dictionaries.d.ts +0 -12
  114. package/packages/dictionaries/build/Dictionaries.js +0 -53
  115. package/packages/dictionaries/build/constants.d.ts +0 -3
  116. package/packages/dictionaries/build/constants.js +0 -11
  117. package/packages/dictionaries/build/index.d.ts +0 -3
  118. package/packages/dictionaries/build/index.js +0 -20
  119. package/packages/dictionaries/build/lib/DiskCache.d.ts +0 -17
  120. package/packages/dictionaries/build/lib/DiskCache.js +0 -66
  121. package/packages/dictionaries/build/lib/LayeredCache.d.ts +0 -12
  122. package/packages/dictionaries/build/lib/LayeredCache.js +0 -53
  123. package/packages/dictionaries/build/lib/MemoryCache.d.ts +0 -12
  124. package/packages/dictionaries/build/lib/MemoryCache.js +0 -33
  125. package/packages/dictionaries/build/lib/createAsyncProxy.d.ts +0 -3
  126. package/packages/dictionaries/build/lib/createAsyncProxy.js +0 -19
  127. package/packages/dictionaries/build/lib/createCacheTimestampComparator.d.ts +0 -4
  128. package/packages/dictionaries/build/lib/createCacheTimestampComparator.js +0 -20
  129. package/packages/dictionaries/build/lib/downloadDictionary.d.ts +0 -3
  130. package/packages/dictionaries/build/lib/downloadDictionary.js +0 -20
  131. package/packages/dictionaries/build/lib/getDictionaryFilepath.d.ts +0 -4
  132. package/packages/dictionaries/build/lib/getDictionaryFilepath.js +0 -17
  133. package/packages/dictionaries/build/lib/index.d.ts +0 -7
  134. package/packages/dictionaries/build/lib/index.js +0 -17
  135. package/packages/dictionaries/build/types.d.ts +0 -7
  136. package/packages/dictionaries/build/types.js +0 -2
  137. package/packages/dictionaries/package.json +0 -46
  138. package/packages/dictionaries/src/Dictionaries.ts +0 -65
  139. package/packages/dictionaries/src/constants.ts +0 -8
  140. package/packages/dictionaries/src/index.ts +0 -5
  141. package/packages/dictionaries/src/lib/DiskCache.test.ts +0 -85
  142. package/packages/dictionaries/src/lib/DiskCache.ts +0 -77
  143. package/packages/dictionaries/src/lib/LayeredCache.ts +0 -67
  144. package/packages/dictionaries/src/lib/MemoryCache.ts +0 -40
  145. package/packages/dictionaries/src/lib/createAsyncProxy.ts +0 -18
  146. package/packages/dictionaries/src/lib/createCacheTimestampComparator.ts +0 -25
  147. package/packages/dictionaries/src/lib/downloadDictionary.ts +0 -21
  148. package/packages/dictionaries/src/lib/getDictionaryFilepath.ts +0 -13
  149. package/packages/dictionaries/src/lib/index.ts +0 -7
  150. package/packages/dictionaries/src/types.ts +0 -7
  151. package/packages/dictionaries/tsconfig.json +0 -10
  152. package/packages/logger/README.md +0 -21
  153. package/packages/logger/build/constants.d.ts +0 -4
  154. package/packages/logger/build/constants.js +0 -12
  155. package/packages/logger/build/describeError.d.ts +0 -5
  156. package/packages/logger/build/describeError.js +0 -23
  157. package/packages/logger/build/events.d.ts +0 -92
  158. package/packages/logger/build/events.js +0 -13
  159. package/packages/logger/build/formatCsvRow.d.ts +0 -2
  160. package/packages/logger/build/formatCsvRow.js +0 -20
  161. package/packages/logger/build/index.d.ts +0 -5
  162. package/packages/logger/build/index.js +0 -15
  163. package/packages/logger/build/logError.d.ts +0 -4
  164. package/packages/logger/build/logError.js +0 -17
  165. package/packages/logger/build/logEvent.d.ts +0 -3
  166. package/packages/logger/build/logEvent.js +0 -29
  167. package/packages/logger/package.json +0 -34
  168. package/packages/logger/scripts/export-csv.ts +0 -113
  169. package/packages/logger/scripts/readEvents.ts +0 -34
  170. package/packages/logger/scripts/tsconfig.json +0 -10
  171. package/packages/logger/src/constants.ts +0 -13
  172. package/packages/logger/src/describeError.test.ts +0 -44
  173. package/packages/logger/src/describeError.ts +0 -30
  174. package/packages/logger/src/events.ts +0 -103
  175. package/packages/logger/src/formatCsvRow.test.ts +0 -41
  176. package/packages/logger/src/formatCsvRow.ts +0 -24
  177. package/packages/logger/src/index.ts +0 -13
  178. package/packages/logger/src/logError.ts +0 -24
  179. package/packages/logger/src/logEvent.test.ts +0 -59
  180. package/packages/logger/src/logEvent.ts +0 -26
  181. package/packages/logger/tsconfig.json +0 -10
  182. package/packages/scrabble-solver/.env +0 -1
  183. package/packages/scrabble-solver/.next/BUILD_ID +0 -1
  184. package/packages/scrabble-solver/.next/build-manifest.json +0 -42
  185. package/packages/scrabble-solver/.next/cache/.previewinfo +0 -1
  186. package/packages/scrabble-solver/.next/cache/.rscinfo +0 -1
  187. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +0 -1
  188. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -4
  189. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  190. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  191. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  192. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  193. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  194. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  195. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  196. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  197. package/packages/scrabble-solver/.next/diagnostics/build-diagnostics.json +0 -6
  198. package/packages/scrabble-solver/.next/diagnostics/framework.json +0 -1
  199. package/packages/scrabble-solver/.next/dynamic-css-manifest.json +0 -8
  200. package/packages/scrabble-solver/.next/export-marker.json +0 -6
  201. package/packages/scrabble-solver/.next/images-manifest.json +0 -68
  202. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +0 -1
  203. package/packages/scrabble-solver/.next/next-server.js.nft.json +0 -1
  204. package/packages/scrabble-solver/.next/package.json +0 -1
  205. package/packages/scrabble-solver/.next/prerender-manifest.json +0 -28
  206. package/packages/scrabble-solver/.next/react-loadable-manifest.json +0 -176
  207. package/packages/scrabble-solver/.next/required-server-files.js +0 -371
  208. package/packages/scrabble-solver/.next/required-server-files.json +0 -371
  209. package/packages/scrabble-solver/.next/routes-manifest.json +0 -129
  210. package/packages/scrabble-solver/.next/server/chunks/30.js +0 -6
  211. package/packages/scrabble-solver/.next/server/chunks/309.js +0 -1
  212. package/packages/scrabble-solver/.next/server/chunks/344.js +0 -1
  213. package/packages/scrabble-solver/.next/server/chunks/371.js +0 -1
  214. package/packages/scrabble-solver/.next/server/chunks/465.js +0 -1
  215. package/packages/scrabble-solver/.next/server/chunks/546.js +0 -1
  216. package/packages/scrabble-solver/.next/server/chunks/612.js +0 -5
  217. package/packages/scrabble-solver/.next/server/chunks/623.js +0 -1
  218. package/packages/scrabble-solver/.next/server/chunks/624.js +0 -1
  219. package/packages/scrabble-solver/.next/server/chunks/641.js +0 -1
  220. package/packages/scrabble-solver/.next/server/chunks/67.js +0 -1
  221. package/packages/scrabble-solver/.next/server/chunks/671.js +0 -1
  222. package/packages/scrabble-solver/.next/server/chunks/692.js +0 -1
  223. package/packages/scrabble-solver/.next/server/chunks/705.js +0 -1
  224. package/packages/scrabble-solver/.next/server/chunks/712.js +0 -1
  225. package/packages/scrabble-solver/.next/server/chunks/715.js +0 -1
  226. package/packages/scrabble-solver/.next/server/chunks/812.js +0 -1
  227. package/packages/scrabble-solver/.next/server/chunks/846.js +0 -1
  228. package/packages/scrabble-solver/.next/server/chunks/853.js +0 -15
  229. package/packages/scrabble-solver/.next/server/chunks/886.js +0 -1
  230. package/packages/scrabble-solver/.next/server/chunks/942.js +0 -1
  231. package/packages/scrabble-solver/.next/server/chunks/953.js +0 -1
  232. package/packages/scrabble-solver/.next/server/chunks/961.js +0 -1
  233. package/packages/scrabble-solver/.next/server/chunks/968.js +0 -1
  234. package/packages/scrabble-solver/.next/server/dynamic-css-manifest.js +0 -1
  235. package/packages/scrabble-solver/.next/server/functions-config-manifest.json +0 -4
  236. package/packages/scrabble-solver/.next/server/interception-route-rewrite-manifest.js +0 -1
  237. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +0 -1
  238. package/packages/scrabble-solver/.next/server/middleware-manifest.json +0 -6
  239. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +0 -1
  240. package/packages/scrabble-solver/.next/server/next-font-manifest.js +0 -1
  241. package/packages/scrabble-solver/.next/server/next-font-manifest.json +0 -1
  242. package/packages/scrabble-solver/.next/server/pages/404.html +0 -29
  243. package/packages/scrabble-solver/.next/server/pages/500.html +0 -29
  244. package/packages/scrabble-solver/.next/server/pages/_app.js +0 -1
  245. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +0 -1
  246. package/packages/scrabble-solver/.next/server/pages/_document.js +0 -28
  247. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +0 -1
  248. package/packages/scrabble-solver/.next/server/pages/_error.js +0 -28
  249. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +0 -1
  250. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +0 -2
  251. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +0 -1
  252. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +0 -1
  253. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +0 -1
  254. package/packages/scrabble-solver/.next/server/pages/api/solve.js +0 -1
  255. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +0 -1
  256. package/packages/scrabble-solver/.next/server/pages/api/verify.js +0 -1
  257. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +0 -1
  258. package/packages/scrabble-solver/.next/server/pages/api/visit.js +0 -1
  259. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +0 -1
  260. package/packages/scrabble-solver/.next/server/pages/index.html +0 -29
  261. package/packages/scrabble-solver/.next/server/pages/index.js +0 -30
  262. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +0 -1
  263. package/packages/scrabble-solver/.next/server/pages/index.json +0 -1
  264. package/packages/scrabble-solver/.next/server/pages/index.meta +0 -1
  265. package/packages/scrabble-solver/.next/server/pages/not-found.html +0 -29
  266. package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +0 -1
  267. package/packages/scrabble-solver/.next/server/pages-manifest.json +0 -13
  268. package/packages/scrabble-solver/.next/server/prefetch-hints.json +0 -1
  269. package/packages/scrabble-solver/.next/server/preview-props.json +0 -5
  270. package/packages/scrabble-solver/.next/server/route-cache/PAGES/8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1/$/index.html +0 -29
  271. package/packages/scrabble-solver/.next/server/route-cache/PAGES/8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1/$/index.json +0 -1
  272. package/packages/scrabble-solver/.next/server/route-cache/PAGES/8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1/$/index.meta +0 -1
  273. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +0 -1
  274. package/packages/scrabble-solver/.next/server/webpack-runtime.js +0 -1
  275. package/packages/scrabble-solver/.next/static/A7gnj7HBAkHTAN3QhqBcs/_buildManifest.js +0 -1
  276. package/packages/scrabble-solver/.next/static/A7gnj7HBAkHTAN3QhqBcs/_ssgManifest.js +0 -1
  277. package/packages/scrabble-solver/.next/static/chunks/100.305bdf9c75b1758f.js +0 -1
  278. package/packages/scrabble-solver/.next/static/chunks/256.ad3906547e15ca9d.js +0 -1
  279. package/packages/scrabble-solver/.next/static/chunks/277.6785dfaf22fdb0b7.js +0 -1
  280. package/packages/scrabble-solver/.next/static/chunks/307.89e6100f58443679.js +0 -1
  281. package/packages/scrabble-solver/.next/static/chunks/341.79535ba85bf1986f.js +0 -1
  282. package/packages/scrabble-solver/.next/static/chunks/363.1e1dca73189c1b3e.js +0 -1
  283. package/packages/scrabble-solver/.next/static/chunks/422.3e55b4c94e328701.js +0 -1
  284. package/packages/scrabble-solver/.next/static/chunks/541.dcd9e8b804f88da5.js +0 -1
  285. package/packages/scrabble-solver/.next/static/chunks/601.32e35cfa23379a43.js +0 -1
  286. package/packages/scrabble-solver/.next/static/chunks/631.98d42abad0a60af6.js +0 -1
  287. package/packages/scrabble-solver/.next/static/chunks/663.bd2c45413fbca518.js +0 -1
  288. package/packages/scrabble-solver/.next/static/chunks/693.1f53805be6ad36d1.js +0 -1
  289. package/packages/scrabble-solver/.next/static/chunks/744-65c858e61915ae87.js +0 -3
  290. package/packages/scrabble-solver/.next/static/chunks/820.823e9e885ebb66af.js +0 -1
  291. package/packages/scrabble-solver/.next/static/chunks/827.d01b6d69af340ba4.js +0 -1
  292. package/packages/scrabble-solver/.next/static/chunks/865.59baba8296c9b116.js +0 -1
  293. package/packages/scrabble-solver/.next/static/chunks/912.077603e4f0bc6cca.js +0 -1
  294. package/packages/scrabble-solver/.next/static/chunks/939.2ad86b50405c7897.js +0 -1
  295. package/packages/scrabble-solver/.next/static/chunks/980.dd35e807b18063c1.js +0 -1
  296. package/packages/scrabble-solver/.next/static/chunks/990.61296e5870b91f11.js +0 -1
  297. package/packages/scrabble-solver/.next/static/chunks/framework-86d3b250d278cea9.js +0 -1
  298. package/packages/scrabble-solver/.next/static/chunks/main-1cbcb557c6b1777d.js +0 -5
  299. package/packages/scrabble-solver/.next/static/chunks/pages/_app-7a211db854399bc6.js +0 -1
  300. package/packages/scrabble-solver/.next/static/chunks/pages/_error-f0290a98eb3ed0ec.js +0 -1
  301. package/packages/scrabble-solver/.next/static/chunks/pages/index-cb6ead85a37f9022.js +0 -1
  302. package/packages/scrabble-solver/.next/static/chunks/pages/not-found-a59f9deeeff63d17.js +0 -1
  303. package/packages/scrabble-solver/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  304. package/packages/scrabble-solver/.next/static/chunks/webpack-315b7d774c197ad3.js +0 -1
  305. package/packages/scrabble-solver/.next/static/css/2d03f0da2c678dfc.css +0 -1
  306. package/packages/scrabble-solver/.next/static/css/4dbcacc1122ac6b9.css +0 -2
  307. package/packages/scrabble-solver/.next/static/css/7b6724d2df70f48f.css +0 -1
  308. package/packages/scrabble-solver/.next/static/css/8b8087461767360a.css +0 -1
  309. package/packages/scrabble-solver/.next/static/css/98051ed25076b896.css +0 -1
  310. package/packages/scrabble-solver/.next/static/css/b736be3bd02b5d99.css +0 -1
  311. package/packages/scrabble-solver/.next/static/css/ca311e6c030663d4.css +0 -1
  312. package/packages/scrabble-solver/.next/static/css/cd4d7f2458487399.css +0 -1
  313. package/packages/scrabble-solver/.next/static/css/dee878eb64099d92.css +0 -1
  314. package/packages/scrabble-solver/.next/trace +0 -36
  315. package/packages/scrabble-solver/.next/trace-build +0 -1
  316. package/packages/scrabble-solver/.next/types/cache-life.d.ts +0 -114
  317. package/packages/scrabble-solver/.next/types/root-params.d.ts +0 -3
  318. package/packages/scrabble-solver/.next/types/routes.d.ts +0 -57
  319. package/packages/scrabble-solver/.next/types/validator.ts +0 -113
  320. package/packages/scrabble-solver/AGENTS.md +0 -9
  321. package/packages/scrabble-solver/CLAUDE.md +0 -1
  322. package/packages/scrabble-solver/README.md +0 -19
  323. package/packages/scrabble-solver/empty-module.js +0 -2
  324. package/packages/scrabble-solver/next-env.d.ts +0 -7
  325. package/packages/scrabble-solver/next.config.js +0 -55
  326. package/packages/scrabble-solver/package.json +0 -99
  327. package/packages/scrabble-solver/public/favicon.ico +0 -0
  328. package/packages/scrabble-solver/public/icons/apple-touch-icon-114x114.png +0 -0
  329. package/packages/scrabble-solver/public/icons/apple-touch-icon-120x120.png +0 -0
  330. package/packages/scrabble-solver/public/icons/apple-touch-icon-144x144.png +0 -0
  331. package/packages/scrabble-solver/public/icons/apple-touch-icon-152x152.png +0 -0
  332. package/packages/scrabble-solver/public/icons/apple-touch-icon-57x57.png +0 -0
  333. package/packages/scrabble-solver/public/icons/apple-touch-icon-60x60.png +0 -0
  334. package/packages/scrabble-solver/public/icons/apple-touch-icon-72x72.png +0 -0
  335. package/packages/scrabble-solver/public/icons/apple-touch-icon-76x76.png +0 -0
  336. package/packages/scrabble-solver/public/icons/favicon-128.png +0 -0
  337. package/packages/scrabble-solver/public/icons/favicon-16x16.png +0 -0
  338. package/packages/scrabble-solver/public/icons/favicon-196x196.png +0 -0
  339. package/packages/scrabble-solver/public/icons/favicon-32x32.png +0 -0
  340. package/packages/scrabble-solver/public/icons/favicon-96x96.png +0 -0
  341. package/packages/scrabble-solver/public/icons/favicon.svg +0 -6
  342. package/packages/scrabble-solver/public/icons/mstile-144x144.png +0 -0
  343. package/packages/scrabble-solver/public/icons/mstile-150x150.png +0 -0
  344. package/packages/scrabble-solver/public/icons/mstile-310x150.png +0 -0
  345. package/packages/scrabble-solver/public/icons/mstile-310x310.png +0 -0
  346. package/packages/scrabble-solver/public/icons/mstile-70x70.png +0 -0
  347. package/packages/scrabble-solver/public/llms.txt +0 -11
  348. package/packages/scrabble-solver/public/logo.svg +0 -62
  349. package/packages/scrabble-solver/public/og.png +0 -0
  350. package/packages/scrabble-solver/public/robots.txt +0 -5
  351. package/packages/scrabble-solver/public/service-worker.js +0 -2
  352. package/packages/scrabble-solver/public/service-worker.js.map +0 -1
  353. package/packages/scrabble-solver/public/site.webmanifest +0 -14
  354. package/packages/scrabble-solver/public/sitemap.xml +0 -1
  355. package/packages/scrabble-solver/scripts/generate-scss-types.ts +0 -112
  356. package/packages/scrabble-solver/src/@types/scss.d.ts +0 -6
  357. package/packages/scrabble-solver/src/@types/svg.d.ts +0 -7
  358. package/packages/scrabble-solver/src/api/BadRequestError.ts +0 -6
  359. package/packages/scrabble-solver/src/api/index.ts +0 -6
  360. package/packages/scrabble-solver/src/api/isBoardValid.ts +0 -41
  361. package/packages/scrabble-solver/src/api/isCellValid.ts +0 -25
  362. package/packages/scrabble-solver/src/api/isCharacterValid.ts +0 -12
  363. package/packages/scrabble-solver/src/api/isRowValid.ts +0 -17
  364. package/packages/scrabble-solver/src/api/withApiLog.ts +0 -85
  365. package/packages/scrabble-solver/src/components/Alert/Alert.module.scss +0 -52
  366. package/packages/scrabble-solver/src/components/Alert/Alert.module.scss.d.ts +0 -13
  367. package/packages/scrabble-solver/src/components/Alert/Alert.tsx +0 -44
  368. package/packages/scrabble-solver/src/components/Alert/index.ts +0 -1
  369. package/packages/scrabble-solver/src/components/Badge/Badge.module.scss +0 -12
  370. package/packages/scrabble-solver/src/components/Badge/Badge.module.scss.d.ts +0 -6
  371. package/packages/scrabble-solver/src/components/Badge/Badge.tsx +0 -13
  372. package/packages/scrabble-solver/src/components/Badge/index.ts +0 -1
  373. package/packages/scrabble-solver/src/components/Board/Board.module.scss +0 -83
  374. package/packages/scrabble-solver/src/components/Board/Board.module.scss.d.ts +0 -17
  375. package/packages/scrabble-solver/src/components/Board/Board.tsx +0 -221
  376. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +0 -166
  377. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss +0 -33
  378. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss.d.ts +0 -7
  379. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +0 -103
  380. package/packages/scrabble-solver/src/components/Board/components/Actions/index.ts +0 -1
  381. package/packages/scrabble-solver/src/components/Board/components/Actions/lib.ts +0 -32
  382. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +0 -99
  383. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss.d.ts +0 -13
  384. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +0 -135
  385. package/packages/scrabble-solver/src/components/Board/components/Cell/index.ts +0 -1
  386. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.module.scss +0 -34
  387. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.module.scss.d.ts +0 -10
  388. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.tsx +0 -87
  389. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/index.ts +0 -1
  390. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.module.scss +0 -21
  391. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.module.scss.d.ts +0 -8
  392. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +0 -41
  393. package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/index.ts +0 -1
  394. package/packages/scrabble-solver/src/components/Board/components/index.ts +0 -4
  395. package/packages/scrabble-solver/src/components/Board/getBoardBackground.ts +0 -175
  396. package/packages/scrabble-solver/src/components/Board/hooks/index.ts +0 -5
  397. package/packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts +0 -24
  398. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingActions.ts +0 -17
  399. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingFocus.ts +0 -8
  400. package/packages/scrabble-solver/src/components/Board/hooks/useFloatingInputPrompt.ts +0 -17
  401. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +0 -390
  402. package/packages/scrabble-solver/src/components/Board/index.ts +0 -1
  403. package/packages/scrabble-solver/src/components/Board/lib.test.ts +0 -106
  404. package/packages/scrabble-solver/src/components/Board/lib.ts +0 -149
  405. package/packages/scrabble-solver/src/components/Board/selectors.ts +0 -39
  406. package/packages/scrabble-solver/src/components/Button/Button.module.scss +0 -96
  407. package/packages/scrabble-solver/src/components/Button/Button.module.scss.d.ts +0 -12
  408. package/packages/scrabble-solver/src/components/Button/Button.tsx +0 -50
  409. package/packages/scrabble-solver/src/components/Button/Link.tsx +0 -45
  410. package/packages/scrabble-solver/src/components/Button/index.ts +0 -1
  411. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +0 -65
  412. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss.d.ts +0 -14
  413. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +0 -78
  414. package/packages/scrabble-solver/src/components/Dictionary/index.ts +0 -1
  415. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss +0 -12
  416. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss.d.ts +0 -7
  417. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx +0 -45
  418. package/packages/scrabble-solver/src/components/DictionaryInput/index.ts +0 -1
  419. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss +0 -14
  420. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss.d.ts +0 -7
  421. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.tsx +0 -55
  422. package/packages/scrabble-solver/src/components/EmptyState/index.ts +0 -1
  423. package/packages/scrabble-solver/src/components/IconButton/IconButton.module.scss +0 -39
  424. package/packages/scrabble-solver/src/components/IconButton/IconButton.module.scss.d.ts +0 -8
  425. package/packages/scrabble-solver/src/components/IconButton/IconButton.tsx +0 -31
  426. package/packages/scrabble-solver/src/components/IconButton/Link.tsx +0 -26
  427. package/packages/scrabble-solver/src/components/IconButton/index.ts +0 -1
  428. package/packages/scrabble-solver/src/components/Key/Key.module.scss +0 -29
  429. package/packages/scrabble-solver/src/components/Key/Key.module.scss.d.ts +0 -6
  430. package/packages/scrabble-solver/src/components/Key/Key.tsx +0 -13
  431. package/packages/scrabble-solver/src/components/Key/index.ts +0 -1
  432. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.module.scss +0 -41
  433. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.module.scss.d.ts +0 -11
  434. package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.tsx +0 -32
  435. package/packages/scrabble-solver/src/components/Keys/Arrows/index.ts +0 -1
  436. package/packages/scrabble-solver/src/components/Keys/index.tsx +0 -28
  437. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss +0 -33
  438. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss.d.ts +0 -9
  439. package/packages/scrabble-solver/src/components/Loading/Loading.tsx +0 -37
  440. package/packages/scrabble-solver/src/components/Loading/index.ts +0 -1
  441. package/packages/scrabble-solver/src/components/Logo/Logo.tsx +0 -12
  442. package/packages/scrabble-solver/src/components/Logo/LogoBlueprint.tsx +0 -22
  443. package/packages/scrabble-solver/src/components/Logo/index.ts +0 -1
  444. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss +0 -119
  445. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss.d.ts +0 -15
  446. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +0 -105
  447. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.module.scss +0 -11
  448. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.module.scss.d.ts +0 -7
  449. package/packages/scrabble-solver/src/components/Modal/components/Section/Section.tsx +0 -18
  450. package/packages/scrabble-solver/src/components/Modal/components/Section/index.ts +0 -1
  451. package/packages/scrabble-solver/src/components/Modal/components/index.ts +0 -1
  452. package/packages/scrabble-solver/src/components/Modal/index.ts +0 -1
  453. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss +0 -53
  454. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.module.scss.d.ts +0 -13
  455. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx +0 -127
  456. package/packages/scrabble-solver/src/components/NavButtons/index.ts +0 -1
  457. package/packages/scrabble-solver/src/components/NavButtons/selectors.ts +0 -11
  458. package/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss +0 -37
  459. package/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss.d.ts +0 -9
  460. package/packages/scrabble-solver/src/components/NotFound/NotFound.tsx +0 -18
  461. package/packages/scrabble-solver/src/components/NotFound/index.ts +0 -1
  462. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss +0 -24
  463. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss.d.ts +0 -11
  464. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx +0 -53
  465. package/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx +0 -41
  466. package/packages/scrabble-solver/src/components/PlainTiles/index.ts +0 -1
  467. package/packages/scrabble-solver/src/components/PlainTiles/lib.ts +0 -75
  468. package/packages/scrabble-solver/src/components/PlainTiles/types.ts +0 -22
  469. package/packages/scrabble-solver/src/components/Progress/Progress.module.scss +0 -16
  470. package/packages/scrabble-solver/src/components/Progress/Progress.module.scss.d.ts +0 -6
  471. package/packages/scrabble-solver/src/components/Progress/Progress.tsx +0 -32
  472. package/packages/scrabble-solver/src/components/Progress/index.ts +0 -1
  473. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss +0 -95
  474. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss.d.ts +0 -10
  475. package/packages/scrabble-solver/src/components/Rack/Rack.tsx +0 -199
  476. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss +0 -21
  477. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss.d.ts +0 -7
  478. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx +0 -73
  479. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/index.ts +0 -1
  480. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/lib.test.ts +0 -27
  481. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/lib.ts +0 -17
  482. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss +0 -11
  483. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss.d.ts +0 -6
  484. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx +0 -165
  485. package/packages/scrabble-solver/src/components/Rack/components/RackTile/index.ts +0 -1
  486. package/packages/scrabble-solver/src/components/Rack/components/index.ts +0 -2
  487. package/packages/scrabble-solver/src/components/Rack/index.ts +0 -1
  488. package/packages/scrabble-solver/src/components/Rack/selectors.ts +0 -9
  489. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss +0 -61
  490. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss.d.ts +0 -12
  491. package/packages/scrabble-solver/src/components/Radio/Radio.tsx +0 -39
  492. package/packages/scrabble-solver/src/components/Radio/index.ts +0 -1
  493. package/packages/scrabble-solver/src/components/Results/Header.tsx +0 -114
  494. package/packages/scrabble-solver/src/components/Results/Result.tsx +0 -101
  495. package/packages/scrabble-solver/src/components/Results/Results.module.scss +0 -76
  496. package/packages/scrabble-solver/src/components/Results/Results.module.scss.d.ts +0 -17
  497. package/packages/scrabble-solver/src/components/Results/Results.tsx +0 -166
  498. package/packages/scrabble-solver/src/components/Results/SolveButton.tsx +0 -45
  499. package/packages/scrabble-solver/src/components/Results/index.ts +0 -1
  500. package/packages/scrabble-solver/src/components/Results/types.ts +0 -15
  501. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss +0 -116
  502. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss.d.ts +0 -20
  503. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +0 -143
  504. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss +0 -15
  505. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss.d.ts +0 -7
  506. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.tsx +0 -40
  507. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/index.ts +0 -1
  508. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss +0 -138
  509. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss.d.ts +0 -19
  510. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +0 -105
  511. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/index.ts +0 -1
  512. package/packages/scrabble-solver/src/components/Solver/components/index.ts +0 -2
  513. package/packages/scrabble-solver/src/components/Solver/index.ts +0 -1
  514. package/packages/scrabble-solver/src/components/Spinner/Spinner.module.scss +0 -11
  515. package/packages/scrabble-solver/src/components/Spinner/Spinner.module.scss.d.ts +0 -10
  516. package/packages/scrabble-solver/src/components/Spinner/Spinner.tsx +0 -17
  517. package/packages/scrabble-solver/src/components/Spinner/index.ts +0 -1
  518. package/packages/scrabble-solver/src/components/Table/Cell.tsx +0 -42
  519. package/packages/scrabble-solver/src/components/Table/Header.tsx +0 -11
  520. package/packages/scrabble-solver/src/components/Table/HeaderButton.tsx +0 -61
  521. package/packages/scrabble-solver/src/components/Table/Row.tsx +0 -59
  522. package/packages/scrabble-solver/src/components/Table/Search.tsx +0 -43
  523. package/packages/scrabble-solver/src/components/Table/Table.module.scss +0 -147
  524. package/packages/scrabble-solver/src/components/Table/Table.module.scss.d.ts +0 -19
  525. package/packages/scrabble-solver/src/components/Table/index.ts +0 -5
  526. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +0 -129
  527. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss.d.ts +0 -19
  528. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +0 -101
  529. package/packages/scrabble-solver/src/components/Tile/TilePure.tsx +0 -106
  530. package/packages/scrabble-solver/src/components/Tile/index.ts +0 -1
  531. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss +0 -15
  532. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss.d.ts +0 -7
  533. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.tsx +0 -42
  534. package/packages/scrabble-solver/src/components/Tooltip/TooltipContent.tsx +0 -53
  535. package/packages/scrabble-solver/src/components/Tooltip/TooltipTrigger.tsx +0 -30
  536. package/packages/scrabble-solver/src/components/Tooltip/context.ts +0 -17
  537. package/packages/scrabble-solver/src/components/Tooltip/index.ts +0 -1
  538. package/packages/scrabble-solver/src/components/Tooltip/useTooltip.ts +0 -55
  539. package/packages/scrabble-solver/src/hooks/useColumns.ts +0 -69
  540. package/packages/scrabble-solver/src/hooks/useDeferredRender.ts +0 -20
  541. package/packages/scrabble-solver/src/hooks/useDirection.ts +0 -21
  542. package/packages/scrabble-solver/src/hooks/useEffectOnce.ts +0 -11
  543. package/packages/scrabble-solver/src/hooks/useIsTouchDevice.ts +0 -5
  544. package/packages/scrabble-solver/src/hooks/useLanguage.ts +0 -20
  545. package/packages/scrabble-solver/src/hooks/useLatest.ts +0 -11
  546. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +0 -49
  547. package/packages/scrabble-solver/src/hooks/useMedia.ts +0 -34
  548. package/packages/scrabble-solver/src/hooks/useMediaQueries.ts +0 -11
  549. package/packages/scrabble-solver/src/hooks/useMediaQuery.ts +0 -10
  550. package/packages/scrabble-solver/src/i18n/constants.ts +0 -106
  551. package/packages/scrabble-solver/src/i18n/i18n.ts +0 -25
  552. package/packages/scrabble-solver/src/i18n/languages/english.json +0 -88
  553. package/packages/scrabble-solver/src/i18n/languages/french.json +0 -88
  554. package/packages/scrabble-solver/src/i18n/languages/german.json +0 -88
  555. package/packages/scrabble-solver/src/i18n/languages/persian.json +0 -88
  556. package/packages/scrabble-solver/src/i18n/languages/polish.json +0 -88
  557. package/packages/scrabble-solver/src/i18n/languages/romanian.json +0 -88
  558. package/packages/scrabble-solver/src/i18n/languages/spanish.json +0 -88
  559. package/packages/scrabble-solver/src/i18n/languages/turkish.json +0 -88
  560. package/packages/scrabble-solver/src/i18n/localeIcons.ts +0 -24
  561. package/packages/scrabble-solver/src/icons/ArrowDown.svg +0 -4
  562. package/packages/scrabble-solver/src/icons/ArrowLeft.svg +0 -4
  563. package/packages/scrabble-solver/src/icons/ArrowRight.svg +0 -4
  564. package/packages/scrabble-solver/src/icons/ArrowUp.svg +0 -4
  565. package/packages/scrabble-solver/src/icons/Ban.svg +0 -4
  566. package/packages/scrabble-solver/src/icons/BookHalf.svg +0 -4
  567. package/packages/scrabble-solver/src/icons/CardChecklist.svg +0 -5
  568. package/packages/scrabble-solver/src/icons/Check.svg +0 -4
  569. package/packages/scrabble-solver/src/icons/ChevronDown.svg +0 -4
  570. package/packages/scrabble-solver/src/icons/ChevronLeft.svg +0 -4
  571. package/packages/scrabble-solver/src/icons/ChevronRight.svg +0 -4
  572. package/packages/scrabble-solver/src/icons/Cog.svg +0 -4
  573. package/packages/scrabble-solver/src/icons/Cross.svg +0 -4
  574. package/packages/scrabble-solver/src/icons/CrossCircleFill.svg +0 -4
  575. package/packages/scrabble-solver/src/icons/CrossSquareFill.svg +0 -4
  576. package/packages/scrabble-solver/src/icons/DashCircleFill.svg +0 -4
  577. package/packages/scrabble-solver/src/icons/Eraser.svg +0 -4
  578. package/packages/scrabble-solver/src/icons/ExclamationSquareFill.svg +0 -4
  579. package/packages/scrabble-solver/src/icons/ExclamationTriangleFill.svg +0 -4
  580. package/packages/scrabble-solver/src/icons/EyeFill.svg +0 -5
  581. package/packages/scrabble-solver/src/icons/FlagDe.svg +0 -5
  582. package/packages/scrabble-solver/src/icons/FlagEs.svg +0 -4
  583. package/packages/scrabble-solver/src/icons/FlagFa.svg +0 -95
  584. package/packages/scrabble-solver/src/icons/FlagFill.svg +0 -4
  585. package/packages/scrabble-solver/src/icons/FlagFr.svg +0 -5
  586. package/packages/scrabble-solver/src/icons/FlagGb.svg +0 -10
  587. package/packages/scrabble-solver/src/icons/FlagPl.svg +0 -4
  588. package/packages/scrabble-solver/src/icons/FlagRo.svg +0 -5
  589. package/packages/scrabble-solver/src/icons/FlagTr.svg +0 -4
  590. package/packages/scrabble-solver/src/icons/FlagUs.svg +0 -33
  591. package/packages/scrabble-solver/src/icons/GeoAlt.svg +0 -5
  592. package/packages/scrabble-solver/src/icons/Github.svg +0 -4
  593. package/packages/scrabble-solver/src/icons/InfoCircleFill.svg +0 -4
  594. package/packages/scrabble-solver/src/icons/Keyboard.svg +0 -5
  595. package/packages/scrabble-solver/src/icons/KeyboardFill.svg +0 -4
  596. package/packages/scrabble-solver/src/icons/List.svg +0 -4
  597. package/packages/scrabble-solver/src/icons/OneTwoThree.svg +0 -4
  598. package/packages/scrabble-solver/src/icons/QuestionSquare.svg +0 -5
  599. package/packages/scrabble-solver/src/icons/Sack.svg +0 -4
  600. package/packages/scrabble-solver/src/icons/Search.svg +0 -4
  601. package/packages/scrabble-solver/src/icons/SortDown.svg +0 -4
  602. package/packages/scrabble-solver/src/icons/SortUp.svg +0 -4
  603. package/packages/scrabble-solver/src/icons/Square.svg +0 -4
  604. package/packages/scrabble-solver/src/icons/SquareA.svg +0 -6
  605. package/packages/scrabble-solver/src/icons/SquareB.svg +0 -6
  606. package/packages/scrabble-solver/src/icons/SquareFill.svg +0 -4
  607. package/packages/scrabble-solver/src/icons/Squares.svg +0 -34
  608. package/packages/scrabble-solver/src/icons/Words.svg +0 -22
  609. package/packages/scrabble-solver/src/lib/arrayEquals.ts +0 -3
  610. package/packages/scrabble-solver/src/lib/createComparator.ts +0 -20
  611. package/packages/scrabble-solver/src/lib/createCoordinatesComparator.ts +0 -23
  612. package/packages/scrabble-solver/src/lib/createHighlightWords.test.ts +0 -13
  613. package/packages/scrabble-solver/src/lib/createHighlightWords.ts +0 -9
  614. package/packages/scrabble-solver/src/lib/createKeyComparator.ts +0 -23
  615. package/packages/scrabble-solver/src/lib/createKeyboardNavigation.ts +0 -46
  616. package/packages/scrabble-solver/src/lib/createNullMovingComparator.test.ts +0 -15
  617. package/packages/scrabble-solver/src/lib/createNullMovingComparator.ts +0 -17
  618. package/packages/scrabble-solver/src/lib/createRegExp.ts +0 -11
  619. package/packages/scrabble-solver/src/lib/createSortComparator.ts +0 -22
  620. package/packages/scrabble-solver/src/lib/createStringComparator.ts +0 -7
  621. package/packages/scrabble-solver/src/lib/extractCharacters.test.ts +0 -52
  622. package/packages/scrabble-solver/src/lib/extractCharacters.ts +0 -42
  623. package/packages/scrabble-solver/src/lib/extractInputValue.ts +0 -15
  624. package/packages/scrabble-solver/src/lib/findCell.ts +0 -5
  625. package/packages/scrabble-solver/src/lib/getCoordinate.test.ts +0 -22
  626. package/packages/scrabble-solver/src/lib/getCoordinate.ts +0 -17
  627. package/packages/scrabble-solver/src/lib/getCoordinates.test.ts +0 -21
  628. package/packages/scrabble-solver/src/lib/getCoordinates.ts +0 -16
  629. package/packages/scrabble-solver/src/lib/getNextSort.ts +0 -12
  630. package/packages/scrabble-solver/src/lib/inverseDirection.ts +0 -3
  631. package/packages/scrabble-solver/src/lib/isCtrl.ts +0 -5
  632. package/packages/scrabble-solver/src/lib/isMac.ts +0 -7
  633. package/packages/scrabble-solver/src/lib/isRegExp.ts +0 -9
  634. package/packages/scrabble-solver/src/lib/isStringArray.ts +0 -3
  635. package/packages/scrabble-solver/src/lib/localeTransliterate.test.ts +0 -19
  636. package/packages/scrabble-solver/src/lib/localeTransliterate.ts +0 -38
  637. package/packages/scrabble-solver/src/lib/memoize.ts +0 -64
  638. package/packages/scrabble-solver/src/lib/noop.ts +0 -1
  639. package/packages/scrabble-solver/src/lib/numberComparator.ts +0 -3
  640. package/packages/scrabble-solver/src/lib/reverseComparator.ts +0 -5
  641. package/packages/scrabble-solver/src/lib/unorderedArraysEqual.ts +0 -12
  642. package/packages/scrabble-solver/src/lib/waitForIdleOrFirstIntent.ts +0 -44
  643. package/packages/scrabble-solver/src/lib/zipCharactersAndTiles.ts +0 -28
  644. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.module.scss +0 -22
  645. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.module.scss.d.ts +0 -8
  646. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.tsx +0 -29
  647. package/packages/scrabble-solver/src/modals/DictionaryModal/index.ts +0 -1
  648. package/packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx +0 -65
  649. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss +0 -48
  650. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss.d.ts +0 -11
  651. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.tsx +0 -36
  652. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/index.ts +0 -1
  653. package/packages/scrabble-solver/src/modals/KeyMapModal/components/index.ts +0 -1
  654. package/packages/scrabble-solver/src/modals/KeyMapModal/index.ts +0 -1
  655. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +0 -48
  656. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss.d.ts +0 -10
  657. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +0 -93
  658. package/packages/scrabble-solver/src/modals/MenuModal/index.ts +0 -1
  659. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss +0 -25
  660. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.module.scss.d.ts +0 -9
  661. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +0 -61
  662. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss +0 -50
  663. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss.d.ts +0 -12
  664. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.tsx +0 -89
  665. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/index.ts +0 -1
  666. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/index.ts +0 -1
  667. package/packages/scrabble-solver/src/modals/RemainingTilesModal/index.ts +0 -1
  668. package/packages/scrabble-solver/src/modals/RemainingTilesModal/lib.ts +0 -81
  669. package/packages/scrabble-solver/src/modals/RemainingTilesModal/selectors.ts +0 -7
  670. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss +0 -20
  671. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss.d.ts +0 -8
  672. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.tsx +0 -107
  673. package/packages/scrabble-solver/src/modals/ResultsModal/index.ts +0 -1
  674. package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +0 -65
  675. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss +0 -12
  676. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.module.scss.d.ts +0 -7
  677. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/AutoGroupTilesSetting.tsx +0 -58
  678. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/constants.ts +0 -1
  679. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/index.ts +0 -1
  680. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/lib.ts +0 -15
  681. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss +0 -12
  682. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss.d.ts +0 -7
  683. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +0 -45
  684. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/index.ts +0 -1
  685. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/lib.ts +0 -19
  686. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.module.scss +0 -12
  687. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.module.scss.d.ts +0 -7
  688. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/HighlightUnreachableCellsSetting.tsx +0 -51
  689. package/packages/scrabble-solver/src/modals/SettingsModal/components/HighlightUnreachableCellsSetting/index.ts +0 -1
  690. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.module.scss +0 -12
  691. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.module.scss.d.ts +0 -7
  692. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/InputModeSetting.tsx +0 -53
  693. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/index.ts +0 -1
  694. package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/lib.ts +0 -13
  695. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +0 -20
  696. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss.d.ts +0 -8
  697. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +0 -54
  698. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/index.ts +0 -1
  699. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.module.scss +0 -12
  700. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.module.scss.d.ts +0 -7
  701. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/RemoveCellFiltersSetting.tsx +0 -53
  702. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/index.ts +0 -1
  703. package/packages/scrabble-solver/src/modals/SettingsModal/components/RemoveCellFiltersSetting/lib.ts +0 -13
  704. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss +0 -12
  705. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.module.scss.d.ts +0 -7
  706. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +0 -53
  707. package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/index.ts +0 -1
  708. package/packages/scrabble-solver/src/modals/SettingsModal/components/index.ts +0 -7
  709. package/packages/scrabble-solver/src/modals/SettingsModal/index.ts +0 -1
  710. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.module.scss +0 -24
  711. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.module.scss.d.ts +0 -8
  712. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.tsx +0 -75
  713. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordRow.tsx +0 -97
  714. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordsTable.module.scss +0 -69
  715. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordsTable.module.scss.d.ts +0 -16
  716. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/WordsTable.tsx +0 -137
  717. package/packages/scrabble-solver/src/modals/WordsModal/components/WordsTable/index.ts +0 -1
  718. package/packages/scrabble-solver/src/modals/WordsModal/components/index.ts +0 -1
  719. package/packages/scrabble-solver/src/modals/WordsModal/index.ts +0 -1
  720. package/packages/scrabble-solver/src/modals/preload.ts +0 -24
  721. package/packages/scrabble-solver/src/pages/_app.tsx +0 -52
  722. package/packages/scrabble-solver/src/pages/_document.tsx +0 -129
  723. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +0 -66
  724. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts +0 -123
  725. package/packages/scrabble-solver/src/pages/api/solve.ts +0 -103
  726. package/packages/scrabble-solver/src/pages/api/verify.ts +0 -78
  727. package/packages/scrabble-solver/src/pages/api/visit.ts +0 -44
  728. package/packages/scrabble-solver/src/pages/index.module.scss +0 -31
  729. package/packages/scrabble-solver/src/pages/index.module.scss.d.ts +0 -11
  730. package/packages/scrabble-solver/src/pages/index.tsx +0 -274
  731. package/packages/scrabble-solver/src/pages/not-found.tsx +0 -16
  732. package/packages/scrabble-solver/src/parameters/index.ts +0 -81
  733. package/packages/scrabble-solver/src/sdk/fetch.ts +0 -28
  734. package/packages/scrabble-solver/src/sdk/fetchJson.ts +0 -9
  735. package/packages/scrabble-solver/src/sdk/findWordDefinitions.ts +0 -8
  736. package/packages/scrabble-solver/src/sdk/index.ts +0 -4
  737. package/packages/scrabble-solver/src/sdk/solve.ts +0 -19
  738. package/packages/scrabble-solver/src/sdk/verify.ts +0 -20
  739. package/packages/scrabble-solver/src/sdk/visit.ts +0 -10
  740. package/packages/scrabble-solver/src/service-worker/appShell.test.ts +0 -86
  741. package/packages/scrabble-solver/src/service-worker/appShell.ts +0 -39
  742. package/packages/scrabble-solver/src/service-worker/index.ts +0 -22
  743. package/packages/scrabble-solver/src/serviceWorkerManager.ts +0 -12
  744. package/packages/scrabble-solver/src/solver-worker/client.test.ts +0 -158
  745. package/packages/scrabble-solver/src/solver-worker/client.ts +0 -106
  746. package/packages/scrabble-solver/src/solver-worker/dictionaries/constants.ts +0 -9
  747. package/packages/scrabble-solver/src/solver-worker/dictionaries/expirationManager.ts +0 -7
  748. package/packages/scrabble-solver/src/solver-worker/dictionaries/getDictionary.ts +0 -21
  749. package/packages/scrabble-solver/src/solver-worker/dictionaries/getDictionaryUrl.ts +0 -5
  750. package/packages/scrabble-solver/src/solver-worker/dictionaries/index.ts +0 -2
  751. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.test.ts +0 -199
  752. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.ts +0 -86
  753. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidatedAt.ts +0 -43
  754. package/packages/scrabble-solver/src/solver-worker/getGaddag.test.ts +0 -109
  755. package/packages/scrabble-solver/src/solver-worker/getGaddag.ts +0 -62
  756. package/packages/scrabble-solver/src/solver-worker/index.ts +0 -1
  757. package/packages/scrabble-solver/src/solver-worker/index.worker.ts +0 -124
  758. package/packages/scrabble-solver/src/solver-worker/messages.ts +0 -20
  759. package/packages/scrabble-solver/src/state/actions.ts +0 -5
  760. package/packages/scrabble-solver/src/state/app/index.ts +0 -4
  761. package/packages/scrabble-solver/src/state/app/initialState.ts +0 -6
  762. package/packages/scrabble-solver/src/state/app/selectors.ts +0 -5
  763. package/packages/scrabble-solver/src/state/app/slice.ts +0 -20
  764. package/packages/scrabble-solver/src/state/app/types.ts +0 -4
  765. package/packages/scrabble-solver/src/state/board/index.ts +0 -4
  766. package/packages/scrabble-solver/src/state/board/initialState.ts +0 -38
  767. package/packages/scrabble-solver/src/state/board/selectors.ts +0 -3
  768. package/packages/scrabble-solver/src/state/board/slice.ts +0 -101
  769. package/packages/scrabble-solver/src/state/board/types.ts +0 -3
  770. package/packages/scrabble-solver/src/state/cellFilters/index.ts +0 -4
  771. package/packages/scrabble-solver/src/state/cellFilters/initialState.ts +0 -3
  772. package/packages/scrabble-solver/src/state/cellFilters/lib.ts +0 -8
  773. package/packages/scrabble-solver/src/state/cellFilters/selectors.ts +0 -13
  774. package/packages/scrabble-solver/src/state/cellFilters/slice.ts +0 -49
  775. package/packages/scrabble-solver/src/state/cellFilters/types.ts +0 -3
  776. package/packages/scrabble-solver/src/state/dictionary/index.ts +0 -4
  777. package/packages/scrabble-solver/src/state/dictionary/initialState.ts +0 -8
  778. package/packages/scrabble-solver/src/state/dictionary/selectors.ts +0 -16
  779. package/packages/scrabble-solver/src/state/dictionary/slice.ts +0 -34
  780. package/packages/scrabble-solver/src/state/dictionary/types.ts +0 -8
  781. package/packages/scrabble-solver/src/state/hoveredTile/index.ts +0 -4
  782. package/packages/scrabble-solver/src/state/hoveredTile/initialState.ts +0 -5
  783. package/packages/scrabble-solver/src/state/hoveredTile/selectors.ts +0 -3
  784. package/packages/scrabble-solver/src/state/hoveredTile/slice.ts +0 -16
  785. package/packages/scrabble-solver/src/state/hoveredTile/types.ts +0 -3
  786. package/packages/scrabble-solver/src/state/hoveredWord/index.ts +0 -4
  787. package/packages/scrabble-solver/src/state/hoveredWord/initialState.ts +0 -5
  788. package/packages/scrabble-solver/src/state/hoveredWord/selectors.ts +0 -5
  789. package/packages/scrabble-solver/src/state/hoveredWord/slice.ts +0 -18
  790. package/packages/scrabble-solver/src/state/hoveredWord/types.ts +0 -5
  791. package/packages/scrabble-solver/src/state/i18n/index.ts +0 -4
  792. package/packages/scrabble-solver/src/state/i18n/initialState.ts +0 -5
  793. package/packages/scrabble-solver/src/state/i18n/selectors.ts +0 -3
  794. package/packages/scrabble-solver/src/state/i18n/slice.ts +0 -16
  795. package/packages/scrabble-solver/src/state/i18n/types.ts +0 -7
  796. package/packages/scrabble-solver/src/state/index.ts +0 -19
  797. package/packages/scrabble-solver/src/state/lib.ts +0 -46
  798. package/packages/scrabble-solver/src/state/localStorage.ts +0 -142
  799. package/packages/scrabble-solver/src/state/rack/index.ts +0 -4
  800. package/packages/scrabble-solver/src/state/rack/initialState.ts +0 -11
  801. package/packages/scrabble-solver/src/state/rack/selectors.ts +0 -7
  802. package/packages/scrabble-solver/src/state/rack/slice.ts +0 -56
  803. package/packages/scrabble-solver/src/state/rack/types.ts +0 -3
  804. package/packages/scrabble-solver/src/state/results/index.ts +0 -4
  805. package/packages/scrabble-solver/src/state/results/initialState.ts +0 -13
  806. package/packages/scrabble-solver/src/state/results/lib.ts +0 -86
  807. package/packages/scrabble-solver/src/state/results/selectors.ts +0 -83
  808. package/packages/scrabble-solver/src/state/results/slice.ts +0 -43
  809. package/packages/scrabble-solver/src/state/results/types.ts +0 -10
  810. package/packages/scrabble-solver/src/state/sagas.ts +0 -395
  811. package/packages/scrabble-solver/src/state/selectors.ts +0 -52
  812. package/packages/scrabble-solver/src/state/settings/index.ts +0 -4
  813. package/packages/scrabble-solver/src/state/settings/initialState.ts +0 -16
  814. package/packages/scrabble-solver/src/state/settings/lib.ts +0 -42
  815. package/packages/scrabble-solver/src/state/settings/selectors.ts +0 -78
  816. package/packages/scrabble-solver/src/state/settings/slice.ts +0 -54
  817. package/packages/scrabble-solver/src/state/settings/types.ts +0 -13
  818. package/packages/scrabble-solver/src/state/solve/index.ts +0 -4
  819. package/packages/scrabble-solver/src/state/solve/initialState.ts +0 -12
  820. package/packages/scrabble-solver/src/state/solve/selectors.ts +0 -14
  821. package/packages/scrabble-solver/src/state/solve/slice.ts +0 -33
  822. package/packages/scrabble-solver/src/state/solve/types.ts +0 -10
  823. package/packages/scrabble-solver/src/state/store.ts +0 -38
  824. package/packages/scrabble-solver/src/state/types.ts +0 -27
  825. package/packages/scrabble-solver/src/state/useTranslate.ts +0 -32
  826. package/packages/scrabble-solver/src/state/useTypedSelector.ts +0 -5
  827. package/packages/scrabble-solver/src/state/useTypedStore.ts +0 -6
  828. package/packages/scrabble-solver/src/state/verify/index.ts +0 -4
  829. package/packages/scrabble-solver/src/state/verify/initialState.ts +0 -19
  830. package/packages/scrabble-solver/src/state/verify/lib.test.ts +0 -55
  831. package/packages/scrabble-solver/src/state/verify/lib.ts +0 -49
  832. package/packages/scrabble-solver/src/state/verify/selectors.ts +0 -46
  833. package/packages/scrabble-solver/src/state/verify/slice.ts +0 -40
  834. package/packages/scrabble-solver/src/state/verify/types.ts +0 -14
  835. package/packages/scrabble-solver/src/styles/_tokens.scss +0 -60
  836. package/packages/scrabble-solver/src/styles/animations.scss +0 -49
  837. package/packages/scrabble-solver/src/styles/global.scss +0 -61
  838. package/packages/scrabble-solver/src/styles/mixins.scss +0 -117
  839. package/packages/scrabble-solver/src/styles/variables.module.scss +0 -32
  840. package/packages/scrabble-solver/src/styles/variables.module.scss.d.ts +0 -27
  841. package/packages/scrabble-solver/src/styles/variables.scss +0 -176
  842. package/packages/scrabble-solver/src/types/api.ts +0 -21
  843. package/packages/scrabble-solver/src/types/index.ts +0 -177
  844. package/packages/scrabble-solver/tsconfig.json +0 -27
  845. package/packages/scrabble-solver/tsconfig.tsbuildinfo +0 -1
  846. package/packages/solver/README.md +0 -29
  847. package/packages/solver/benchmarks/index.ts +0 -15
  848. package/packages/solver/benchmarks/lib.ts +0 -31
  849. package/packages/solver/benchmarks/renderChart.ts +0 -165
  850. package/packages/solver/benchmarks/results/chart.svg +0 -65
  851. package/packages/solver/benchmarks/runBenchmarks.ts +0 -66
  852. package/packages/solver/benchmarks/scenarios.ts +0 -64
  853. package/packages/solver/benchmarks/types.ts +0 -16
  854. package/packages/solver/benchmarks/updateReadme.ts +0 -53
  855. package/packages/solver/build/MoveGenerator.d.ts +0 -116
  856. package/packages/solver/build/MoveGenerator.js +0 -686
  857. package/packages/solver/build/index.d.ts +0 -1
  858. package/packages/solver/build/index.js +0 -5
  859. package/packages/solver/build/solve.d.ts +0 -3
  860. package/packages/solver/build/solve.js +0 -8
  861. package/packages/solver/package.json +0 -45
  862. package/packages/solver/src/MoveGenerator.test.ts +0 -1009
  863. package/packages/solver/src/MoveGenerator.ts +0 -926
  864. package/packages/solver/src/ReferenceSolver.ts +0 -401
  865. package/packages/solver/src/index.ts +0 -1
  866. package/packages/solver/src/solve.test.ts +0 -225
  867. package/packages/solver/src/solve.ts +0 -8
  868. package/packages/solver/tsconfig.json +0 -10
  869. package/packages/types/README.md +0 -3
  870. package/packages/types/build/Bingo.d.ts +0 -7
  871. package/packages/types/build/Bingo.js +0 -2
  872. package/packages/types/build/Board.d.ts +0 -33
  873. package/packages/types/build/Board.js +0 -106
  874. package/packages/types/build/BoardJson.d.ts +0 -2
  875. package/packages/types/build/BoardJson.js +0 -2
  876. package/packages/types/build/BoardWord.d.ts +0 -7
  877. package/packages/types/build/BoardWord.js +0 -2
  878. package/packages/types/build/Bonus.d.ts +0 -22
  879. package/packages/types/build/Bonus.js +0 -33
  880. package/packages/types/build/BonusJson.d.ts +0 -7
  881. package/packages/types/build/BonusJson.js +0 -2
  882. package/packages/types/build/BonusValue.d.ts +0 -4
  883. package/packages/types/build/BonusValue.js +0 -2
  884. package/packages/types/build/Cell.d.ts +0 -22
  885. package/packages/types/build/Cell.js +0 -52
  886. package/packages/types/build/CellJson.d.ts +0 -7
  887. package/packages/types/build/CellJson.js +0 -2
  888. package/packages/types/build/CharacterBonus.d.ts +0 -10
  889. package/packages/types/build/CharacterBonus.js +0 -27
  890. package/packages/types/build/Collision.d.ts +0 -2
  891. package/packages/types/build/Collision.js +0 -2
  892. package/packages/types/build/Config.d.ts +0 -36
  893. package/packages/types/build/Config.js +0 -105
  894. package/packages/types/build/ConfigJson.d.ts +0 -18
  895. package/packages/types/build/ConfigJson.js +0 -2
  896. package/packages/types/build/Dictionary.d.ts +0 -6
  897. package/packages/types/build/Dictionary.js +0 -2
  898. package/packages/types/build/Direction.d.ts +0 -1
  899. package/packages/types/build/Direction.js +0 -2
  900. package/packages/types/build/Game.d.ts +0 -10
  901. package/packages/types/build/Game.js +0 -14
  902. package/packages/types/build/Locale.d.ts +0 -16
  903. package/packages/types/build/Locale.js +0 -20
  904. package/packages/types/build/Result.d.ts +0 -32
  905. package/packages/types/build/Result.js +0 -61
  906. package/packages/types/build/ResultJson.d.ts +0 -9
  907. package/packages/types/build/ResultJson.js +0 -2
  908. package/packages/types/build/ShowCoordinates.d.ts +0 -5
  909. package/packages/types/build/ShowCoordinates.js +0 -2
  910. package/packages/types/build/TextDirection.d.ts +0 -1
  911. package/packages/types/build/TextDirection.js +0 -2
  912. package/packages/types/build/Tile.d.ts +0 -15
  913. package/packages/types/build/Tile.js +0 -46
  914. package/packages/types/build/TileConfig.d.ts +0 -5
  915. package/packages/types/build/TileConfig.js +0 -2
  916. package/packages/types/build/TileJson.d.ts +0 -4
  917. package/packages/types/build/TileJson.js +0 -2
  918. package/packages/types/build/WordBonus.d.ts +0 -6
  919. package/packages/types/build/WordBonus.js +0 -18
  920. package/packages/types/build/WordDefinition.d.ts +0 -17
  921. package/packages/types/build/WordDefinition.js +0 -38
  922. package/packages/types/build/WordDefinitionJson.d.ts +0 -12
  923. package/packages/types/build/WordDefinitionJson.js +0 -2
  924. package/packages/types/build/index.d.ts +0 -29
  925. package/packages/types/build/index.js +0 -38
  926. package/packages/types/build/lib/getBoardWords.d.ts +0 -3
  927. package/packages/types/build/lib/getBoardWords.js +0 -10
  928. package/packages/types/build/lib/getCells.d.ts +0 -4
  929. package/packages/types/build/lib/getCells.js +0 -27
  930. package/packages/types/build/lib/getCollidingWords.d.ts +0 -3
  931. package/packages/types/build/lib/getCollidingWords.js +0 -19
  932. package/packages/types/build/lib/getCollision.d.ts +0 -3
  933. package/packages/types/build/lib/getCollision.js +0 -31
  934. package/packages/types/build/lib/getCollisions.d.ts +0 -3
  935. package/packages/types/build/lib/getCollisions.js +0 -17
  936. package/packages/types/build/lib/getPlacedCell.d.ts +0 -3
  937. package/packages/types/build/lib/getPlacedCell.js +0 -10
  938. package/packages/types/build/lib/getWordThrough.d.ts +0 -4
  939. package/packages/types/build/lib/getWordThrough.js +0 -23
  940. package/packages/types/build/lib/getWordsInRows.d.ts +0 -8
  941. package/packages/types/build/lib/getWordsInRows.js +0 -29
  942. package/packages/types/build/lib/index.d.ts +0 -5
  943. package/packages/types/build/lib/index.js +0 -21
  944. package/packages/types/build/lib/isSameBoardWord.d.ts +0 -2
  945. package/packages/types/build/lib/isSameBoardWord.js +0 -6
  946. package/packages/types/build/lib/toBoardWord.d.ts +0 -4
  947. package/packages/types/build/lib/toBoardWord.js +0 -11
  948. package/packages/types/build/lib/transpose.d.ts +0 -1
  949. package/packages/types/build/lib/transpose.js +0 -16
  950. package/packages/types/build/type-guards/index.d.ts +0 -10
  951. package/packages/types/build/type-guards/index.js +0 -23
  952. package/packages/types/build/type-guards/isBingo.d.ts +0 -2
  953. package/packages/types/build/type-guards/isBingo.js +0 -9
  954. package/packages/types/build/type-guards/isBoardJson.d.ts +0 -2
  955. package/packages/types/build/type-guards/isBoardJson.js +0 -21
  956. package/packages/types/build/type-guards/isCellJson.d.ts +0 -2
  957. package/packages/types/build/type-guards/isCellJson.js +0 -13
  958. package/packages/types/build/type-guards/isError.d.ts +0 -1
  959. package/packages/types/build/type-guards/isError.js +0 -11
  960. package/packages/types/build/type-guards/isGame.d.ts +0 -2
  961. package/packages/types/build/type-guards/isGame.js +0 -7
  962. package/packages/types/build/type-guards/isLocale.d.ts +0 -2
  963. package/packages/types/build/type-guards/isLocale.js +0 -7
  964. package/packages/types/build/type-guards/isMultiplierBingo.d.ts +0 -2
  965. package/packages/types/build/type-guards/isMultiplierBingo.js +0 -8
  966. package/packages/types/build/type-guards/isObject.d.ts +0 -1
  967. package/packages/types/build/type-guards/isObject.js +0 -7
  968. package/packages/types/build/type-guards/isScoreBingo.d.ts +0 -2
  969. package/packages/types/build/type-guards/isScoreBingo.js +0 -8
  970. package/packages/types/build/type-guards/isTileJson.d.ts +0 -2
  971. package/packages/types/build/type-guards/isTileJson.js +0 -8
  972. package/packages/types/package.json +0 -37
  973. package/packages/types/src/Bingo.ts +0 -5
  974. package/packages/types/src/Board.test.ts +0 -85
  975. package/packages/types/src/Board.ts +0 -141
  976. package/packages/types/src/BoardJson.ts +0 -3
  977. package/packages/types/src/BoardWord.ts +0 -8
  978. package/packages/types/src/Bonus.ts +0 -50
  979. package/packages/types/src/BonusJson.ts +0 -7
  980. package/packages/types/src/BonusValue.ts +0 -4
  981. package/packages/types/src/Cell.ts +0 -66
  982. package/packages/types/src/CellJson.ts +0 -8
  983. package/packages/types/src/CharacterBonus.ts +0 -29
  984. package/packages/types/src/Collision.ts +0 -3
  985. package/packages/types/src/Config.ts +0 -152
  986. package/packages/types/src/ConfigJson.ts +0 -19
  987. package/packages/types/src/Dictionary.ts +0 -7
  988. package/packages/types/src/Direction.ts +0 -1
  989. package/packages/types/src/Game.ts +0 -10
  990. package/packages/types/src/Locale.ts +0 -16
  991. package/packages/types/src/Result.ts +0 -118
  992. package/packages/types/src/ResultJson.ts +0 -9
  993. package/packages/types/src/ShowCoordinates.ts +0 -5
  994. package/packages/types/src/TextDirection.ts +0 -1
  995. package/packages/types/src/Tile.ts +0 -56
  996. package/packages/types/src/TileConfig.ts +0 -5
  997. package/packages/types/src/TileJson.ts +0 -4
  998. package/packages/types/src/WordBonus.ts +0 -15
  999. package/packages/types/src/WordDefinition.ts +0 -54
  1000. package/packages/types/src/WordDefinitionJson.ts +0 -12
  1001. package/packages/types/src/index.ts +0 -40
  1002. package/packages/types/src/lib/getBoardWords.ts +0 -11
  1003. package/packages/types/src/lib/getCells.test.ts +0 -127
  1004. package/packages/types/src/lib/getCells.ts +0 -31
  1005. package/packages/types/src/lib/getCollidingWords.ts +0 -25
  1006. package/packages/types/src/lib/getCollision.ts +0 -38
  1007. package/packages/types/src/lib/getCollisions.test.ts +0 -82
  1008. package/packages/types/src/lib/getCollisions.ts +0 -22
  1009. package/packages/types/src/lib/getPlacedCell.ts +0 -9
  1010. package/packages/types/src/lib/getWordThrough.ts +0 -30
  1011. package/packages/types/src/lib/getWordsInRows.ts +0 -34
  1012. package/packages/types/src/lib/index.ts +0 -5
  1013. package/packages/types/src/lib/isSameBoardWord.ts +0 -5
  1014. package/packages/types/src/lib/toBoardWord.ts +0 -12
  1015. package/packages/types/src/lib/transpose.ts +0 -15
  1016. package/packages/types/src/type-guards/index.ts +0 -10
  1017. package/packages/types/src/type-guards/isBingo.ts +0 -8
  1018. package/packages/types/src/type-guards/isBoardJson.test.ts +0 -33
  1019. package/packages/types/src/type-guards/isBoardJson.ts +0 -23
  1020. package/packages/types/src/type-guards/isCellJson.ts +0 -14
  1021. package/packages/types/src/type-guards/isError.ts +0 -9
  1022. package/packages/types/src/type-guards/isGame.ts +0 -5
  1023. package/packages/types/src/type-guards/isLocale.ts +0 -5
  1024. package/packages/types/src/type-guards/isMultiplierBingo.ts +0 -7
  1025. package/packages/types/src/type-guards/isObject.ts +0 -3
  1026. package/packages/types/src/type-guards/isScoreBingo.ts +0 -7
  1027. package/packages/types/src/type-guards/isTileJson.ts +0 -7
  1028. package/packages/types/tsconfig.json +0 -10
  1029. package/packages/word-definitions/README.md +0 -3
  1030. package/packages/word-definitions/build/crawl.d.ts +0 -2
  1031. package/packages/word-definitions/build/crawl.js +0 -20
  1032. package/packages/word-definitions/build/getWordDefinition.d.ts +0 -2
  1033. package/packages/word-definitions/build/getWordDefinition.js +0 -13
  1034. package/packages/word-definitions/build/index.d.ts +0 -5
  1035. package/packages/word-definitions/build/index.js +0 -21
  1036. package/packages/word-definitions/build/languages/english.d.ts +0 -3
  1037. package/packages/word-definitions/build/languages/english.js +0 -38
  1038. package/packages/word-definitions/build/languages/french.d.ts +0 -3
  1039. package/packages/word-definitions/build/languages/french.js +0 -22
  1040. package/packages/word-definitions/build/languages/german.d.ts +0 -3
  1041. package/packages/word-definitions/build/languages/german.js +0 -70
  1042. package/packages/word-definitions/build/languages/index.d.ts +0 -8
  1043. package/packages/word-definitions/build/languages/index.js +0 -44
  1044. package/packages/word-definitions/build/languages/persian.d.ts +0 -3
  1045. package/packages/word-definitions/build/languages/persian.js +0 -23
  1046. package/packages/word-definitions/build/languages/polish.d.ts +0 -3
  1047. package/packages/word-definitions/build/languages/polish.js +0 -24
  1048. package/packages/word-definitions/build/languages/romanian.d.ts +0 -3
  1049. package/packages/word-definitions/build/languages/romanian.js +0 -26
  1050. package/packages/word-definitions/build/languages/spanish.d.ts +0 -3
  1051. package/packages/word-definitions/build/languages/spanish.js +0 -39
  1052. package/packages/word-definitions/build/languages/turkish.d.ts +0 -3
  1053. package/packages/word-definitions/build/languages/turkish.js +0 -31
  1054. package/packages/word-definitions/build/lib/index.d.ts +0 -3
  1055. package/packages/word-definitions/build/lib/index.js +0 -9
  1056. package/packages/word-definitions/build/lib/normalizeDefinition.d.ts +0 -1
  1057. package/packages/word-definitions/build/lib/normalizeDefinition.js +0 -46
  1058. package/packages/word-definitions/build/lib/request.d.ts +0 -6
  1059. package/packages/word-definitions/build/lib/request.js +0 -28
  1060. package/packages/word-definitions/build/lib/unique.d.ts +0 -1
  1061. package/packages/word-definitions/build/lib/unique.js +0 -5
  1062. package/packages/word-definitions/build/parse.d.ts +0 -3
  1063. package/packages/word-definitions/build/parse.js +0 -25
  1064. package/packages/word-definitions/build/types.d.ts +0 -4
  1065. package/packages/word-definitions/build/types.js +0 -2
  1066. package/packages/word-definitions/package.json +0 -43
  1067. package/packages/word-definitions/src/__tests__/expected/de-DE.hm.json +0 -4
  1068. package/packages/word-definitions/src/__tests__/expected/de-DE.ho.json +0 -9
  1069. package/packages/word-definitions/src/__tests__/expected/de-DE.kolla.json +0 -4
  1070. package/packages/word-definitions/src/__tests__/expected/de-DE.vom.json +0 -16
  1071. package/packages/word-definitions/src/__tests__/expected/en-US.awe.json +0 -12
  1072. package/packages/word-definitions/src/__tests__/expected/en-US.oe.json +0 -7
  1073. package/packages/word-definitions/src/__tests__/expected/en-US.pawn.json +0 -16
  1074. package/packages/word-definitions/src/__tests__/expected/en-US.pawnee.json +0 -6
  1075. package/packages/word-definitions/src/__tests__/expected/en-US.pean.json +0 -9
  1076. package/packages/word-definitions/src/__tests__/expected/en-US.wiz.json +0 -10
  1077. package/packages/word-definitions/src/__tests__/expected/en-US.zzzzqq.json +0 -4
  1078. package/packages/word-definitions/src/__tests__/expected/es-ES.corma.json +0 -7
  1079. package/packages/word-definitions/src/__tests__/expected/es-ES.portero.json +0 -9
  1080. package/packages/word-definitions/src/__tests__/expected/ro-RO.aciua.json +0 -7
  1081. package/packages/word-definitions/src/__tests__/expected/tr-TR.lojik.json +0 -4
  1082. package/packages/word-definitions/src/__tests__/input/de-DE.hm.html +0 -873
  1083. package/packages/word-definitions/src/__tests__/input/de-DE.ho.html +0 -1144
  1084. package/packages/word-definitions/src/__tests__/input/de-DE.kolla.html +0 -980
  1085. package/packages/word-definitions/src/__tests__/input/de-DE.vom.html +0 -738
  1086. package/packages/word-definitions/src/__tests__/input/en-US.awe.json +0 -1
  1087. package/packages/word-definitions/src/__tests__/input/en-US.oe.json +0 -1
  1088. package/packages/word-definitions/src/__tests__/input/en-US.pawn.json +0 -1
  1089. package/packages/word-definitions/src/__tests__/input/en-US.pawnee.json +0 -1
  1090. package/packages/word-definitions/src/__tests__/input/en-US.pean.json +0 -1
  1091. package/packages/word-definitions/src/__tests__/input/en-US.wiz.json +0 -1
  1092. package/packages/word-definitions/src/__tests__/input/en-US.zzzzqq.json +0 -1
  1093. package/packages/word-definitions/src/__tests__/input/es-ES.corma.html +0 -762
  1094. package/packages/word-definitions/src/__tests__/input/es-ES.portero.html +0 -764
  1095. package/packages/word-definitions/src/__tests__/input/ro-RO.aciua.html +0 -31
  1096. package/packages/word-definitions/src/__tests__/input/tr-TR.lojik.html +0 -1
  1097. package/packages/word-definitions/src/crawl.ts +0 -19
  1098. package/packages/word-definitions/src/getWordDefinition.ts +0 -11
  1099. package/packages/word-definitions/src/index.ts +0 -5
  1100. package/packages/word-definitions/src/languages/english.ts +0 -53
  1101. package/packages/word-definitions/src/languages/french.ts +0 -22
  1102. package/packages/word-definitions/src/languages/german.ts +0 -88
  1103. package/packages/word-definitions/src/languages/index.ts +0 -8
  1104. package/packages/word-definitions/src/languages/persian.ts +0 -24
  1105. package/packages/word-definitions/src/languages/polish.ts +0 -24
  1106. package/packages/word-definitions/src/languages/romanian.ts +0 -27
  1107. package/packages/word-definitions/src/languages/spanish.ts +0 -42
  1108. package/packages/word-definitions/src/languages/turkish.ts +0 -32
  1109. package/packages/word-definitions/src/lib/index.ts +0 -3
  1110. package/packages/word-definitions/src/lib/normalizeDefinition.ts +0 -53
  1111. package/packages/word-definitions/src/lib/request.ts +0 -30
  1112. package/packages/word-definitions/src/lib/unique.ts +0 -1
  1113. package/packages/word-definitions/src/parse.test.ts +0 -41
  1114. package/packages/word-definitions/src/parse.ts +0 -26
  1115. package/packages/word-definitions/src/types.ts +0 -4
  1116. package/packages/word-definitions/tsconfig.json +0 -10
  1117. package/packages/word-lists/README.md +0 -3
  1118. package/packages/word-lists/build/getWordList.d.ts +0 -2
  1119. package/packages/word-lists/build/getWordList.js +0 -18
  1120. package/packages/word-lists/build/index.d.ts +0 -3
  1121. package/packages/word-lists/build/index.js +0 -21
  1122. package/packages/word-lists/build/languages/english.d.ts +0 -2
  1123. package/packages/word-lists/build/languages/english.js +0 -15
  1124. package/packages/word-lists/build/languages/french.d.ts +0 -1
  1125. package/packages/word-lists/build/languages/french.js +0 -11
  1126. package/packages/word-lists/build/languages/german.d.ts +0 -1
  1127. package/packages/word-lists/build/languages/german.js +0 -10
  1128. package/packages/word-lists/build/languages/index.d.ts +0 -8
  1129. package/packages/word-lists/build/languages/index.js +0 -44
  1130. package/packages/word-lists/build/languages/persian.d.ts +0 -1
  1131. package/packages/word-lists/build/languages/persian.js +0 -10
  1132. package/packages/word-lists/build/languages/polish.d.ts +0 -1
  1133. package/packages/word-lists/build/languages/polish.js +0 -56
  1134. package/packages/word-lists/build/languages/romanian.d.ts +0 -1
  1135. package/packages/word-lists/build/languages/romanian.js +0 -11
  1136. package/packages/word-lists/build/languages/spanish.d.ts +0 -1
  1137. package/packages/word-lists/build/languages/spanish.js +0 -11
  1138. package/packages/word-lists/build/languages/turkish.d.ts +0 -1
  1139. package/packages/word-lists/build/languages/turkish.js +0 -10
  1140. package/packages/word-lists/build/lib/downloadFile.d.ts +0 -1
  1141. package/packages/word-lists/build/lib/downloadFile.js +0 -38
  1142. package/packages/word-lists/build/lib/downloadHtml.d.ts +0 -1
  1143. package/packages/word-lists/build/lib/downloadHtml.js +0 -21
  1144. package/packages/word-lists/build/lib/extractWords.d.ts +0 -1
  1145. package/packages/word-lists/build/lib/extractWords.js +0 -17
  1146. package/packages/word-lists/build/lib/findFirstWordIndex.d.ts +0 -1
  1147. package/packages/word-lists/build/lib/findFirstWordIndex.js +0 -17
  1148. package/packages/word-lists/build/lib/getHash.d.ts +0 -1
  1149. package/packages/word-lists/build/lib/getHash.js +0 -9
  1150. package/packages/word-lists/build/lib/getTempFilepath.d.ts +0 -1
  1151. package/packages/word-lists/build/lib/getTempFilepath.js +0 -15
  1152. package/packages/word-lists/build/lib/getTxtWordList.d.ts +0 -1
  1153. package/packages/word-lists/build/lib/getTxtWordList.js +0 -17
  1154. package/packages/word-lists/build/lib/index.d.ts +0 -10
  1155. package/packages/word-lists/build/lib/index.js +0 -23
  1156. package/packages/word-lists/build/lib/transliterateDiacritics.d.ts +0 -2
  1157. package/packages/word-lists/build/lib/transliterateDiacritics.js +0 -9
  1158. package/packages/word-lists/build/lib/unique.d.ts +0 -1
  1159. package/packages/word-lists/build/lib/unique.js +0 -5
  1160. package/packages/word-lists/build/lib/unzip.d.ts +0 -1
  1161. package/packages/word-lists/build/lib/unzip.js +0 -24
  1162. package/packages/word-lists/package.json +0 -45
  1163. package/packages/word-lists/src/getWordList.ts +0 -17
  1164. package/packages/word-lists/src/index.ts +0 -3
  1165. package/packages/word-lists/src/languages/english.ts +0 -16
  1166. package/packages/word-lists/src/languages/french.ts +0 -11
  1167. package/packages/word-lists/src/languages/german.ts +0 -10
  1168. package/packages/word-lists/src/languages/index.ts +0 -8
  1169. package/packages/word-lists/src/languages/persian.ts +0 -10
  1170. package/packages/word-lists/src/languages/polish.ts +0 -59
  1171. package/packages/word-lists/src/languages/romanian.ts +0 -10
  1172. package/packages/word-lists/src/languages/spanish.ts +0 -10
  1173. package/packages/word-lists/src/languages/turkish.ts +0 -9
  1174. package/packages/word-lists/src/lib/downloadFile.ts +0 -37
  1175. package/packages/word-lists/src/lib/downloadHtml.ts +0 -18
  1176. package/packages/word-lists/src/lib/extractWords.ts +0 -17
  1177. package/packages/word-lists/src/lib/findFirstWordIndex.ts +0 -16
  1178. package/packages/word-lists/src/lib/getHash.ts +0 -3
  1179. package/packages/word-lists/src/lib/getTempFilepath.ts +0 -11
  1180. package/packages/word-lists/src/lib/getTxtWordList.ts +0 -12
  1181. package/packages/word-lists/src/lib/index.ts +0 -10
  1182. package/packages/word-lists/src/lib/transliterateDiacritics.ts +0 -7
  1183. package/packages/word-lists/src/lib/unique.ts +0 -1
  1184. package/packages/word-lists/src/lib/unzip.ts +0 -18
  1185. package/packages/word-lists/tsconfig.json +0 -10
@@ -18,8 +18,8 @@ jobs:
18
18
  VERSION=$(node -p "require('./package.json').version")
19
19
  echo "VERSION=$VERSION" >> "$GITHUB_ENV"
20
20
  echo "Target version: $VERSION"
21
- # Unscoped CLI package (published by `np`) + every non-private workspace
22
- # package (published by `lerna publish`). All version in lockstep.
21
+ # Unscoped CLI package + every non-private workspace package, published
22
+ # together by `bun run release`. All version in lockstep.
23
23
  PACKAGES=$(node -p "['scrabble-solver', ...require('fs').readdirSync('packages').map(d=>require('./packages/'+d+'/package.json')).filter(p=>!p.private).map(p=>p.name)].join(' ')")
24
24
  echo "Waiting for: $PACKAGES"
25
25
  for pkg in $PACKAGES; do
@@ -21,8 +21,8 @@ jobs:
21
21
  VERSION=$(node -p "require('./package.json').version")
22
22
  echo "VERSION=$VERSION" >> "$GITHUB_ENV"
23
23
  echo "Target version: $VERSION"
24
- # Unscoped CLI package (published by `np`) + every non-private workspace
25
- # package (published by `lerna publish`). All version in lockstep.
24
+ # Unscoped CLI package + every non-private workspace package, published
25
+ # together by `bun run release`. All version in lockstep.
26
26
  PACKAGES=$(node -p "['scrabble-solver', ...require('fs').readdirSync('packages').map(d=>require('./packages/'+d+'/package.json')).filter(p=>!p.private).map(p=>p.name)].join(' ')")
27
27
  echo "Waiting for: $PACKAGES"
28
28
  for pkg in $PACKAGES; do
package/.oxlintrc.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "./node_modules/oxlint/configuration_schema.json",
3
3
  "plugins": ["eslint", "typescript", "react", "import", "unicorn", "oxc", "jest"],
4
4
  "jsPlugins": [
5
- { "name": "import-js", "specifier": "eslint-plugin-import" },
5
+ { "name": "perfectionist", "specifier": "eslint-plugin-perfectionist" },
6
6
  { "name": "playwright", "specifier": "eslint-plugin-playwright" },
7
7
  { "name": "react-js", "specifier": "eslint-plugin-react" }
8
8
  ],
@@ -30,18 +30,6 @@
30
30
  "settings": {
31
31
  "react": {
32
32
  "version": "19"
33
- },
34
- "import-js/extensions": [".js", ".jsx", ".ts", ".tsx"],
35
- "import-js/external-module-folders": ["node_modules"],
36
- "import-js/parsers": {
37
- "@typescript-eslint/parser": [".ts", ".tsx"]
38
- },
39
- "import-js/resolver": {
40
- "typescript": {
41
- "alwaysTryTypes": true,
42
- "project": ["tsconfig.json", "packages/*/tsconfig.json", "e2e/tsconfig.json"]
43
- },
44
- "node": true
45
33
  }
46
34
  },
47
35
  "ignorePatterns": [
@@ -60,23 +48,33 @@
60
48
  ],
61
49
  "rules": {
62
50
  "import/default": "error",
51
+ "import/newline-after-import": "error",
63
52
  "import/no-absolute-path": "error",
64
53
  "import/no-cycle": "error",
65
54
  "import/no-dynamic-require": "error",
66
55
 
67
- "import-js/newline-after-import": "error",
68
- "import-js/order": [
56
+ "jest/no-focused-tests": "error",
57
+
58
+ "perfectionist/sort-import-attributes": "error",
59
+ "perfectionist/sort-imports": [
69
60
  "error",
70
61
  {
71
- "alphabetize": { "order": "asc", "caseInsensitive": true },
72
62
  "groups": [["builtin", "external"], "internal", "parent", "sibling", "index"],
73
- "newlines-between": "always",
74
- "pathGroups": [{ "pattern": "@/**", "group": "internal" }],
75
- "pathGroupsExcludedImportTypes": ["builtin"]
63
+ "internalPattern": ["^@/"]
76
64
  }
77
65
  ],
78
-
79
- "jest/no-focused-tests": "error",
66
+ "perfectionist/sort-jsx-props": [
67
+ "error",
68
+ {
69
+ "groups": ["unknown", "callbacks"],
70
+ "customGroups": [{ "groupName": "callbacks", "elementNamePattern": "^on[A-Z]" }]
71
+ }
72
+ ],
73
+ "perfectionist/sort-named-imports": ["error", { "groups": ["type-import", "value-import"] }],
74
+ "perfectionist/sort-union-types": [
75
+ "error",
76
+ { "groups": ["named", "keyword", "literal", "unknown", "nullish"] }
77
+ ],
80
78
 
81
79
  "react-js/no-deprecated": "error",
82
80
  "react-js/no-unused-prop-types": "error",
package/CLAUDE.md CHANGED
@@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
4
4
 
5
5
  ## Repository layout
6
6
 
7
- This is a Bun-workspaces monorepo (managed with Lerna for versioning/publishing and Nx purely for build caching/ordering). `engines` requires **Bun >=1.4** and **Node.js >=24**. The lockfile is `bun.lock` (text JSON, lockfileVersion 1) — `package-lock.json` was removed when the project migrated off npm/Jest in `#421` (Apr 2026). Workspace scripts use `bun run --filter <pattern> <script>` — the `'./packages/*'` glob runs in dependency order (built-in Nx cache), and `'*'` skips workspaces without that script (relevant for `test`). The root `workspaces` field is an explicit nine-entry list in dependency order, not a glob.
7
+ This is a Bun-workspaces monorepo (Nx for build caching/ordering and `nx release` versioning; publishing is a plain `npm publish`). `engines` requires **Bun >=1.4** and **Node.js >=24**. The lockfile is `bun.lock` (text JSON, lockfileVersion 1) — `package-lock.json` was removed when the project migrated off npm/Jest in `#421` (Apr 2026). Workspace scripts use `bun run --filter <pattern> <script>` — the `'./packages/*'` glob runs in dependency order (built-in Nx cache), and `'*'` skips workspaces without that script (relevant for `test`). The root `workspaces` field is an explicit nine-entry list in dependency order, not a glob.
8
8
 
9
9
  The nine packages live under `packages/` and have a strict dependency order. When something breaks "downstream" of where you edited, rebuild the upstream package first:
10
10
 
@@ -19,11 +19,11 @@ logger (independent, used by app + dictionaries)
19
19
  The GADDAG itself lives outside this repo, in [`@kamilmielnik/gaddag`](https://github.com/kamilmielnik/gaddag) — a flat typed-array automaton with `has`/`hasPrefix`/`getArc`, binary `serialize`/`deserialize`, and `Gaddag.fromArray(words)`. It replaced `@kamilmielnik/trie` (#164) and is consumed by `dictionaries`, `solver`, and the app as a regular npm dependency (`3.0.0`). A local `packages/gaddag/` directory may exist — it holds git-ignored compiled output left over from before the package was extracted and is **not** a workspace.
20
20
 
21
21
  - `solver` — pure word-finding engine. Given a `Gaddag`, `Config`, `Board`, and `Tile[]`, returns scored `ResultJson`s. Has no I/O. `solve.ts` delegates to `MoveGenerator` (a single file holding all the logic) — anchor-based GADDAG move generation with per-cell cross-check masks, run once per direction; results are scored inline and sorted deterministically so UI ties resolve identically. `MoveGenerator` throws on alphabets over 64 tiles or boards over 32×32 because move sort keys pack direction/line/start/end into one integer. `benchmarks/` measures median `solve()` times on fixed mid-game boards (en-US, en-GB, pl-PL; 0–2 blanks): `bun run benchmark` from the root reruns them and rewrites the chart SVG + results table in the package `README.md`; it needs real (downloaded) dictionaries.
22
- - `dictionaries` — downloads/caches per-locale word lists to `$HOME/.scrabble-solver/dictionaries` and exposes them as `Gaddag`s (binary `<locale>.gaddag` files on disk; building the Polish GADDAG from its 3.2M-word list takes ~25 s, so it happens in `postbuild`/background updates, not per request; the `update-dictionaries` / `remove-dictionaries` bin scripts wrap this, and `update()` refreshes only stale locales unless forced, returning the locales it could not build — `update-dictionaries` exits 1 when there are any, so `bun run build` fails instead of shipping without a dictionary). The `Dictionaries` class layers a `MemoryCache` over a `DiskCache` (`LayeredCache`) and uses a per-locale `createAsyncProxy` to coalesce concurrent downloads. Cache entries older than `CACHE_STALE_THRESHOLD` (1 day) are considered stale, but only `update()` (run from `postbuild` and the packaging workflows) refreshes them — `get()` serves stale entries as-is. `DiskCache.get` treats files it cannot deserialize (corrupted, or written by an app version with an incompatible format — the binary magic doubles as the format version) as cache misses: it deletes them and the dictionary is re-downloaded and re-serialized automatically; `set` also removes the pre-#164 `<locale>.txt` trie cache. The solver worker does the same client-side (`src/solver-worker/getGaddag.ts`): it returns undefined for undeserializable cached dictionaries, falling back to the server and revalidating. Only this package and `logger` perform filesystem I/O — keep other packages pure so they can run in Edge / browser contexts.
22
+ - `dictionaries` — downloads/caches per-locale word lists to `$HOME/.scrabble-solver/dictionaries` and exposes them as `Gaddag`s (binary `<locale>.gaddag` files on disk; building the Polish GADDAG from its 3.2M-word list takes ~25 s, so it happens in `postbuild`/background updates, not per request; the `update-dictionaries` / `remove-dictionaries` bin scripts wrap this, and `update()` refreshes only stale locales unless forced, returning the locales it could not build — `update-dictionaries` exits 1 when there are any, so `bun run build` fails instead of shipping without a dictionary). The `Dictionaries` class layers a `MemoryCache` over a `DiskCache` (`LayeredCache`) and uses a per-locale `createAsyncProxy` to coalesce concurrent downloads. Cache entries older than `CACHE_STALE_THRESHOLD` (1 day) are considered stale, but only `update()` (run from `postbuild` and the packaging workflows) refreshes them — `get()` serves stale entries as-is. `DiskCache.get` treats files it cannot deserialize (corrupted, or written by an app version with an incompatible format — the binary magic doubles as the format version) as cache misses: it deletes them and the dictionary is re-downloaded and re-serialized automatically. The solver worker does the same client-side (`src/solver-worker/getGaddag.ts`): it returns undefined for undeserializable cached dictionaries, falling back to the server and revalidating. Only this package and `logger` perform filesystem I/O — keep other packages pure so they can run in Edge / browser contexts.
23
23
  - `word-lists` — pulls raw word lists from upstream sources (one fetcher per locale in `src/languages/`). Used by `dictionaries` during downloads.
24
24
  - `word-definitions` — per-locale `crawl(word) → string` and a parser for each source (Wiktionary, CNRTL, DWDS, SJP, dexonline, vajehyab, etc.). English uses the Wiktionary REST API (#431): `parse` JSON-parses the payload and uses cheerio only to strip HTML from definition strings, so the English fixtures are `.json`. Add a new locale by adding a `crawl` and a `parse` function in `src/languages/` and wiring them into `crawl.ts` / `parse.ts`. `parse.test.ts` is where you add fixture-based parser tests.
25
25
  - `types` — domain model classes (`Board`, `Cell`, `Tile`, `Result`, `Config`, `Locale`, …) plus `*Json` shapes. Most of these have a `fromJson` / `toJson` round-trip — use them at the wire boundary instead of hand-rolled serialization. Free functions live one-per-file under `src/lib/` (`getBoardWords`, `getCells`, `getCollidingWords`, `getCollisions`, `isSameBoardWord`, …) and type guards under `src/type-guards/` (`isBoardJson`, `isCellJson`, `isGame`, `isLocale`, …); the class methods are thin wrappers over them, so put new board/word logic in `lib/` and expose it as a method rather than growing `Board.ts`. `Board.getWords()` returns `BoardWord[]` (`{ direction, word, x, y }`), not strings — the same word can appear twice on a board, so a word's identity is its start cell plus direction (`isSameBoardWord`), and `Board.getCollidingWords(word)` returns the perpendicular words crossing it.
26
- - `configs` — split into **games** (`scrabble`, `superScrabble`, `scrabbleDuel`, `letterLeague`, `crossplay`, `literaki`, `kelimelik`, `wyrazy` — each defines board size, bonuses, rack size, blanks count, bingo bonus) and **languages** (`english`, `french`, …, each spreads a base game config and overrides `locale` + `tiles`). A locale config is one game × one language; e.g. `polishScrabble` = `scrabble` ⊕ Polish tiles + digraphs. Adding a language means a new config here **and** the 15-step checklist under "Add a new language" in `README.md`.
26
+ - `configs` — split into **games** (`scrabble`, `superScrabble`, `scrabbleDuel`, `letterLeague`, `crossplay`, `literaki`, `kelimelik`, `wyrazy`, `wordfeud` — each defines board size, bonuses, rack size, blanks count, bingo bonus) and **languages** (`english`, `french`, …, each spreads a base game config and overrides `locale` + `tiles`). A locale config is one game × one language; e.g. `polishScrabble` = `scrabble` ⊕ Polish tiles + digraphs. Adding a language means a new config here **and** the 15-step checklist under "Add a new language" in `README.md`.
27
27
  - `logger` — dependency-free event log. `logEvent()` appends one flat JSON object per line to `$HOME/.scrabble-solver/logs/events.txt`: `timestamp`, `type`, then the fields declared for that type in `src/events.ts` — that declaration is the schema of both the file and the CSV export, so fields are append-only and never reordered. `logError()` writes an `error` event — level `error` by default, `warn` when its context says so (expected-and-handled failures like a corrupt dictionary cache) — and mirrors `error`-level ones to stderr (journald on prod); nothing else reaches the console except a line when the events file itself cannot be appended. Silent under `bun test`. `bun run --filter @scrabble-solver/logger export [YYYY]` splits the file into `$HOME/.scrabble-solver/csv/<type>-YYYY.csv` for Metabase. Used server-side by the app + dictionaries; do **not** import from browser code.
28
28
  - `constants` — shared primitives (`BLANK`, `BONUS_CHARACTER`, `BONUS_WORD`, …). No runtime dependencies.
29
29
 
@@ -51,6 +51,7 @@ All commands run from the repo root unless noted.
51
51
  | --- | --- |
52
52
  | Install + build everything | `bun install && bun run build` |
53
53
  | Build all packages | `bun run build` (Nx-cached, respects dep order) |
54
+ | Release | `bun run release` (prompts for the version; run from `master`) |
54
55
  | Build one package | `bun run --filter @scrabble-solver/<name> build` |
55
56
  | Dev server (port 3000) | `bun run dev` |
56
57
  | Production server (port 3333) | `bun start` (also waits for :3333 and opens the browser; `bun run start:app` is server-only) |
@@ -83,8 +84,8 @@ Hot reload only works for the `scrabble-solver` package. Edits to any other pack
83
84
  - **Install layout**: `bunfig.toml` pins `[install] linker = "hoisted"`. With Bun's isolated layout, `next build` fails — webpack bundles `unzipper` from `word-lists` and errors on its uninstalled optional `@aws-sdk/client-s3` dependency. Don't remove it.
84
85
  - **TypeScript**: stable TypeScript 7 (`typescript@^7.0.2`), whose `tsc` is the native Go compiler. It runs every package `build`, the app's `type-check`, and `next build` — the latter because Next.js runs the project-local `tsc` CLI (TS7 has no JS compiler API). Next 16.3.0 turned that on by default, so the `experimental.useTypeScriptCli` flag that pinned the app to the 16.3 preview line is gone from `next.config.js`; set it to `false` only to opt back into the JS compiler API, which TS7 cannot serve. The interim `@typescript/native-preview` (`tsgo`) setup from PR #422 was removed (Aug 2026). Root `tsconfig.json` sets `types: ["bun"]` for global test-runner types and excludes `e2e` and `playwright.config.ts` (covered by `e2e/tsconfig.json` instead); library packages extend it and additionally exclude `**/*.test.ts` from emitted output. A package's `tsconfig.json` covers `src/` only, so TypeScript living outside it needs its own `noEmit` config and its own `tsc` invocation or nothing type-checks it — `packages/logger/scripts/tsconfig.json` is the pattern (`module: preserve` because the scripts are ESM run by bun, while the package itself emits CJS), invoked from the package `build` so CI catches it. `packages/solver/benchmarks/` is still uncovered.
85
86
  - **Next.js**: built with `--webpack` flag explicitly (the default Turbopack is intentionally not used). `next.config.js` registers `@svgr/webpack` for SVG-as-component imports and the Workbox `InjectManifest` plugin for the service worker, and stubs out Next's unconditionally-bundled ES2019-2022 polyfills (`polyfill-module`) with `empty-module.js` via `NormalModuleReplacementPlugin` — every browserslist target (`package.json` `browserslist`: Chrome/Edge/Firefox ≥ 100, Safari ≥ 15.4, …) supports those natively, and browserslist alone does not control that chunk. SCSS load paths are extended to `./src` and `node_modules/include-media/dist`.
86
- - **Dependency upgrades**: `bun update --latest -r` rewrites every internal `@scrabble-solver/*` specifier to `"latest"` in both `package.json`s and `bun.lock` — restore them to `<version>` afterwards. Every dependency in every workspace is pinned to an exact version: `bunfig.toml` sets `exact = true` so `bun add` saves exact versions, `version:bump-lerna` passes `--exact`, and `bump-version.js` writes exact internal specifiers. `next` is pinned exactly because the published package ships a prebuilt `.next` and global installs (`bunx`/`npx`) ignore the lockfile, so a newer Next.js resolved at install time crashes on the older build output (next 16.4.0 broke 2.18.5 this way).
87
- - **Nx**: `nx.json` only defines a `build` target with `dependsOn: ["^build"]` and `cache: true`. It is used purely for dependency-aware build ordering and caching — there are no Nx generators or executors.
87
+ - **Dependency upgrades**: `bun update --latest -r` rewrites every internal `@scrabble-solver/*` specifier to `"latest"` in both `package.json`s and `bun.lock` — restore them to `<version>` afterwards. Every dependency in every workspace is pinned to an exact version: `bunfig.toml` sets `exact = true` so `bun add` saves exact versions, and `nx release` writes exact internal specifiers. `next` is pinned exactly because the published package ships a prebuilt `.next` and global installs (`bunx`/`npx`) ignore the lockfile, so a newer Next.js resolved at install time crashes on the older build output (next 16.4.0 broke 2.18.5 this way).
88
+ - **Nx**: `nx.json` defines the `build` target (`dependsOn: ["^build"]`, `cache: true`) and the `release` config used by `nx release` (fixed lockstep group over the root and `@scrabble-solver/*`, one commit named with the bare version, bare-version tag, no push). `pluginsConfig["@nx/js"].analyzeSourceFiles` is `false` because Nx's JS plugin calls the TypeScript JS API, which TypeScript 7 removed; the graph still comes from `package.json` dependencies. The root has a `project.json` so `nx release` can version it, which also makes its `package.json` scripts Nx targets (`nx run-many -t build` would run the root build too). There are no Nx generators or executors.
88
89
 
89
90
  ## CI workflows
90
91
 
@@ -101,7 +102,7 @@ When adding a workflow, match the existing pattern: trigger on `push`/`pull_requ
101
102
 
102
103
  ## Versioning & publishing
103
104
 
104
- `bun run release` chains `reinstall → version:bump → np → lerna publish from-package`. `version:bump` runs `lerna version --force-publish` (bumps every package in lockstep) followed by `bump-version.js` to sync any other version references, then commits. Don't hand-edit `version` fields across packages — use the script.
105
+ `bun run release` chains `release:prepare` (reinstall) → `bun run test` → `nx release --skip-publish` → `release:publish`. `nx release` prompts for the version, bumps the root and every package in lockstep, updates internal `@scrabble-solver/*` ranges and `bun.lock`, then makes one commit named with the version and tags it. `release:publish` pushes the commit and tag, then runs `npm publish --workspaces --include-workspace-root --access public` with `--tag next` when the version is a prerelease (contains `-`, e.g. `2.18.10-rc.0`) and `--tag latest` otherwise, then opens a draft GitHub release for the tag with `gh release create --draft --generate-notes` (marked prerelease the same way). Publish the draft on GitHub after reviewing it. Run it from `master`. Don't pass arguments to `release:publish`: they go to the last command, `gh`, not to `npm publish`. npm has no skip for already-published versions, so after a partial publish, publish the remaining packages individually (`npm publish -w <name>`, or `npm publish` in the root) and don't re-run `bun run release`, which would bump again. Don't hand-edit `version` fields across packages — use `nx release`.
105
106
 
106
107
  ## Deploys
107
108
 
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </p>
7
7
 
8
8
  <p>
9
- Free, open-source, cross-platform, multi-language analysis tool for <a href="https://en.wikipedia.org/wiki/Scrabble">Scrabble</a>, <a href="https://www.scopely.com/en/games/scrabble-go">Scrabble Duel</a>, <a href="https://en.wikipedia.org/wiki/Super_Scrabble">Super Scrabble</a>, <a href="https://support-apps.discord.com/hc/en-us/articles/26502196674583-Letter-League-FAQ">Letter League</a>, <a href="https://www.nytimes.com/games/crossplay">Crossplay</a>, <a href="https://pl.wikipedia.org/wiki/Literaki">Literaki</a>, <a href="https://play.google.com/store/apps/details?id=com.he2apps.kelimelik">Kelimelik</a> &amp; <a href="https://play.google.com/store/apps/details?id=com.foltyn.Wyrazy">Wyrazy</a>
9
+ Free, open-source, cross-platform, multi-language analysis tool for <a href="https://en.wikipedia.org/wiki/Scrabble">Scrabble</a>, <a href="https://www.scopely.com/en/games/scrabble-go">Scrabble Duel</a>, <a href="https://en.wikipedia.org/wiki/Super_Scrabble">Super Scrabble</a>, <a href="https://support-apps.discord.com/hc/en-us/articles/26502196674583-Letter-League-FAQ">Letter League</a>, <a href="https://www.nytimes.com/games/crossplay">Crossplay</a>, <a href="https://pl.wikipedia.org/wiki/Literaki">Literaki</a>, <a href="https://play.google.com/store/apps/details?id=com.he2apps.kelimelik">Kelimelik</a>, <a href="https://play.google.com/store/apps/details?id=com.foltyn.Wyrazy">Wyrazy</a> &amp; <a href="https://wordfeud.com">Wordfeud</a>
10
10
  </p>
11
11
 
12
12
  <p>
@@ -204,7 +204,6 @@ bun run --filter @scrabble-solver/word-lists build
204
204
  - [SCSS](https://sass-lang.com/)
205
205
  - [CSS Modules](https://github.com/css-modules/css-modules)
206
206
  - [include-media](https://eduardoboucas.github.io/include-media/)
207
- - [Lerna](https://lerna.js.org/)
208
207
  - [Nx](https://nx.dev/)
209
208
  - [Playwright](https://playwright.dev/)
210
209
  - [Oxlint](https://oxc.rs/docs/guide/usage/linter)