scrabble-solver 2.16.7 → 2.17.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 (276) hide show
  1. package/.nx/workspace-data/d/server-process.json +2 -2
  2. package/.nx/workspace-data/file-map.json +548 -572
  3. package/.nx/workspace-data/lockfile-dependencies.hash +1 -1
  4. package/.nx/workspace-data/lockfile-nodes.hash +1 -1
  5. package/.nx/workspace-data/nx_files.nxt +0 -0
  6. package/.nx/workspace-data/parsed-lock-file.dependencies.json +185 -160
  7. package/.nx/workspace-data/parsed-lock-file.nodes.json +406 -370
  8. package/.nx/workspace-data/project-graph.json +656 -552
  9. package/.nx/workspace-data/source-maps.json +96 -0
  10. package/.oxlintrc.json +6 -0
  11. package/CLAUDE.md +22 -17
  12. package/README.md +9 -0
  13. package/bun.lock +107 -133
  14. package/cypress/e2e/app.spec.cy.ts +4 -4
  15. package/cypress/e2e/features/solver-paths.ts +66 -0
  16. package/cypress/e2e/features.spec.cy.ts +1 -0
  17. package/cypress/support/lib/actions.ts +28 -9
  18. package/lerna.json +1 -1
  19. package/package.json +8 -7
  20. package/packages/configs/package.json +3 -3
  21. package/packages/constants/package.json +1 -1
  22. package/packages/dictionaries/README.md +1 -1
  23. package/packages/dictionaries/build/Dictionaries.d.ts +2 -2
  24. package/packages/dictionaries/build/Dictionaries.js +6 -6
  25. package/packages/dictionaries/build/lib/DiskCache.d.ts +11 -4
  26. package/packages/dictionaries/build/lib/DiskCache.js +27 -10
  27. package/packages/dictionaries/build/lib/LayeredCache.d.ts +4 -4
  28. package/packages/dictionaries/build/lib/LayeredCache.js +3 -3
  29. package/packages/dictionaries/build/lib/MemoryCache.d.ts +4 -4
  30. package/packages/dictionaries/build/lib/MemoryCache.js +2 -2
  31. package/packages/dictionaries/build/lib/createCacheTimestampComparator.d.ts +2 -2
  32. package/packages/dictionaries/build/lib/downloadDictionary.d.ts +2 -2
  33. package/packages/dictionaries/build/lib/downloadDictionary.js +4 -3
  34. package/packages/dictionaries/build/lib/getDictionaryFilepath.d.ts +3 -1
  35. package/packages/dictionaries/build/lib/getDictionaryFilepath.js +8 -3
  36. package/packages/dictionaries/package.json +7 -6
  37. package/packages/dictionaries/src/Dictionaries.ts +12 -12
  38. package/packages/dictionaries/src/lib/DiskCache.test.ts +85 -0
  39. package/packages/dictionaries/src/lib/DiskCache.ts +34 -14
  40. package/packages/dictionaries/src/lib/LayeredCache.ts +7 -7
  41. package/packages/dictionaries/src/lib/MemoryCache.ts +6 -6
  42. package/packages/dictionaries/src/lib/createCacheTimestampComparator.ts +2 -2
  43. package/packages/dictionaries/src/lib/downloadDictionary.ts +5 -4
  44. package/packages/dictionaries/src/lib/getDictionaryFilepath.ts +7 -2
  45. package/packages/gaddag/build/Gaddag.d.ts +39 -0
  46. package/packages/gaddag/build/Gaddag.js +128 -0
  47. package/packages/gaddag/build/buildGaddag.d.ts +10 -0
  48. package/packages/gaddag/build/buildGaddag.js +360 -0
  49. package/packages/gaddag/build/constants.d.ts +12 -0
  50. package/packages/gaddag/build/constants.js +15 -0
  51. package/packages/gaddag/build/index.d.ts +3 -0
  52. package/packages/gaddag/build/index.js +13 -0
  53. package/packages/logger/package.json +1 -1
  54. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  55. package/packages/scrabble-solver/.next/build-manifest.json +13 -13
  56. package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
  57. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  58. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  59. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  60. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  61. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  62. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  63. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  64. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  65. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  66. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  67. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -1
  68. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  69. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  70. package/packages/scrabble-solver/.next/required-server-files.js +3 -2
  71. package/packages/scrabble-solver/.next/required-server-files.json +3 -2
  72. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  73. package/packages/scrabble-solver/.next/server/chunks/129.js +1 -0
  74. package/packages/scrabble-solver/.next/server/chunks/30.js +1 -1
  75. package/packages/scrabble-solver/.next/server/chunks/392.js +1 -1
  76. package/packages/scrabble-solver/.next/server/chunks/671.js +1 -1
  77. package/packages/scrabble-solver/.next/server/chunks/712.js +1 -1
  78. package/packages/scrabble-solver/.next/server/chunks/785.js +1 -0
  79. package/packages/scrabble-solver/.next/server/chunks/791.js +1 -1
  80. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  81. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  82. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  83. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -1
  84. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  85. package/packages/scrabble-solver/.next/server/pages/_error.js +1 -1
  86. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  87. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +1 -1
  88. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  89. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -1
  90. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  91. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
  92. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  93. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
  94. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  95. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  96. package/packages/scrabble-solver/.next/server/pages/index.js +1 -1
  97. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  98. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  99. package/packages/scrabble-solver/.next/server/pages/not-found.html +1 -1
  100. package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +1 -1
  101. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
  102. package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -1
  103. package/packages/scrabble-solver/.next/static/{vYpMmuC_yEurZGcyGVnLf → OLE8_ZInlGH7ENU0NIOpf}/_buildManifest.js +1 -1
  104. package/packages/scrabble-solver/.next/static/chunks/583.7a46807be14c377e.js +1 -0
  105. package/packages/scrabble-solver/.next/static/chunks/830.661816bf0de8c2f1.js +1 -0
  106. package/packages/scrabble-solver/.next/static/chunks/{main-852475ca502b4e49.js → main-5b999f3f24ebfa84.js} +2 -2
  107. package/packages/scrabble-solver/.next/static/chunks/pages/_app-7024e7a27ffbb2fa.js +7 -0
  108. package/packages/scrabble-solver/.next/static/chunks/pages/{index-ec0f6aeeaf7be227.js → index-8b398b0a5d870773.js} +1 -1
  109. package/packages/scrabble-solver/.next/static/chunks/webpack-3943d624bbb47a64.js +1 -0
  110. package/packages/scrabble-solver/.next/static/css/aedeaada218d7280.css +2 -0
  111. package/packages/scrabble-solver/.next/trace +21 -21
  112. package/packages/scrabble-solver/.next/trace-build +1 -1
  113. package/packages/scrabble-solver/next.config.js +0 -6
  114. package/packages/scrabble-solver/package.json +10 -10
  115. package/packages/scrabble-solver/public/service-worker.js +2 -2
  116. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +4 -1
  117. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +17 -6
  118. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +7 -22
  119. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +1 -8
  120. package/packages/scrabble-solver/src/components/Results/Result.tsx +0 -3
  121. package/packages/scrabble-solver/src/components/Results/Results.module.scss +0 -1
  122. package/packages/scrabble-solver/src/components/Results/Results.tsx +10 -2
  123. package/packages/scrabble-solver/src/components/Results/types.ts +3 -3
  124. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +4 -3
  125. package/packages/scrabble-solver/src/components/Tooltip/useTooltip.ts +1 -1
  126. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +2 -2
  127. package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts +80 -3
  128. package/packages/scrabble-solver/src/pages/api/solve.ts +2 -2
  129. package/packages/scrabble-solver/src/pages/api/verify.ts +12 -3
  130. package/packages/scrabble-solver/src/sdk/solve.ts +13 -7
  131. package/packages/scrabble-solver/src/sdk/verify.ts +12 -6
  132. package/packages/scrabble-solver/src/service-worker/appShell.test.ts +86 -0
  133. package/packages/scrabble-solver/src/service-worker/appShell.ts +39 -0
  134. package/packages/scrabble-solver/src/service-worker/index.ts +4 -5
  135. package/packages/scrabble-solver/src/serviceWorkerManager.ts +1 -18
  136. package/packages/scrabble-solver/src/solver-worker/client.test.ts +151 -0
  137. package/packages/scrabble-solver/src/solver-worker/client.ts +106 -0
  138. package/packages/scrabble-solver/src/solver-worker/dictionaries/constants.ts +9 -0
  139. package/packages/scrabble-solver/src/solver-worker/dictionaries/getDictionary.ts +21 -0
  140. package/packages/scrabble-solver/src/solver-worker/dictionaries/index.ts +2 -0
  141. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.test.ts +199 -0
  142. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.ts +86 -0
  143. package/packages/scrabble-solver/src/solver-worker/dictionaries/revalidatedAt.ts +43 -0
  144. package/packages/scrabble-solver/src/solver-worker/getGaddag.test.ts +109 -0
  145. package/packages/scrabble-solver/src/solver-worker/getGaddag.ts +62 -0
  146. package/packages/scrabble-solver/src/solver-worker/index.ts +1 -0
  147. package/packages/scrabble-solver/src/solver-worker/index.worker.ts +124 -0
  148. package/packages/scrabble-solver/src/solver-worker/messages.ts +20 -0
  149. package/packages/scrabble-solver/src/state/index.ts +1 -0
  150. package/packages/scrabble-solver/src/state/sagas.ts +19 -9
  151. package/packages/scrabble-solver/src/state/useTypedStore.ts +6 -0
  152. package/packages/scrabble-solver/src/types/api.ts +1 -2
  153. package/packages/scrabble-solver/tsconfig.json +4 -0
  154. package/packages/scrabble-solver/tsconfig.tsbuildinfo +1 -1
  155. package/packages/solver/README.md +24 -0
  156. package/packages/solver/benchmarks/index.ts +15 -0
  157. package/packages/solver/benchmarks/lib.ts +31 -0
  158. package/packages/solver/benchmarks/renderChart.ts +165 -0
  159. package/packages/solver/benchmarks/results/chart.svg +65 -0
  160. package/packages/solver/benchmarks/runBenchmarks.ts +66 -0
  161. package/packages/solver/benchmarks/scenarios.ts +64 -0
  162. package/packages/solver/benchmarks/types.ts +16 -0
  163. package/packages/solver/benchmarks/updateReadme.ts +53 -0
  164. package/packages/solver/build/MoveGenerator.d.ts +116 -0
  165. package/packages/solver/build/MoveGenerator.js +686 -0
  166. package/packages/solver/build/index.d.ts +0 -13
  167. package/packages/solver/build/index.js +1 -27
  168. package/packages/solver/build/solve.d.ts +2 -2
  169. package/packages/solver/build/solve.js +3 -19
  170. package/packages/solver/package.json +7 -6
  171. package/packages/solver/src/MoveGenerator.test.ts +1009 -0
  172. package/packages/solver/src/MoveGenerator.ts +926 -0
  173. package/packages/solver/src/ReferenceSolver.ts +401 -0
  174. package/packages/solver/src/index.ts +0 -13
  175. package/packages/solver/src/solve.test.ts +21 -21
  176. package/packages/solver/src/solve.ts +4 -22
  177. package/packages/solver/tsconfig.json +1 -1
  178. package/packages/types/build/Cell.d.ts +1 -0
  179. package/packages/types/build/Cell.js +3 -0
  180. package/packages/types/build/Result.d.ts +3 -2
  181. package/packages/types/build/Result.js +11 -6
  182. package/packages/types/build/ResultJson.d.ts +5 -4
  183. package/packages/types/build/index.d.ts +0 -6
  184. package/packages/types/build/index.js +1 -9
  185. package/packages/types/build/readResultCells.d.ts +5 -0
  186. package/packages/types/build/readResultCells.js +75 -0
  187. package/packages/types/package.json +4 -3
  188. package/packages/types/src/Cell.ts +4 -0
  189. package/packages/types/src/Result.ts +15 -6
  190. package/packages/types/src/ResultJson.ts +5 -5
  191. package/packages/types/src/index.ts +0 -6
  192. package/packages/types/src/readResultCells.test.ts +140 -0
  193. package/packages/types/src/readResultCells.ts +90 -0
  194. package/packages/word-definitions/package.json +2 -2
  195. package/packages/word-lists/package.json +2 -2
  196. package/packages/scrabble-solver/.next/static/chunks/pages/_app-a5bbe02710f13d05.js +0 -7
  197. package/packages/scrabble-solver/.next/static/chunks/webpack-1a7a166b34ed8d24.js +0 -1
  198. package/packages/scrabble-solver/.next/static/css/0af35adb4bab56f0.css +0 -2
  199. package/packages/scrabble-solver/src/sdk/getDictionary.ts +0 -9
  200. package/packages/scrabble-solver/src/service-worker/average.ts +0 -7
  201. package/packages/scrabble-solver/src/service-worker/dictionaries/constants.ts +0 -5
  202. package/packages/scrabble-solver/src/service-worker/dictionaries/getDictionary.ts +0 -20
  203. package/packages/scrabble-solver/src/service-worker/dictionaries/index.ts +0 -2
  204. package/packages/scrabble-solver/src/service-worker/dictionaries/revalidateDictionary.ts +0 -33
  205. package/packages/scrabble-solver/src/service-worker/getTrie.ts +0 -24
  206. package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +0 -91
  207. package/packages/scrabble-solver/src/service-worker/routeVerifyRequests.ts +0 -37
  208. package/packages/solver/build/areDigraphsValid.d.ts +0 -2
  209. package/packages/solver/build/areDigraphsValid.js +0 -17
  210. package/packages/solver/build/fillPattern.d.ts +0 -6
  211. package/packages/solver/build/fillPattern.js +0 -52
  212. package/packages/solver/build/generateEndIndices.d.ts +0 -2
  213. package/packages/solver/build/generateEndIndices.js +0 -17
  214. package/packages/solver/build/generateHorizontalPatterns.d.ts +0 -2
  215. package/packages/solver/build/generateHorizontalPatterns.js +0 -16
  216. package/packages/solver/build/generatePattern.d.ts +0 -7
  217. package/packages/solver/build/generatePattern.js +0 -20
  218. package/packages/solver/build/generatePatterns.d.ts +0 -2
  219. package/packages/solver/build/generatePatterns.js +0 -11
  220. package/packages/solver/build/generateStartIndices.d.ts +0 -2
  221. package/packages/solver/build/generateStartIndices.js +0 -16
  222. package/packages/solver/build/generateVectors.d.ts +0 -7
  223. package/packages/solver/build/generateVectors.js +0 -7
  224. package/packages/solver/build/generateVerticalPatterns.d.ts +0 -2
  225. package/packages/solver/build/generateVerticalPatterns.js +0 -16
  226. package/packages/solver/build/getCellsScore.d.ts +0 -2
  227. package/packages/solver/build/getCellsScore.js +0 -18
  228. package/packages/solver/build/getPatternHash.d.ts +0 -2
  229. package/packages/solver/build/getPatternHash.js +0 -14
  230. package/packages/solver/build/getPatternScore.d.ts +0 -2
  231. package/packages/solver/build/getPatternScore.js +0 -22
  232. package/packages/solver/build/getUniquePatterns.d.ts +0 -2
  233. package/packages/solver/build/getUniquePatterns.js +0 -17
  234. package/packages/solver/src/areDigraphsValid.ts +0 -18
  235. package/packages/solver/src/fillPattern.test.ts +0 -107
  236. package/packages/solver/src/fillPattern.ts +0 -68
  237. package/packages/solver/src/generateEndIndices.test.ts +0 -23
  238. package/packages/solver/src/generateEndIndices.ts +0 -19
  239. package/packages/solver/src/generateHorizontalPatterns.test.ts +0 -31
  240. package/packages/solver/src/generateHorizontalPatterns.ts +0 -15
  241. package/packages/solver/src/generatePattern.ts +0 -33
  242. package/packages/solver/src/generatePatterns.test.ts +0 -13
  243. package/packages/solver/src/generatePatterns.ts +0 -11
  244. package/packages/solver/src/generateStartIndices.test.ts +0 -19
  245. package/packages/solver/src/generateStartIndices.ts +0 -17
  246. package/packages/solver/src/generateVectors.test.ts +0 -12
  247. package/packages/solver/src/generateVectors.ts +0 -10
  248. package/packages/solver/src/generateVerticalPatterns.test.ts +0 -32
  249. package/packages/solver/src/generateVerticalPatterns.ts +0 -15
  250. package/packages/solver/src/getCellsScore.ts +0 -21
  251. package/packages/solver/src/getPatternHash.test.ts +0 -17
  252. package/packages/solver/src/getPatternHash.ts +0 -12
  253. package/packages/solver/src/getPatternScore.test.ts +0 -204
  254. package/packages/solver/src/getPatternScore.ts +0 -23
  255. package/packages/solver/src/getUniquePatterns.ts +0 -19
  256. package/packages/types/build/CollisionJson.d.ts +0 -2
  257. package/packages/types/build/CollisionJson.js +0 -2
  258. package/packages/types/build/FinalPattern.d.ts +0 -6
  259. package/packages/types/build/FinalPattern.js +0 -14
  260. package/packages/types/build/HorizontalPattern.d.ts +0 -5
  261. package/packages/types/build/HorizontalPattern.js +0 -34
  262. package/packages/types/build/Pattern.d.ts +0 -20
  263. package/packages/types/build/Pattern.js +0 -50
  264. package/packages/types/build/PatternJson.d.ts +0 -6
  265. package/packages/types/build/PatternJson.js +0 -2
  266. package/packages/types/build/VerticalPattern.d.ts +0 -5
  267. package/packages/types/build/VerticalPattern.js +0 -34
  268. package/packages/types/src/CollisionJson.ts +0 -3
  269. package/packages/types/src/FinalPattern.ts +0 -14
  270. package/packages/types/src/HorizontalPattern.ts +0 -37
  271. package/packages/types/src/Pattern.ts +0 -71
  272. package/packages/types/src/PatternJson.ts +0 -7
  273. package/packages/types/src/VerticalPattern.ts +0 -37
  274. /package/packages/scrabble-solver/.next/static/{vYpMmuC_yEurZGcyGVnLf → OLE8_ZInlGH7ENU0NIOpf}/_ssgManifest.js +0 -0
  275. /package/packages/scrabble-solver/src/{service-worker → solver-worker}/dictionaries/expirationManager.ts +0 -0
  276. /package/packages/scrabble-solver/src/{service-worker → solver-worker}/dictionaries/getDictionaryUrl.ts +0 -0
@@ -6,462 +6,372 @@
6
6
  "fileMap": {
7
7
  "nonProjectFiles": [
8
8
  {
9
- "file": ".github/workflows/deploy.yml",
10
- "hash": "11085092697452560447"
11
- },
12
- {
13
- "file": ".npmrc",
14
- "hash": "8550214904053156014"
9
+ "file": "tsconfig.json",
10
+ "hash": "4548757008684262551"
15
11
  },
16
12
  {
17
- "file": "cypress/e2e/bugs/2-q-tile-in-english.ts",
18
- "hash": "624714559301130687"
13
+ "file": "babel.config.js",
14
+ "hash": "3648372393756188667"
19
15
  },
20
16
  {
21
- "file": "cypress/e2e/bugs/333-disabled-radio-cursor.ts",
22
- "hash": "7270913361717937665"
17
+ "file": ".github/workflows/npx.yml",
18
+ "hash": "7722372774632660367"
23
19
  },
24
20
  {
25
- "file": "cypress/e2e/bugs/363-dictionary-input-unique-words.ts",
26
- "hash": "3924403794097269420"
21
+ "file": "bin/scrabble-solver.js",
22
+ "hash": "1416719023314596262"
27
23
  },
28
24
  {
29
- "file": ".github/workflows/e2e.yml",
30
- "hash": "5572594769902659974"
25
+ "file": "bunfig.toml",
26
+ "hash": "16900079901051178068"
31
27
  },
32
28
  {
33
- "file": ".oxfmtrc.json",
34
- "hash": "12617766590679978798"
29
+ "file": "cypress/e2e/bugs/112-character-bonus.ts",
30
+ "hash": "7144866814341355219"
35
31
  },
36
32
  {
37
- "file": "bunfig.toml",
38
- "hash": "16900079901051178068"
33
+ "file": "cypress/e2e/bugs/2-q-tile-in-english.ts",
34
+ "hash": "624714559301130687"
39
35
  },
40
36
  {
41
- "file": "cypress/e2e/bugs/342-results-sorting.ts",
42
- "hash": "4468745648155579488"
37
+ "file": ".github/workflows/e2e.yml",
38
+ "hash": "5572594769902659974"
43
39
  },
44
40
  {
45
- "file": ".npmignore",
46
- "hash": "9160986732333189952"
41
+ "file": "package.json",
42
+ "hash": "2562097554115577306"
47
43
  },
48
44
  {
49
- "file": "HISTORY.md",
50
- "hash": "11882088838610928434"
45
+ "file": ".github/workflows/build.yml",
46
+ "hash": "17106141158538620602"
51
47
  },
52
48
  {
53
- "file": "cypress/tsconfig.json",
54
- "hash": "533346989645065478"
49
+ "file": ".npmignore",
50
+ "hash": "9160986732333189952"
55
51
  },
56
52
  {
57
- "file": "screencast.gif",
58
- "hash": "8618312235898903127"
53
+ "file": "cypress/e2e/bugs/363-dictionary-input-unique-words.ts",
54
+ "hash": "3924403794097269420"
59
55
  },
60
56
  {
61
- "file": ".github/workflows/oxfmt.yml",
62
- "hash": "8910153274813196941"
57
+ "file": "cypress/e2e/bugs/129-esc-sidebar.ts",
58
+ "hash": "18135998467496795464"
63
59
  },
64
60
  {
65
- "file": ".github/workflows/unit.yml",
66
- "hash": "6367944978607806241"
61
+ "file": "cypress/e2e/bugs/342-results-sorting.ts",
62
+ "hash": "4468745648155579488"
67
63
  },
68
64
  {
69
- "file": "LICENSE",
70
- "hash": "2488235562441806084"
65
+ "file": "cypress/e2e/features.spec.cy.ts",
66
+ "hash": "2004603847869319950"
71
67
  },
72
68
  {
73
- "file": "cypress/e2e/features.spec.cy.ts",
74
- "hash": "12464908545763341851"
69
+ "file": "cypress/support/index.ts",
70
+ "hash": "14428353282588746736"
75
71
  },
76
72
  {
77
- "file": "cypress/e2e/features/198-highlight-unreachable-cells.ts",
78
- "hash": "3910280514843648957"
73
+ "file": "cypress.config.ts",
74
+ "hash": "18043300092575567764"
79
75
  },
80
76
  {
81
- "file": "cypress/e2e/bugs/348-results-word-padding.ts",
82
- "hash": "6446018906872213060"
77
+ "file": ".oxfmtrc.json",
78
+ "hash": "12617766590679978798"
83
79
  },
84
80
  {
85
- "file": "bun.lock",
86
- "hash": "2438425387707078034"
81
+ "file": ".oxlintrc.json",
82
+ "hash": "10954051878616621195"
87
83
  },
88
84
  {
89
- "file": "cypress/support/lib/selectors.ts",
90
- "hash": "16904563828097658657"
85
+ "file": "cypress/support/lib/actions.ts",
86
+ "hash": "6065312520131541771"
91
87
  },
92
88
  {
93
- "file": "cypress/support/lib/index.ts",
94
- "hash": "14256056309923157734"
89
+ "file": "screencast.gif",
90
+ "hash": "8618312235898903127"
95
91
  },
96
92
  {
97
- "file": ".github/workflows/build.yml",
98
- "hash": "17106141158538620602"
93
+ "file": "cypress/e2e/app.spec.cy.ts",
94
+ "hash": "12171423844449094498"
99
95
  },
100
96
  {
101
- "file": "lerna.json",
102
- "hash": "8797230981439621893"
97
+ "file": "HISTORY.md",
98
+ "hash": "11882088838610928434"
103
99
  },
104
100
  {
105
- "file": "cypress/e2e/bugs/3-x-tile-in-polish.ts",
106
- "hash": "3146979637017447630"
101
+ "file": "cypress/e2e/bugs/333-disabled-radio-cursor.ts",
102
+ "hash": "7270913361717937665"
107
103
  },
108
104
  {
109
- "file": "cypress/support/e2e.ts",
110
- "hash": "11404878494790355861"
105
+ "file": ".gitattributes",
106
+ "hash": "8169140259024525487"
111
107
  },
112
108
  {
113
- "file": "tsconfig.json",
114
- "hash": "4548757008684262551"
109
+ "file": "cypress/e2e/bugs.spec.cy.ts",
110
+ "hash": "8192580895364771693"
115
111
  },
116
112
  {
117
- "file": ".github/workflows/npx.yml",
118
- "hash": "7722372774632660367"
113
+ "file": "cypress/e2e/bugs/30-click-inside-radio-icon.ts",
114
+ "hash": "14735649149345694300"
119
115
  },
120
116
  {
121
- "file": "cypress/e2e/bugs/401-board-state-on-game-change.ts",
122
- "hash": "4970188220651698542"
117
+ "file": ".github/workflows/bunx.yml",
118
+ "hash": "16222118223491689725"
123
119
  },
124
120
  {
125
- "file": "cypress/e2e/bugs/398-digraphs-in-created-words.ts",
126
- "hash": "16274805538424356883"
121
+ "file": "cypress/e2e/features/91-hover-remaining-tile-highlights.ts",
122
+ "hash": "11268643321198891941"
127
123
  },
128
124
  {
129
- "file": "cypress/support/commands.ts",
130
- "hash": "576911436208964402"
125
+ "file": "cypress/tsconfig.json",
126
+ "hash": "533346989645065478"
131
127
  },
132
128
  {
133
- "file": "bin/scrabble-solver.js",
134
- "hash": "1416719023314596262"
129
+ "file": "cypress/e2e/bugs/352-dictionary-race-condition.ts",
130
+ "hash": "11375056568318556588"
135
131
  },
136
132
  {
137
- "file": "cypress/support/index.ts",
138
- "hash": "14428353282588746736"
133
+ "file": "cypress/e2e/bugs/3-x-tile-in-polish.ts",
134
+ "hash": "3146979637017447630"
139
135
  },
140
136
  {
141
- "file": "cypress/support/lib/actions.ts",
142
- "hash": "11334597434471156402"
137
+ "file": "cypress/support/lib/selectors.ts",
138
+ "hash": "16904563828097658657"
143
139
  },
144
140
  {
145
- "file": ".oxlintrc.json",
146
- "hash": "2361713879153926627"
141
+ "file": "nx.json",
142
+ "hash": "12408965950466853583"
147
143
  },
148
144
  {
149
145
  "file": ".gitignore",
150
146
  "hash": "4379749976030360626"
151
147
  },
152
148
  {
153
- "file": "cypress/e2e/bugs.spec.cy.ts",
154
- "hash": "8192580895364771693"
149
+ "file": "LICENSE",
150
+ "hash": "2488235562441806084"
155
151
  },
156
152
  {
157
- "file": ".gitattributes",
158
- "hash": "8169140259024525487"
153
+ "file": "cypress/e2e/features/solver-paths.ts",
154
+ "hash": "13117233363300439564"
159
155
  },
160
156
  {
161
- "file": "CLAUDE.md",
162
- "hash": "2667753157403905597"
157
+ "file": "bun.test.preload.ts",
158
+ "hash": "12359177232622253161"
163
159
  },
164
160
  {
165
- "file": "bump-version.js",
166
- "hash": "3680747442718205672"
161
+ "file": "lerna.json",
162
+ "hash": "6244841999875876222"
167
163
  },
168
164
  {
169
- "file": "bun-test-globals.d.ts",
170
- "hash": "11720446903047261515"
165
+ "file": "cypress/e2e/bugs/401-board-state-on-game-change.ts",
166
+ "hash": "4970188220651698542"
171
167
  },
172
168
  {
173
- "file": "cypress/e2e/bugs/129-esc-sidebar.ts",
174
- "hash": "18135998467496795464"
169
+ "file": "cypress/e2e/bugs/380-transliteration-when-pasting.ts",
170
+ "hash": "5009553017294935822"
175
171
  },
176
172
  {
177
- "file": "cypress/e2e/bugs/352-dictionary-race-condition.ts",
178
- "hash": "11375056568318556588"
173
+ "file": ".github/workflows/oxfmt.yml",
174
+ "hash": "8910153274813196941"
179
175
  },
180
176
  {
181
- "file": "cypress/e2e/bugs/380-transliteration-when-pasting.ts",
182
- "hash": "5009553017294935822"
177
+ "file": "cypress/support/e2e.ts",
178
+ "hash": "11404878494790355861"
183
179
  },
184
180
  {
185
- "file": "bun.test.preload.ts",
186
- "hash": "12359177232622253161"
181
+ "file": ".github/workflows/deploy.yml",
182
+ "hash": "11085092697452560447"
187
183
  },
188
184
  {
189
- "file": "cypress.config.ts",
190
- "hash": "18043300092575567764"
185
+ "file": "cypress/e2e/bugs/398-digraphs-in-created-words.ts",
186
+ "hash": "16274805538424356883"
191
187
  },
192
188
  {
193
- "file": "cypress/e2e/app.spec.cy.ts",
194
- "hash": "17922500733620566139"
189
+ "file": "bump-version.js",
190
+ "hash": "3680747442718205672"
195
191
  },
196
192
  {
197
- "file": "cypress/e2e/bugs/30-click-inside-radio-icon.ts",
198
- "hash": "14735649149345694300"
193
+ "file": ".npmrc",
194
+ "hash": "8550214904053156014"
199
195
  },
200
196
  {
201
- "file": "nx.json",
202
- "hash": "12408965950466853583"
197
+ "file": ".github/workflows/unit.yml",
198
+ "hash": "6367944978607806241"
203
199
  },
204
200
  {
205
- "file": ".github/workflows/bunx.yml",
206
- "hash": "16222118223491689725"
201
+ "file": "bun-test-globals.d.ts",
202
+ "hash": "11720446903047261515"
207
203
  },
208
204
  {
209
205
  "file": ".github/workflows/oxlint.yml",
210
206
  "hash": "1395882258753359117"
211
207
  },
212
208
  {
213
- "file": "cypress/e2e/features/91-hover-remaining-tile-highlights.ts",
214
- "hash": "11268643321198891941"
209
+ "file": "CLAUDE.md",
210
+ "hash": "3297164028831548309"
215
211
  },
216
212
  {
217
- "file": "babel.config.js",
218
- "hash": "3648372393756188667"
213
+ "file": "README.md",
214
+ "hash": "10137479414218144482"
219
215
  },
220
216
  {
221
- "file": "package.json",
222
- "hash": "7709803594038490062"
217
+ "file": "cypress/e2e/features/198-highlight-unreachable-cells.ts",
218
+ "hash": "3910280514843648957"
223
219
  },
224
220
  {
225
- "file": "cypress/e2e/bugs/112-character-bonus.ts",
226
- "hash": "7144866814341355219"
221
+ "file": "cypress/support/lib/index.ts",
222
+ "hash": "14256056309923157734"
227
223
  },
228
224
  {
229
- "file": "README.md",
230
- "hash": "4041455316740280977"
225
+ "file": "bun.lock",
226
+ "hash": "4057277810630055417"
227
+ },
228
+ {
229
+ "file": "cypress/e2e/bugs/348-results-word-padding.ts",
230
+ "hash": "6446018906872213060"
231
+ },
232
+ {
233
+ "file": "cypress/support/commands.ts",
234
+ "hash": "576911436208964402"
231
235
  }
232
236
  ],
233
237
  "projectFileMap": {
234
- "@scrabble-solver/constants": [
235
- {
236
- "file": "packages/constants/README.md",
237
- "hash": "15117377322618686888"
238
- },
239
- {
240
- "file": "packages/constants/package.json",
241
- "hash": "15351010835846751780"
242
- },
243
- {
244
- "file": "packages/constants/src/index.ts",
245
- "hash": "2132305088706286749"
246
- },
247
- {
248
- "file": "packages/constants/tsconfig.json",
249
- "hash": "14393573143758511966"
250
- }
251
- ],
252
- "@scrabble-solver/word-lists": [
238
+ "@scrabble-solver/types": [
253
239
  {
254
- "file": "packages/word-lists/README.md",
255
- "hash": "16055975283152607821"
240
+ "file": "packages/types/README.md",
241
+ "hash": "5575595901601075739"
256
242
  },
257
243
  {
258
- "file": "packages/word-lists/package.json",
259
- "hash": "4044476555951979710",
244
+ "file": "packages/types/package.json",
245
+ "hash": "7095994030035269907",
260
246
  "deps": [
261
- "npm:@types/follow-redirects@1.14.4",
262
- "npm:@types/unzipper@0.10.11",
263
- "@scrabble-solver/types",
264
- "npm:cheerio@1.2.0",
265
- "npm:follow-redirects@1.16.0",
266
- "npm:transliteration@2.6.1",
267
- "npm:unzipper@0.12.5"
247
+ "@scrabble-solver/constants"
268
248
  ]
269
249
  },
270
250
  {
271
- "file": "packages/word-lists/src/getWordList.ts",
272
- "hash": "10304524630809776049"
273
- },
274
- {
275
- "file": "packages/word-lists/src/index.ts",
276
- "hash": "8042340231609296722"
277
- },
278
- {
279
- "file": "packages/word-lists/src/languages/english.ts",
280
- "hash": "18236496125766674592"
281
- },
282
- {
283
- "file": "packages/word-lists/src/languages/french.ts",
284
- "hash": "999885887967626988"
285
- },
286
- {
287
- "file": "packages/word-lists/src/languages/german.ts",
288
- "hash": "7794882289943390115"
289
- },
290
- {
291
- "file": "packages/word-lists/src/languages/index.ts",
292
- "hash": "632033483089466746"
293
- },
294
- {
295
- "file": "packages/word-lists/src/languages/persian.ts",
296
- "hash": "3960698128232122588"
297
- },
298
- {
299
- "file": "packages/word-lists/src/languages/polish.ts",
300
- "hash": "3075535021753564703"
301
- },
302
- {
303
- "file": "packages/word-lists/src/languages/romanian.ts",
304
- "hash": "9300620863531476643"
305
- },
306
- {
307
- "file": "packages/word-lists/src/languages/spanish.ts",
308
- "hash": "4087018936035514"
309
- },
310
- {
311
- "file": "packages/word-lists/src/languages/turkish.ts",
312
- "hash": "16755045246219415596"
313
- },
314
- {
315
- "file": "packages/word-lists/src/lib/downloadFile.ts",
316
- "hash": "13607329874891283679"
317
- },
318
- {
319
- "file": "packages/word-lists/src/lib/downloadHtml.ts",
320
- "hash": "1310045368305737951"
321
- },
322
- {
323
- "file": "packages/word-lists/src/lib/extractWords.ts",
324
- "hash": "14559448128270437612"
325
- },
326
- {
327
- "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
328
- "hash": "9840318512275784332"
329
- },
330
- {
331
- "file": "packages/word-lists/src/lib/getHash.ts",
332
- "hash": "8975814297070890934"
251
+ "file": "packages/types/src/Bingo.ts",
252
+ "hash": "11156540932758500010"
333
253
  },
334
254
  {
335
- "file": "packages/word-lists/src/lib/getTempFilepath.ts",
336
- "hash": "17463482587297340183"
255
+ "file": "packages/types/src/Board.ts",
256
+ "hash": "12536848780853392575"
337
257
  },
338
258
  {
339
- "file": "packages/word-lists/src/lib/getTxtWordList.ts",
340
- "hash": "6788551474673366316"
259
+ "file": "packages/types/src/BoardJson.ts",
260
+ "hash": "6300126458960546351"
341
261
  },
342
262
  {
343
- "file": "packages/word-lists/src/lib/index.ts",
344
- "hash": "3470132537045022332"
263
+ "file": "packages/types/src/Bonus.ts",
264
+ "hash": "5717286701263266565"
345
265
  },
346
266
  {
347
- "file": "packages/word-lists/src/lib/transliterateDiacritics.ts",
348
- "hash": "477062649907390802"
267
+ "file": "packages/types/src/BonusJson.ts",
268
+ "hash": "8193407530116730877"
349
269
  },
350
270
  {
351
- "file": "packages/word-lists/src/lib/unique.ts",
352
- "hash": "4387364396041720073"
271
+ "file": "packages/types/src/BonusValue.ts",
272
+ "hash": "15813289002325634994"
353
273
  },
354
274
  {
355
- "file": "packages/word-lists/src/lib/unzip.ts",
356
- "hash": "1152622296142869825"
275
+ "file": "packages/types/src/Cell.ts",
276
+ "hash": "8626587745419165844"
357
277
  },
358
278
  {
359
- "file": "packages/word-lists/tsconfig.json",
360
- "hash": "14393573143758511966"
361
- }
362
- ],
363
- "@scrabble-solver/configs": [
364
- {
365
- "file": "packages/configs/README.md",
366
- "hash": "6408492212348349035"
279
+ "file": "packages/types/src/CellJson.ts",
280
+ "hash": "5838648840761749260"
367
281
  },
368
282
  {
369
- "file": "packages/configs/package.json",
370
- "hash": "3518390416496681847",
371
- "deps": [
372
- "@scrabble-solver/constants",
373
- "@scrabble-solver/types"
374
- ]
283
+ "file": "packages/types/src/CharacterBonus.ts",
284
+ "hash": "13332621774449008748"
375
285
  },
376
286
  {
377
- "file": "packages/configs/src/games/crossplay.ts",
378
- "hash": "16021566614416518615"
287
+ "file": "packages/types/src/Collision.ts",
288
+ "hash": "11514928176519920102"
379
289
  },
380
290
  {
381
- "file": "packages/configs/src/games/index.ts",
382
- "hash": "16580546551436334473"
291
+ "file": "packages/types/src/Config.ts",
292
+ "hash": "2576430300055128471"
383
293
  },
384
294
  {
385
- "file": "packages/configs/src/games/kelimelik.ts",
386
- "hash": "8950283052021127979"
295
+ "file": "packages/types/src/ConfigJson.ts",
296
+ "hash": "2916011851215747296"
387
297
  },
388
298
  {
389
- "file": "packages/configs/src/games/letterLeague.ts",
390
- "hash": "8462198127509215788"
299
+ "file": "packages/types/src/Dictionary.ts",
300
+ "hash": "104582099610553637"
391
301
  },
392
302
  {
393
- "file": "packages/configs/src/games/literaki.ts",
394
- "hash": "7033507003854208537"
303
+ "file": "packages/types/src/Game.ts",
304
+ "hash": "2143294380435431595"
395
305
  },
396
306
  {
397
- "file": "packages/configs/src/games/scrabble.ts",
398
- "hash": "18218540760290077603"
307
+ "file": "packages/types/src/Locale.ts",
308
+ "hash": "10520730147026209201"
399
309
  },
400
310
  {
401
- "file": "packages/configs/src/games/scrabbleDuel.ts",
402
- "hash": "4836733622693563212"
311
+ "file": "packages/types/src/Result.ts",
312
+ "hash": "7402719829978917720"
403
313
  },
404
314
  {
405
- "file": "packages/configs/src/games/superScrabble.ts",
406
- "hash": "17447393258816850978"
315
+ "file": "packages/types/src/ResultJson.ts",
316
+ "hash": "6777063720137099065"
407
317
  },
408
318
  {
409
- "file": "packages/configs/src/getConfig.ts",
410
- "hash": "2532535760263476394"
319
+ "file": "packages/types/src/ShowCoordinates.ts",
320
+ "hash": "10701598730104256101"
411
321
  },
412
322
  {
413
- "file": "packages/configs/src/hasConfig.ts",
414
- "hash": "3549979696544493656"
323
+ "file": "packages/types/src/Tile.ts",
324
+ "hash": "6732286771517417774"
415
325
  },
416
326
  {
417
- "file": "packages/configs/src/index.ts",
418
- "hash": "12104092412421460190"
327
+ "file": "packages/types/src/TileConfig.ts",
328
+ "hash": "3850213128358277492"
419
329
  },
420
330
  {
421
- "file": "packages/configs/src/languages/english.ts",
422
- "hash": "7535121473879804895"
331
+ "file": "packages/types/src/TileJson.ts",
332
+ "hash": "623347356678060640"
423
333
  },
424
334
  {
425
- "file": "packages/configs/src/languages/french.ts",
426
- "hash": "12248709442008050794"
335
+ "file": "packages/types/src/WordBonus.ts",
336
+ "hash": "13727795112998703187"
427
337
  },
428
338
  {
429
- "file": "packages/configs/src/languages/german.ts",
430
- "hash": "15430977815804666604"
339
+ "file": "packages/types/src/WordDefinition.ts",
340
+ "hash": "6656289218902883084"
431
341
  },
432
342
  {
433
- "file": "packages/configs/src/languages/index.ts",
434
- "hash": "6554636328320279077"
343
+ "file": "packages/types/src/WordDefinitionJson.ts",
344
+ "hash": "3359175117295750499"
435
345
  },
436
346
  {
437
- "file": "packages/configs/src/languages/persian.ts",
438
- "hash": "1614638689491705120"
347
+ "file": "packages/types/src/index.ts",
348
+ "hash": "13725448316688113851"
439
349
  },
440
350
  {
441
- "file": "packages/configs/src/languages/polish.ts",
442
- "hash": "17941542313550365356"
351
+ "file": "packages/types/src/isError.ts",
352
+ "hash": "5878313337491303689"
443
353
  },
444
354
  {
445
- "file": "packages/configs/src/languages/romanian.ts",
446
- "hash": "15366974472215186064"
355
+ "file": "packages/types/src/isObject.ts",
356
+ "hash": "12200389762297734518"
447
357
  },
448
358
  {
449
- "file": "packages/configs/src/languages/spanish.ts",
450
- "hash": "289235670795048535"
359
+ "file": "packages/types/src/readResultCells.test.ts",
360
+ "hash": "3004785766895515629"
451
361
  },
452
362
  {
453
- "file": "packages/configs/src/languages/turkish.ts",
454
- "hash": "10240746041524805456"
363
+ "file": "packages/types/src/readResultCells.ts",
364
+ "hash": "6916425408710276820"
455
365
  },
456
366
  {
457
- "file": "packages/configs/tsconfig.json",
367
+ "file": "packages/types/tsconfig.json",
458
368
  "hash": "14393573143758511966"
459
369
  }
460
370
  ],
461
371
  "@scrabble-solver/dictionaries": [
462
372
  {
463
373
  "file": "packages/dictionaries/README.md",
464
- "hash": "4148063976304250953"
374
+ "hash": "6628439566514867396"
465
375
  },
466
376
  {
467
377
  "file": "packages/dictionaries/bin/remove-dictionaries.js",
@@ -473,9 +383,9 @@
473
383
  },
474
384
  {
475
385
  "file": "packages/dictionaries/package.json",
476
- "hash": "1538931695023816747",
386
+ "hash": "18005609752870829292",
477
387
  "deps": [
478
- "npm:@kamilmielnik/trie",
388
+ "npm:@kamilmielnik/gaddag@2.0.0",
479
389
  "@scrabble-solver/logger",
480
390
  "@scrabble-solver/types",
481
391
  "@scrabble-solver/word-lists"
@@ -483,7 +393,7 @@
483
393
  },
484
394
  {
485
395
  "file": "packages/dictionaries/src/Dictionaries.ts",
486
- "hash": "4738381108479340912"
396
+ "hash": "2561895391754704286"
487
397
  },
488
398
  {
489
399
  "file": "packages/dictionaries/src/constants.ts",
@@ -493,17 +403,21 @@
493
403
  "file": "packages/dictionaries/src/index.ts",
494
404
  "hash": "9758670209578578353"
495
405
  },
406
+ {
407
+ "file": "packages/dictionaries/src/lib/DiskCache.test.ts",
408
+ "hash": "10809364736482551551"
409
+ },
496
410
  {
497
411
  "file": "packages/dictionaries/src/lib/DiskCache.ts",
498
- "hash": "6591280341137675547"
412
+ "hash": "2531927136976486343"
499
413
  },
500
414
  {
501
415
  "file": "packages/dictionaries/src/lib/LayeredCache.ts",
502
- "hash": "648465204682435627"
416
+ "hash": "12592731290998266042"
503
417
  },
504
418
  {
505
419
  "file": "packages/dictionaries/src/lib/MemoryCache.ts",
506
- "hash": "4401577659353577236"
420
+ "hash": "17795245780858364573"
507
421
  },
508
422
  {
509
423
  "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
@@ -511,15 +425,15 @@
511
425
  },
512
426
  {
513
427
  "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
514
- "hash": "4282064259827246408"
428
+ "hash": "6942577208965757211"
515
429
  },
516
430
  {
517
431
  "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
518
- "hash": "2012587757658985290"
432
+ "hash": "5221985439340190769"
519
433
  },
520
434
  {
521
435
  "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
522
- "hash": "396532623119550129"
436
+ "hash": "18021392031850992086"
523
437
  },
524
438
  {
525
439
  "file": "packages/dictionaries/src/lib/index.ts",
@@ -534,185 +448,114 @@
534
448
  "hash": "14393573143758511966"
535
449
  }
536
450
  ],
537
- "@scrabble-solver/logger": [
538
- {
539
- "file": "packages/logger/README.md",
540
- "hash": "16076881737681040638"
541
- },
542
- {
543
- "file": "packages/logger/package.json",
544
- "hash": "17146039181218771025",
545
- "deps": [
546
- "npm:winston@3.19.0"
547
- ]
548
- },
549
- {
550
- "file": "packages/logger/scripts/stats.js",
551
- "hash": "14633712956610723631"
552
- },
553
- {
554
- "file": "packages/logger/src/constants.ts",
555
- "hash": "9027236667651974941"
556
- },
557
- {
558
- "file": "packages/logger/src/index.ts",
559
- "hash": "5834074882708409826"
560
- },
561
- {
562
- "file": "packages/logger/src/logger.ts",
563
- "hash": "3288628780241056943"
564
- },
565
- {
566
- "file": "packages/logger/tsconfig.json",
567
- "hash": "14393573143758511966"
568
- }
569
- ],
570
- "@scrabble-solver/types": [
451
+ "@scrabble-solver/word-lists": [
571
452
  {
572
- "file": "packages/types/README.md",
573
- "hash": "5575595901601075739"
453
+ "file": "packages/word-lists/README.md",
454
+ "hash": "16055975283152607821"
574
455
  },
575
456
  {
576
- "file": "packages/types/package.json",
577
- "hash": "4457430896626039911",
457
+ "file": "packages/word-lists/package.json",
458
+ "hash": "13956216865334373623",
578
459
  "deps": [
579
- "@scrabble-solver/constants"
460
+ "npm:@types/follow-redirects@1.14.4",
461
+ "npm:@types/unzipper@0.10.11",
462
+ "@scrabble-solver/types",
463
+ "npm:cheerio@1.2.0",
464
+ "npm:follow-redirects@1.16.0",
465
+ "npm:transliteration@2.6.1",
466
+ "npm:unzipper@0.12.5"
580
467
  ]
581
468
  },
582
469
  {
583
- "file": "packages/types/src/Bingo.ts",
584
- "hash": "11156540932758500010"
585
- },
586
- {
587
- "file": "packages/types/src/Board.ts",
588
- "hash": "12536848780853392575"
589
- },
590
- {
591
- "file": "packages/types/src/BoardJson.ts",
592
- "hash": "6300126458960546351"
593
- },
594
- {
595
- "file": "packages/types/src/Bonus.ts",
596
- "hash": "5717286701263266565"
597
- },
598
- {
599
- "file": "packages/types/src/BonusJson.ts",
600
- "hash": "8193407530116730877"
601
- },
602
- {
603
- "file": "packages/types/src/BonusValue.ts",
604
- "hash": "15813289002325634994"
605
- },
606
- {
607
- "file": "packages/types/src/Cell.ts",
608
- "hash": "15324633768199703641"
609
- },
610
- {
611
- "file": "packages/types/src/CellJson.ts",
612
- "hash": "5838648840761749260"
613
- },
614
- {
615
- "file": "packages/types/src/CharacterBonus.ts",
616
- "hash": "13332621774449008748"
617
- },
618
- {
619
- "file": "packages/types/src/Collision.ts",
620
- "hash": "11514928176519920102"
621
- },
622
- {
623
- "file": "packages/types/src/CollisionJson.ts",
624
- "hash": "10124636440332970683"
625
- },
626
- {
627
- "file": "packages/types/src/Config.ts",
628
- "hash": "2576430300055128471"
470
+ "file": "packages/word-lists/src/getWordList.ts",
471
+ "hash": "10304524630809776049"
629
472
  },
630
473
  {
631
- "file": "packages/types/src/ConfigJson.ts",
632
- "hash": "2916011851215747296"
474
+ "file": "packages/word-lists/src/index.ts",
475
+ "hash": "8042340231609296722"
633
476
  },
634
477
  {
635
- "file": "packages/types/src/Dictionary.ts",
636
- "hash": "104582099610553637"
478
+ "file": "packages/word-lists/src/languages/english.ts",
479
+ "hash": "18236496125766674592"
637
480
  },
638
481
  {
639
- "file": "packages/types/src/FinalPattern.ts",
640
- "hash": "1023305706567596583"
482
+ "file": "packages/word-lists/src/languages/french.ts",
483
+ "hash": "999885887967626988"
641
484
  },
642
485
  {
643
- "file": "packages/types/src/Game.ts",
644
- "hash": "2143294380435431595"
486
+ "file": "packages/word-lists/src/languages/german.ts",
487
+ "hash": "7794882289943390115"
645
488
  },
646
489
  {
647
- "file": "packages/types/src/HorizontalPattern.ts",
648
- "hash": "8770107180821950564"
490
+ "file": "packages/word-lists/src/languages/index.ts",
491
+ "hash": "632033483089466746"
649
492
  },
650
493
  {
651
- "file": "packages/types/src/Locale.ts",
652
- "hash": "10520730147026209201"
494
+ "file": "packages/word-lists/src/languages/persian.ts",
495
+ "hash": "3960698128232122588"
653
496
  },
654
497
  {
655
- "file": "packages/types/src/Pattern.ts",
656
- "hash": "7953103789621981714"
498
+ "file": "packages/word-lists/src/languages/polish.ts",
499
+ "hash": "3075535021753564703"
657
500
  },
658
501
  {
659
- "file": "packages/types/src/PatternJson.ts",
660
- "hash": "3203339139986825408"
502
+ "file": "packages/word-lists/src/languages/romanian.ts",
503
+ "hash": "9300620863531476643"
661
504
  },
662
505
  {
663
- "file": "packages/types/src/Result.ts",
664
- "hash": "13134367001270000857"
506
+ "file": "packages/word-lists/src/languages/spanish.ts",
507
+ "hash": "4087018936035514"
665
508
  },
666
509
  {
667
- "file": "packages/types/src/ResultJson.ts",
668
- "hash": "4442410132118853428"
510
+ "file": "packages/word-lists/src/languages/turkish.ts",
511
+ "hash": "16755045246219415596"
669
512
  },
670
513
  {
671
- "file": "packages/types/src/ShowCoordinates.ts",
672
- "hash": "10701598730104256101"
514
+ "file": "packages/word-lists/src/lib/downloadFile.ts",
515
+ "hash": "13607329874891283679"
673
516
  },
674
517
  {
675
- "file": "packages/types/src/Tile.ts",
676
- "hash": "6732286771517417774"
518
+ "file": "packages/word-lists/src/lib/downloadHtml.ts",
519
+ "hash": "1310045368305737951"
677
520
  },
678
521
  {
679
- "file": "packages/types/src/TileConfig.ts",
680
- "hash": "3850213128358277492"
522
+ "file": "packages/word-lists/src/lib/extractWords.ts",
523
+ "hash": "14559448128270437612"
681
524
  },
682
525
  {
683
- "file": "packages/types/src/TileJson.ts",
684
- "hash": "623347356678060640"
526
+ "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
527
+ "hash": "9840318512275784332"
685
528
  },
686
529
  {
687
- "file": "packages/types/src/VerticalPattern.ts",
688
- "hash": "12947577357125116848"
530
+ "file": "packages/word-lists/src/lib/getHash.ts",
531
+ "hash": "8975814297070890934"
689
532
  },
690
533
  {
691
- "file": "packages/types/src/WordBonus.ts",
692
- "hash": "13727795112998703187"
534
+ "file": "packages/word-lists/src/lib/getTempFilepath.ts",
535
+ "hash": "17463482587297340183"
693
536
  },
694
537
  {
695
- "file": "packages/types/src/WordDefinition.ts",
696
- "hash": "6656289218902883084"
538
+ "file": "packages/word-lists/src/lib/getTxtWordList.ts",
539
+ "hash": "6788551474673366316"
697
540
  },
698
541
  {
699
- "file": "packages/types/src/WordDefinitionJson.ts",
700
- "hash": "3359175117295750499"
542
+ "file": "packages/word-lists/src/lib/index.ts",
543
+ "hash": "3470132537045022332"
701
544
  },
702
545
  {
703
- "file": "packages/types/src/index.ts",
704
- "hash": "18241305110412388686"
546
+ "file": "packages/word-lists/src/lib/transliterateDiacritics.ts",
547
+ "hash": "477062649907390802"
705
548
  },
706
549
  {
707
- "file": "packages/types/src/isError.ts",
708
- "hash": "5878313337491303689"
550
+ "file": "packages/word-lists/src/lib/unique.ts",
551
+ "hash": "4387364396041720073"
709
552
  },
710
553
  {
711
- "file": "packages/types/src/isObject.ts",
712
- "hash": "12200389762297734518"
554
+ "file": "packages/word-lists/src/lib/unzip.ts",
555
+ "hash": "1152622296142869825"
713
556
  },
714
557
  {
715
- "file": "packages/types/tsconfig.json",
558
+ "file": "packages/word-lists/tsconfig.json",
716
559
  "hash": "14393573143758511966"
717
560
  }
718
561
  ],
@@ -731,11 +574,11 @@
731
574
  },
732
575
  {
733
576
  "file": "packages/scrabble-solver/next.config.js",
734
- "hash": "16301860230680148284"
577
+ "hash": "11737483211257609506"
735
578
  },
736
579
  {
737
580
  "file": "packages/scrabble-solver/package.json",
738
- "hash": "5712936609143642302",
581
+ "hash": "13543745253585709284",
739
582
  "deps": [
740
583
  "npm:@svgr/webpack@8.1.0",
741
584
  "npm:@types/react@19.2.18",
@@ -745,7 +588,7 @@
745
588
  "npm:@types/react-portal@4.0.7",
746
589
  "npm:sass@1.102.0",
747
590
  "npm:@floating-ui/react@0.27.20",
748
- "npm:@kamilmielnik/trie",
591
+ "npm:@kamilmielnik/gaddag@2.0.0",
749
592
  "npm:@reduxjs/toolkit@2.12.0",
750
593
  "@scrabble-solver/configs",
751
594
  "@scrabble-solver/constants",
@@ -758,7 +601,7 @@
758
601
  "npm:env-cmd@11.0.0",
759
602
  "npm:include-media@2.0.0",
760
603
  "npm:include-media-query-builder@1.1.0",
761
- "npm:next@16.3.0-preview.10",
604
+ "npm:next@16.3.0",
762
605
  "npm:normalize.css@8.0.1",
763
606
  "npm:react@19.2.8",
764
607
  "npm:react-cool-onclickoutside@1.7.0",
@@ -972,7 +815,7 @@
972
815
  },
973
816
  {
974
817
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx",
975
- "hash": "7527704143704525496"
818
+ "hash": "14120036067633860917"
976
819
  },
977
820
  {
978
821
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/index.ts",
@@ -1032,7 +875,7 @@
1032
875
  },
1033
876
  {
1034
877
  "file": "packages/scrabble-solver/src/components/Board/hooks/useGrid.ts",
1035
- "hash": "13490186602715248341"
878
+ "hash": "16909305549875812624"
1036
879
  },
1037
880
  {
1038
881
  "file": "packages/scrabble-solver/src/components/Board/index.ts",
@@ -1064,11 +907,11 @@
1064
907
  },
1065
908
  {
1066
909
  "file": "packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss",
1067
- "hash": "12512301526984530286"
910
+ "hash": "16575226117595047184"
1068
911
  },
1069
912
  {
1070
913
  "file": "packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx",
1071
- "hash": "10479944454962076860"
914
+ "hash": "6631400849858798698"
1072
915
  },
1073
916
  {
1074
917
  "file": "packages/scrabble-solver/src/components/Dictionary/index.ts",
@@ -1336,15 +1179,15 @@
1336
1179
  },
1337
1180
  {
1338
1181
  "file": "packages/scrabble-solver/src/components/Results/Result.tsx",
1339
- "hash": "12361052085443411660"
1182
+ "hash": "11222866597165570448"
1340
1183
  },
1341
1184
  {
1342
1185
  "file": "packages/scrabble-solver/src/components/Results/Results.module.scss",
1343
- "hash": "12185613404634964759"
1186
+ "hash": "4790321768163830357"
1344
1187
  },
1345
1188
  {
1346
1189
  "file": "packages/scrabble-solver/src/components/Results/Results.tsx",
1347
- "hash": "5049080623241129086"
1190
+ "hash": "306919045148198193"
1348
1191
  },
1349
1192
  {
1350
1193
  "file": "packages/scrabble-solver/src/components/Results/SolveButton.tsx",
@@ -1356,7 +1199,7 @@
1356
1199
  },
1357
1200
  {
1358
1201
  "file": "packages/scrabble-solver/src/components/Results/types.ts",
1359
- "hash": "3970651511308331201"
1202
+ "hash": "15100132440144158398"
1360
1203
  },
1361
1204
  {
1362
1205
  "file": "packages/scrabble-solver/src/components/ResultsInput/ResultsInput.module.scss",
@@ -1384,7 +1227,7 @@
1384
1227
  },
1385
1228
  {
1386
1229
  "file": "packages/scrabble-solver/src/components/Solver/Solver.tsx",
1387
- "hash": "2039814352197717985"
1230
+ "hash": "18051798221166873859"
1388
1231
  },
1389
1232
  {
1390
1233
  "file": "packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss",
@@ -1472,7 +1315,7 @@
1472
1315
  },
1473
1316
  {
1474
1317
  "file": "packages/scrabble-solver/src/components/Tooltip/useTooltip.ts",
1475
- "hash": "13769055576955839310"
1318
+ "hash": "14037061679595098456"
1476
1319
  },
1477
1320
  {
1478
1321
  "file": "packages/scrabble-solver/src/components/index.ts",
@@ -2128,19 +1971,19 @@
2128
1971
  },
2129
1972
  {
2130
1973
  "file": "packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts",
2131
- "hash": "5569536114673644890"
1974
+ "hash": "9890897606093034143"
2132
1975
  },
2133
1976
  {
2134
1977
  "file": "packages/scrabble-solver/src/pages/api/dictionary/[locale]/index.ts",
2135
- "hash": "9723620783685798058"
1978
+ "hash": "565360377616244471"
2136
1979
  },
2137
1980
  {
2138
1981
  "file": "packages/scrabble-solver/src/pages/api/solve.ts",
2139
- "hash": "10083202764750289231"
1982
+ "hash": "9104920517572208041"
2140
1983
  },
2141
1984
  {
2142
1985
  "file": "packages/scrabble-solver/src/pages/api/verify.ts",
2143
- "hash": "6948266974862633697"
1986
+ "hash": "6985898088476003232"
2144
1987
  },
2145
1988
  {
2146
1989
  "file": "packages/scrabble-solver/src/pages/api/visit.ts",
@@ -2174,73 +2017,97 @@
2174
2017
  "file": "packages/scrabble-solver/src/sdk/findWordDefinitions.ts",
2175
2018
  "hash": "16537000265833978232"
2176
2019
  },
2177
- {
2178
- "file": "packages/scrabble-solver/src/sdk/getDictionary.ts",
2179
- "hash": "2457184031476117234"
2180
- },
2181
2020
  {
2182
2021
  "file": "packages/scrabble-solver/src/sdk/index.ts",
2183
2022
  "hash": "3651665009336295035"
2184
2023
  },
2185
2024
  {
2186
2025
  "file": "packages/scrabble-solver/src/sdk/solve.ts",
2187
- "hash": "5864570945320712599"
2026
+ "hash": "14093469962660680952"
2188
2027
  },
2189
2028
  {
2190
2029
  "file": "packages/scrabble-solver/src/sdk/verify.ts",
2191
- "hash": "7720326563140802714"
2030
+ "hash": "13074514926412552211"
2031
+ },
2032
+ {
2033
+ "file": "packages/scrabble-solver/src/sdk/visit.ts",
2034
+ "hash": "11075775441144503022"
2035
+ },
2036
+ {
2037
+ "file": "packages/scrabble-solver/src/service-worker/appShell.test.ts",
2038
+ "hash": "10558418464279822567"
2039
+ },
2040
+ {
2041
+ "file": "packages/scrabble-solver/src/service-worker/appShell.ts",
2042
+ "hash": "1408263262440769531"
2043
+ },
2044
+ {
2045
+ "file": "packages/scrabble-solver/src/service-worker/index.ts",
2046
+ "hash": "3369355815619459731"
2047
+ },
2048
+ {
2049
+ "file": "packages/scrabble-solver/src/serviceWorkerManager.ts",
2050
+ "hash": "1632086897564837822"
2192
2051
  },
2193
2052
  {
2194
- "file": "packages/scrabble-solver/src/sdk/visit.ts",
2195
- "hash": "11075775441144503022"
2053
+ "file": "packages/scrabble-solver/src/solver-worker/client.test.ts",
2054
+ "hash": "16882586320834609607"
2196
2055
  },
2197
2056
  {
2198
- "file": "packages/scrabble-solver/src/service-worker/average.ts",
2199
- "hash": "7166190492129242151"
2057
+ "file": "packages/scrabble-solver/src/solver-worker/client.ts",
2058
+ "hash": "15269805909295258294"
2200
2059
  },
2201
2060
  {
2202
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/constants.ts",
2203
- "hash": "5383224325624444190"
2061
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/constants.ts",
2062
+ "hash": "1189785756385212102"
2204
2063
  },
2205
2064
  {
2206
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/expirationManager.ts",
2065
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/expirationManager.ts",
2207
2066
  "hash": "9702535050928774369"
2208
2067
  },
2209
2068
  {
2210
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/getDictionary.ts",
2211
- "hash": "14360109450447764567"
2069
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/getDictionary.ts",
2070
+ "hash": "6345096149054859066"
2212
2071
  },
2213
2072
  {
2214
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/getDictionaryUrl.ts",
2073
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/getDictionaryUrl.ts",
2215
2074
  "hash": "4793134591312680353"
2216
2075
  },
2217
2076
  {
2218
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/index.ts",
2219
- "hash": "14806497333915107241"
2077
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/index.ts",
2078
+ "hash": "656517071374547671"
2220
2079
  },
2221
2080
  {
2222
- "file": "packages/scrabble-solver/src/service-worker/dictionaries/revalidateDictionary.ts",
2223
- "hash": "13049366095878541388"
2081
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.test.ts",
2082
+ "hash": "9962679569686646593"
2224
2083
  },
2225
2084
  {
2226
- "file": "packages/scrabble-solver/src/service-worker/getTrie.ts",
2227
- "hash": "5754988871060526004"
2085
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/revalidateDictionary.ts",
2086
+ "hash": "13645835860519011449"
2228
2087
  },
2229
2088
  {
2230
- "file": "packages/scrabble-solver/src/service-worker/index.ts",
2231
- "hash": "4717087600813998455"
2089
+ "file": "packages/scrabble-solver/src/solver-worker/dictionaries/revalidatedAt.ts",
2090
+ "hash": "3398683739202113562"
2232
2091
  },
2233
2092
  {
2234
- "file": "packages/scrabble-solver/src/service-worker/routeSolveRequests.ts",
2235
- "hash": "1778170610209415804"
2093
+ "file": "packages/scrabble-solver/src/solver-worker/getGaddag.test.ts",
2094
+ "hash": "17744687796160485995"
2236
2095
  },
2237
2096
  {
2238
- "file": "packages/scrabble-solver/src/service-worker/routeVerifyRequests.ts",
2239
- "hash": "5299571665804704391"
2097
+ "file": "packages/scrabble-solver/src/solver-worker/getGaddag.ts",
2098
+ "hash": "2647345133694443059"
2240
2099
  },
2241
2100
  {
2242
- "file": "packages/scrabble-solver/src/serviceWorkerManager.ts",
2243
- "hash": "6436235954962334167"
2101
+ "file": "packages/scrabble-solver/src/solver-worker/index.ts",
2102
+ "hash": "13142338042790329626"
2103
+ },
2104
+ {
2105
+ "file": "packages/scrabble-solver/src/solver-worker/index.worker.ts",
2106
+ "hash": "6239467722064345569"
2107
+ },
2108
+ {
2109
+ "file": "packages/scrabble-solver/src/solver-worker/messages.ts",
2110
+ "hash": "11420948805361826379"
2244
2111
  },
2245
2112
  {
2246
2113
  "file": "packages/scrabble-solver/src/state/actions.ts",
@@ -2332,7 +2199,7 @@
2332
2199
  },
2333
2200
  {
2334
2201
  "file": "packages/scrabble-solver/src/state/index.ts",
2335
- "hash": "2711326469679390938"
2202
+ "hash": "1780642767768567802"
2336
2203
  },
2337
2204
  {
2338
2205
  "file": "packages/scrabble-solver/src/state/lib.ts",
@@ -2388,7 +2255,7 @@
2388
2255
  },
2389
2256
  {
2390
2257
  "file": "packages/scrabble-solver/src/state/sagas.ts",
2391
- "hash": "3415625488659977922"
2258
+ "hash": "5349345523997676557"
2392
2259
  },
2393
2260
  {
2394
2261
  "file": "packages/scrabble-solver/src/state/selectors.ts",
@@ -2454,6 +2321,10 @@
2454
2321
  "file": "packages/scrabble-solver/src/state/useTypedSelector.ts",
2455
2322
  "hash": "7497927830076949253"
2456
2323
  },
2324
+ {
2325
+ "file": "packages/scrabble-solver/src/state/useTypedStore.ts",
2326
+ "hash": "3443923162643676480"
2327
+ },
2457
2328
  {
2458
2329
  "file": "packages/scrabble-solver/src/state/verify/index.ts",
2459
2330
  "hash": "2406327340588077760"
@@ -2500,7 +2371,7 @@
2500
2371
  },
2501
2372
  {
2502
2373
  "file": "packages/scrabble-solver/src/types/api.ts",
2503
- "hash": "9170700708623849575"
2374
+ "hash": "5400178518570826006"
2504
2375
  },
2505
2376
  {
2506
2377
  "file": "packages/scrabble-solver/src/types/index.ts",
@@ -2508,7 +2379,215 @@
2508
2379
  },
2509
2380
  {
2510
2381
  "file": "packages/scrabble-solver/tsconfig.json",
2511
- "hash": "13285982892778220395"
2382
+ "hash": "10943461411870959230"
2383
+ }
2384
+ ],
2385
+ "@scrabble-solver/configs": [
2386
+ {
2387
+ "file": "packages/configs/README.md",
2388
+ "hash": "6408492212348349035"
2389
+ },
2390
+ {
2391
+ "file": "packages/configs/package.json",
2392
+ "hash": "7919628774334732817",
2393
+ "deps": [
2394
+ "@scrabble-solver/constants",
2395
+ "@scrabble-solver/types"
2396
+ ]
2397
+ },
2398
+ {
2399
+ "file": "packages/configs/src/games/crossplay.ts",
2400
+ "hash": "16021566614416518615"
2401
+ },
2402
+ {
2403
+ "file": "packages/configs/src/games/index.ts",
2404
+ "hash": "16580546551436334473"
2405
+ },
2406
+ {
2407
+ "file": "packages/configs/src/games/kelimelik.ts",
2408
+ "hash": "8950283052021127979"
2409
+ },
2410
+ {
2411
+ "file": "packages/configs/src/games/letterLeague.ts",
2412
+ "hash": "8462198127509215788"
2413
+ },
2414
+ {
2415
+ "file": "packages/configs/src/games/literaki.ts",
2416
+ "hash": "7033507003854208537"
2417
+ },
2418
+ {
2419
+ "file": "packages/configs/src/games/scrabble.ts",
2420
+ "hash": "18218540760290077603"
2421
+ },
2422
+ {
2423
+ "file": "packages/configs/src/games/scrabbleDuel.ts",
2424
+ "hash": "4836733622693563212"
2425
+ },
2426
+ {
2427
+ "file": "packages/configs/src/games/superScrabble.ts",
2428
+ "hash": "17447393258816850978"
2429
+ },
2430
+ {
2431
+ "file": "packages/configs/src/getConfig.ts",
2432
+ "hash": "2532535760263476394"
2433
+ },
2434
+ {
2435
+ "file": "packages/configs/src/hasConfig.ts",
2436
+ "hash": "3549979696544493656"
2437
+ },
2438
+ {
2439
+ "file": "packages/configs/src/index.ts",
2440
+ "hash": "12104092412421460190"
2441
+ },
2442
+ {
2443
+ "file": "packages/configs/src/languages/english.ts",
2444
+ "hash": "7535121473879804895"
2445
+ },
2446
+ {
2447
+ "file": "packages/configs/src/languages/french.ts",
2448
+ "hash": "12248709442008050794"
2449
+ },
2450
+ {
2451
+ "file": "packages/configs/src/languages/german.ts",
2452
+ "hash": "15430977815804666604"
2453
+ },
2454
+ {
2455
+ "file": "packages/configs/src/languages/index.ts",
2456
+ "hash": "6554636328320279077"
2457
+ },
2458
+ {
2459
+ "file": "packages/configs/src/languages/persian.ts",
2460
+ "hash": "1614638689491705120"
2461
+ },
2462
+ {
2463
+ "file": "packages/configs/src/languages/polish.ts",
2464
+ "hash": "17941542313550365356"
2465
+ },
2466
+ {
2467
+ "file": "packages/configs/src/languages/romanian.ts",
2468
+ "hash": "15366974472215186064"
2469
+ },
2470
+ {
2471
+ "file": "packages/configs/src/languages/spanish.ts",
2472
+ "hash": "289235670795048535"
2473
+ },
2474
+ {
2475
+ "file": "packages/configs/src/languages/turkish.ts",
2476
+ "hash": "10240746041524805456"
2477
+ },
2478
+ {
2479
+ "file": "packages/configs/tsconfig.json",
2480
+ "hash": "14393573143758511966"
2481
+ }
2482
+ ],
2483
+ "@scrabble-solver/solver": [
2484
+ {
2485
+ "file": "packages/solver/README.md",
2486
+ "hash": "16792748008091431053"
2487
+ },
2488
+ {
2489
+ "file": "packages/solver/benchmarks/index.ts",
2490
+ "hash": "14789261453090652608"
2491
+ },
2492
+ {
2493
+ "file": "packages/solver/benchmarks/lib.ts",
2494
+ "hash": "18074034230022269603"
2495
+ },
2496
+ {
2497
+ "file": "packages/solver/benchmarks/renderChart.ts",
2498
+ "hash": "15994103137482312366"
2499
+ },
2500
+ {
2501
+ "file": "packages/solver/benchmarks/results/chart.svg",
2502
+ "hash": "16382274360395559218"
2503
+ },
2504
+ {
2505
+ "file": "packages/solver/benchmarks/runBenchmarks.ts",
2506
+ "hash": "10247467763253649567"
2507
+ },
2508
+ {
2509
+ "file": "packages/solver/benchmarks/scenarios.ts",
2510
+ "hash": "5574802733879787909"
2511
+ },
2512
+ {
2513
+ "file": "packages/solver/benchmarks/types.ts",
2514
+ "hash": "3907848021848470505"
2515
+ },
2516
+ {
2517
+ "file": "packages/solver/benchmarks/updateReadme.ts",
2518
+ "hash": "10419931668096319955"
2519
+ },
2520
+ {
2521
+ "file": "packages/solver/package.json",
2522
+ "hash": "5352223882586184947",
2523
+ "deps": [
2524
+ "@scrabble-solver/configs",
2525
+ "@scrabble-solver/constants",
2526
+ "@scrabble-solver/dictionaries",
2527
+ "npm:@kamilmielnik/gaddag@2.0.0",
2528
+ "@scrabble-solver/types"
2529
+ ]
2530
+ },
2531
+ {
2532
+ "file": "packages/solver/src/MoveGenerator.test.ts",
2533
+ "hash": "15452379511681303925"
2534
+ },
2535
+ {
2536
+ "file": "packages/solver/src/MoveGenerator.ts",
2537
+ "hash": "6412866049897267609"
2538
+ },
2539
+ {
2540
+ "file": "packages/solver/src/ReferenceSolver.ts",
2541
+ "hash": "11090417647170047696"
2542
+ },
2543
+ {
2544
+ "file": "packages/solver/src/index.ts",
2545
+ "hash": "16059031500551576732"
2546
+ },
2547
+ {
2548
+ "file": "packages/solver/src/solve.test.ts",
2549
+ "hash": "9408692374365636486"
2550
+ },
2551
+ {
2552
+ "file": "packages/solver/src/solve.ts",
2553
+ "hash": "3102663659329392320"
2554
+ },
2555
+ {
2556
+ "file": "packages/solver/tsconfig.json",
2557
+ "hash": "6201931798302628133"
2558
+ }
2559
+ ],
2560
+ "@scrabble-solver/logger": [
2561
+ {
2562
+ "file": "packages/logger/README.md",
2563
+ "hash": "16076881737681040638"
2564
+ },
2565
+ {
2566
+ "file": "packages/logger/package.json",
2567
+ "hash": "14992038562585199800",
2568
+ "deps": [
2569
+ "npm:winston@3.19.0"
2570
+ ]
2571
+ },
2572
+ {
2573
+ "file": "packages/logger/scripts/stats.js",
2574
+ "hash": "14633712956610723631"
2575
+ },
2576
+ {
2577
+ "file": "packages/logger/src/constants.ts",
2578
+ "hash": "9027236667651974941"
2579
+ },
2580
+ {
2581
+ "file": "packages/logger/src/index.ts",
2582
+ "hash": "5834074882708409826"
2583
+ },
2584
+ {
2585
+ "file": "packages/logger/src/logger.ts",
2586
+ "hash": "3288628780241056943"
2587
+ },
2588
+ {
2589
+ "file": "packages/logger/tsconfig.json",
2590
+ "hash": "14393573143758511966"
2512
2591
  }
2513
2592
  ],
2514
2593
  "@scrabble-solver/word-definitions": [
@@ -2518,7 +2597,7 @@
2518
2597
  },
2519
2598
  {
2520
2599
  "file": "packages/word-definitions/package.json",
2521
- "hash": "12288592728678462234",
2600
+ "hash": "4349228312636956779",
2522
2601
  "deps": [
2523
2602
  "npm:@types/follow-redirects@1.14.4",
2524
2603
  "npm:domhandler@6.0.1",
@@ -2729,128 +2808,25 @@
2729
2808
  "hash": "14393573143758511966"
2730
2809
  }
2731
2810
  ],
2732
- "@scrabble-solver/solver": [
2733
- {
2734
- "file": "packages/solver/README.md",
2735
- "hash": "6318233837788889254"
2736
- },
2737
- {
2738
- "file": "packages/solver/package.json",
2739
- "hash": "15693686895116958572",
2740
- "deps": [
2741
- "@scrabble-solver/configs",
2742
- "@scrabble-solver/constants",
2743
- "@scrabble-solver/dictionaries",
2744
- "npm:@kamilmielnik/trie",
2745
- "@scrabble-solver/types"
2746
- ]
2747
- },
2748
- {
2749
- "file": "packages/solver/src/areDigraphsValid.ts",
2750
- "hash": "17911461370524796971"
2751
- },
2752
- {
2753
- "file": "packages/solver/src/fillPattern.test.ts",
2754
- "hash": "4477468782106446915"
2755
- },
2756
- {
2757
- "file": "packages/solver/src/fillPattern.ts",
2758
- "hash": "15177226446481312023"
2759
- },
2760
- {
2761
- "file": "packages/solver/src/generateEndIndices.test.ts",
2762
- "hash": "12130972718518554994"
2763
- },
2764
- {
2765
- "file": "packages/solver/src/generateEndIndices.ts",
2766
- "hash": "12841490043100096469"
2767
- },
2768
- {
2769
- "file": "packages/solver/src/generateHorizontalPatterns.test.ts",
2770
- "hash": "717679022592491987"
2771
- },
2772
- {
2773
- "file": "packages/solver/src/generateHorizontalPatterns.ts",
2774
- "hash": "10436338353945184738"
2775
- },
2776
- {
2777
- "file": "packages/solver/src/generatePattern.ts",
2778
- "hash": "13498176302195077900"
2779
- },
2780
- {
2781
- "file": "packages/solver/src/generatePatterns.test.ts",
2782
- "hash": "15842771731914496051"
2783
- },
2784
- {
2785
- "file": "packages/solver/src/generatePatterns.ts",
2786
- "hash": "13822340639746474023"
2787
- },
2788
- {
2789
- "file": "packages/solver/src/generateStartIndices.test.ts",
2790
- "hash": "2839947820693391454"
2791
- },
2792
- {
2793
- "file": "packages/solver/src/generateStartIndices.ts",
2794
- "hash": "628175214826968063"
2795
- },
2796
- {
2797
- "file": "packages/solver/src/generateVectors.test.ts",
2798
- "hash": "11705788717322154834"
2799
- },
2800
- {
2801
- "file": "packages/solver/src/generateVectors.ts",
2802
- "hash": "5477797573221758014"
2803
- },
2804
- {
2805
- "file": "packages/solver/src/generateVerticalPatterns.test.ts",
2806
- "hash": "3988503779827887326"
2807
- },
2808
- {
2809
- "file": "packages/solver/src/generateVerticalPatterns.ts",
2810
- "hash": "12740675117116939623"
2811
- },
2812
- {
2813
- "file": "packages/solver/src/getCellsScore.ts",
2814
- "hash": "9179761884086551124"
2815
- },
2816
- {
2817
- "file": "packages/solver/src/getPatternHash.test.ts",
2818
- "hash": "17706462911199900115"
2819
- },
2820
- {
2821
- "file": "packages/solver/src/getPatternHash.ts",
2822
- "hash": "2974072989791325574"
2823
- },
2824
- {
2825
- "file": "packages/solver/src/getPatternScore.test.ts",
2826
- "hash": "8608370367282363146"
2827
- },
2828
- {
2829
- "file": "packages/solver/src/getPatternScore.ts",
2830
- "hash": "10901283604074651384"
2831
- },
2832
- {
2833
- "file": "packages/solver/src/getUniquePatterns.ts",
2834
- "hash": "7652130179509678232"
2835
- },
2811
+ "@scrabble-solver/constants": [
2836
2812
  {
2837
- "file": "packages/solver/src/index.ts",
2838
- "hash": "3357521685581735076"
2813
+ "file": "packages/constants/README.md",
2814
+ "hash": "15117377322618686888"
2839
2815
  },
2840
2816
  {
2841
- "file": "packages/solver/src/solve.test.ts",
2842
- "hash": "13240498472653387083"
2817
+ "file": "packages/constants/package.json",
2818
+ "hash": "10267042407660031681"
2843
2819
  },
2844
2820
  {
2845
- "file": "packages/solver/src/solve.ts",
2846
- "hash": "17699651396487399378"
2821
+ "file": "packages/constants/src/index.ts",
2822
+ "hash": "2132305088706286749"
2847
2823
  },
2848
2824
  {
2849
- "file": "packages/solver/tsconfig.json",
2825
+ "file": "packages/constants/tsconfig.json",
2850
2826
  "hash": "14393573143758511966"
2851
2827
  }
2852
2828
  ]
2853
2829
  }
2854
2830
  },
2855
- "externalNodesHash": "18409185385596172877"
2831
+ "externalNodesHash": "2238755030430721894"
2856
2832
  }