scrabble-solver 2.15.2 → 2.15.4

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 (99) hide show
  1. package/.nx/workspace-data/file-map.json +319 -387
  2. package/.nx/workspace-data/lockfile.hash +1 -1
  3. package/.nx/workspace-data/nx_files.nxt +0 -0
  4. package/.nx/workspace-data/parsed-lock-file.json +878 -510
  5. package/.nx/workspace-data/project-graph.json +867 -488
  6. package/README.md +2 -2
  7. package/bump-version.js +1 -0
  8. package/cypress/e2e/bugs/352-dictionary-race-condition.ts +29 -0
  9. package/cypress/e2e/bugs.spec.cy.ts +1 -0
  10. package/lerna.json +1 -1
  11. package/package.json +10 -10
  12. package/packages/configs/package.json +3 -3
  13. package/packages/constants/package.json +1 -1
  14. package/packages/dictionaries/package.json +5 -5
  15. package/packages/logger/package.json +1 -1
  16. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  17. package/packages/scrabble-solver/.next/build-manifest.json +20 -19
  18. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -0
  19. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  20. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  21. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  22. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  23. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  27. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  28. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  29. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  30. package/packages/scrabble-solver/.next/diagnostics/build-diagnostics.json +6 -0
  31. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -0
  32. package/packages/scrabble-solver/.next/images-manifest.json +1 -1
  33. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -1
  34. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  35. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  36. package/packages/scrabble-solver/.next/required-server-files.json +1 -1
  37. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  38. package/packages/scrabble-solver/.next/server/chunks/331.js +4 -4
  39. package/packages/scrabble-solver/.next/server/chunks/577.js +1 -1
  40. package/packages/scrabble-solver/.next/server/chunks/67.js +1 -1
  41. package/packages/scrabble-solver/.next/server/chunks/964.js +1 -0
  42. package/packages/scrabble-solver/.next/server/functions-config-manifest.json +1 -1
  43. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  44. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  45. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  46. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -1
  47. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  48. package/packages/scrabble-solver/.next/server/pages/_document.js +1 -1
  49. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  50. package/packages/scrabble-solver/.next/server/pages/_error.js +1 -1
  51. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  52. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -2
  53. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  54. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -1
  55. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  56. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
  57. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  58. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
  59. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  60. package/packages/scrabble-solver/.next/server/pages/api/visit.js +1 -1
  61. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  62. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  63. package/packages/scrabble-solver/.next/server/pages/index.js +1 -1
  64. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  65. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  66. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
  67. package/packages/scrabble-solver/.next/static/chunks/framework-f09231abc7b3626e.js +1 -0
  68. package/packages/scrabble-solver/.next/static/chunks/main-6e8e32bd2f4e331c.js +1 -0
  69. package/packages/scrabble-solver/.next/static/chunks/pages/404-f6889310c253b0bd.js +1 -0
  70. package/packages/scrabble-solver/.next/static/chunks/pages/_app-fb5bb6aa71eaaa4e.js +1 -0
  71. package/packages/scrabble-solver/.next/static/chunks/pages/_error-3e47b8dbcedf0fd0.js +1 -0
  72. package/packages/scrabble-solver/.next/static/chunks/pages/index-6ef7d0f12c9321e2.js +1 -0
  73. package/packages/scrabble-solver/.next/static/chunks/webpack-a2ab570fe85c6bb6.js +1 -0
  74. package/packages/scrabble-solver/.next/static/css/{ac3349339fcf58f2.css → 35b36298aba4ccad.css} +1 -1
  75. package/packages/scrabble-solver/.next/static/ySzTsF3RIcISdWO2C2H3Z/_buildManifest.js +1 -0
  76. package/packages/scrabble-solver/.next/trace +23 -45
  77. package/packages/scrabble-solver/package.json +17 -17
  78. package/packages/scrabble-solver/public/logo.svg +1 -1
  79. package/packages/scrabble-solver/public/service-worker.js +2 -2
  80. package/packages/scrabble-solver/public/service-worker.js.map +1 -1
  81. package/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx +1 -1
  82. package/packages/scrabble-solver/src/components/Results/Results.module.scss +0 -12
  83. package/packages/scrabble-solver/src/state/sagas.ts +10 -2
  84. package/packages/solver/package.json +6 -6
  85. package/packages/types/package.json +2 -2
  86. package/packages/word-definitions/package.json +2 -2
  87. package/packages/word-lists/package.json +2 -2
  88. package/packages/scrabble-solver/.next/server/chunks/270.js +0 -1
  89. package/packages/scrabble-solver/.next/server/chunks/font-manifest.json +0 -1
  90. package/packages/scrabble-solver/.next/server/font-manifest.json +0 -1
  91. package/packages/scrabble-solver/.next/static/chunks/framework-a6ccb1a1ec9e2929.js +0 -1
  92. package/packages/scrabble-solver/.next/static/chunks/main-c1151d133706e805.js +0 -1
  93. package/packages/scrabble-solver/.next/static/chunks/pages/404-265f7e92b4e2919b.js +0 -1
  94. package/packages/scrabble-solver/.next/static/chunks/pages/_app-068cd3fad1d7e67c.js +0 -1
  95. package/packages/scrabble-solver/.next/static/chunks/pages/_error-640134e57f4bbbed.js +0 -1
  96. package/packages/scrabble-solver/.next/static/chunks/pages/index-2fcc3538f2186958.js +0 -1
  97. package/packages/scrabble-solver/.next/static/chunks/webpack-c4acd79e87956a0e.js +0 -1
  98. package/packages/scrabble-solver/.next/static/r3RN0rX9owEDaKjiYcjgy/_buildManifest.js +0 -1
  99. /package/packages/scrabble-solver/.next/static/{r3RN0rX9owEDaKjiYcjgy → ySzTsF3RIcISdWO2C2H3Z}/_ssgManifest.js +0 -0
@@ -2,15 +2,15 @@
2
2
  "version": "6.0",
3
3
  "nxVersion": "19.8.4",
4
4
  "deps": {
5
- "@scrabble-solver/scrabble-solver": "^2.15.2",
5
+ "@scrabble-solver/scrabble-solver": "^2.15.4",
6
6
  "concurrently": "^9.0.1",
7
7
  "open-cli": "^8.0.0",
8
- "@babel/core": "^7.25.7",
8
+ "@babel/core": "^7.25.9",
9
9
  "@babel/plugin-proposal-class-properties": "^7.18.6",
10
- "@babel/preset-env": "^7.25.7",
10
+ "@babel/preset-env": "^7.25.9",
11
11
  "@testing-library/cypress": "^10.0.2",
12
- "@types/jest": "^29.5.13",
13
- "@types/node": "^22.7.4",
12
+ "@types/jest": "^29.5.14",
13
+ "@types/node": "^22.7.9",
14
14
  "@typescript-eslint/eslint-plugin": "^7.16.0",
15
15
  "@typescript-eslint/parser": "^7.16.0",
16
16
  "cypress": "^13.15.0",
@@ -19,10 +19,10 @@
19
19
  "eslint-config-prettier": "^9.1.0",
20
20
  "eslint-import-resolver-node": "^0.3.9",
21
21
  "eslint-plugin-cypress": "^3.4.0",
22
- "eslint-plugin-import": "^2.29.1",
22
+ "eslint-plugin-import": "^2.31.0",
23
23
  "eslint-plugin-mocha": "^10.5.0",
24
24
  "eslint-plugin-prettier": "^5.2.1",
25
- "eslint-plugin-react": "^7.35.0",
25
+ "eslint-plugin-react": "^7.37.2",
26
26
  "eslint-plugin-react-hooks": "^4.6.2",
27
27
  "jest": "29.7.0",
28
28
  "lerna": "^8.1.8",
@@ -30,12 +30,92 @@
30
30
  "prettier": "^3.3.3",
31
31
  "rimraf": "^6.0.1",
32
32
  "ts-jest": "^29.2.5",
33
- "typescript": "^5.6.2"
33
+ "typescript": "^5.6.3"
34
34
  },
35
35
  "pathMappings": {},
36
36
  "nxJsonPlugins": [],
37
37
  "fileMap": {
38
38
  "projectFileMap": {
39
+ "@scrabble-solver/dictionaries": [
40
+ {
41
+ "file": "packages/dictionaries/README.md",
42
+ "hash": "4148063976304250953"
43
+ },
44
+ {
45
+ "file": "packages/dictionaries/bin/remove-dictionaries.js",
46
+ "hash": "2636661981756772217"
47
+ },
48
+ {
49
+ "file": "packages/dictionaries/bin/update-dictionaries.js",
50
+ "hash": "9641816824340442544"
51
+ },
52
+ {
53
+ "file": "packages/dictionaries/package.json",
54
+ "hash": "15789354452803245653",
55
+ "deps": [
56
+ "npm:@kamilmielnik/trie",
57
+ "@scrabble-solver/logger",
58
+ "@scrabble-solver/types",
59
+ "@scrabble-solver/word-lists"
60
+ ]
61
+ },
62
+ {
63
+ "file": "packages/dictionaries/src/Dictionaries.ts",
64
+ "hash": "2136752626770286355"
65
+ },
66
+ {
67
+ "file": "packages/dictionaries/src/constants/index.ts",
68
+ "hash": "12604354443457976176"
69
+ },
70
+ {
71
+ "file": "packages/dictionaries/src/index.ts",
72
+ "hash": "2109487961393742179"
73
+ },
74
+ {
75
+ "file": "packages/dictionaries/src/lib/DiskCache.ts",
76
+ "hash": "2227962496923642356"
77
+ },
78
+ {
79
+ "file": "packages/dictionaries/src/lib/LayeredCache.ts",
80
+ "hash": "3051108421181356176"
81
+ },
82
+ {
83
+ "file": "packages/dictionaries/src/lib/MemoryCache.ts",
84
+ "hash": "1948674580289004545"
85
+ },
86
+ {
87
+ "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
88
+ "hash": "17426392025257462855"
89
+ },
90
+ {
91
+ "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
92
+ "hash": "8859185881215777069"
93
+ },
94
+ {
95
+ "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
96
+ "hash": "16339037688448420742"
97
+ },
98
+ {
99
+ "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
100
+ "hash": "1917411653209106902"
101
+ },
102
+ {
103
+ "file": "packages/dictionaries/src/lib/index.ts",
104
+ "hash": "11875723814486972133"
105
+ },
106
+ {
107
+ "file": "packages/dictionaries/src/types/Cache.ts",
108
+ "hash": "12316856125772709891"
109
+ },
110
+ {
111
+ "file": "packages/dictionaries/src/types/index.ts",
112
+ "hash": "10228410769055936219"
113
+ },
114
+ {
115
+ "file": "packages/dictionaries/tsconfig.json",
116
+ "hash": "14393573143758511966"
117
+ }
118
+ ],
39
119
  "@scrabble-solver/types": [
40
120
  {
41
121
  "file": "packages/types/README.md",
@@ -43,7 +123,7 @@
43
123
  },
44
124
  {
45
125
  "file": "packages/types/package.json",
46
- "hash": "15723287747727025906",
126
+ "hash": "14910435942292261567",
47
127
  "deps": [
48
128
  "@scrabble-solver/constants"
49
129
  ]
@@ -188,7 +268,7 @@
188
268
  },
189
269
  {
190
270
  "file": "packages/constants/package.json",
191
- "hash": "9819045149592925523"
271
+ "hash": "14025196269059641378"
192
272
  },
193
273
  {
194
274
  "file": "packages/constants/src/index.ts",
@@ -199,152 +279,6 @@
199
279
  "hash": "14393573143758511966"
200
280
  }
201
281
  ],
202
- "@scrabble-solver/word-lists": [
203
- {
204
- "file": "packages/word-lists/README.md",
205
- "hash": "16055975283152607821"
206
- },
207
- {
208
- "file": "packages/word-lists/package.json",
209
- "hash": "12965802849025115009",
210
- "deps": [
211
- "npm:@types/follow-redirects",
212
- "npm:@types/latinize",
213
- "npm:@types/unzipper",
214
- "@scrabble-solver/types",
215
- "npm:cheerio",
216
- "npm:follow-redirects",
217
- "npm:latinize",
218
- "npm:unzipper"
219
- ]
220
- },
221
- {
222
- "file": "packages/word-lists/src/getWordList.ts",
223
- "hash": "10304524630809776049"
224
- },
225
- {
226
- "file": "packages/word-lists/src/index.ts",
227
- "hash": "8042340231609296722"
228
- },
229
- {
230
- "file": "packages/word-lists/src/languages/english.ts",
231
- "hash": "2481390322130638642"
232
- },
233
- {
234
- "file": "packages/word-lists/src/languages/french.ts",
235
- "hash": "5709228979885382440"
236
- },
237
- {
238
- "file": "packages/word-lists/src/languages/german.ts",
239
- "hash": "15796960817923996735"
240
- },
241
- {
242
- "file": "packages/word-lists/src/languages/index.ts",
243
- "hash": "632033483089466746"
244
- },
245
- {
246
- "file": "packages/word-lists/src/languages/persian.ts",
247
- "hash": "15843050793712953655"
248
- },
249
- {
250
- "file": "packages/word-lists/src/languages/polish.ts",
251
- "hash": "4640703681394255402"
252
- },
253
- {
254
- "file": "packages/word-lists/src/languages/romanian.ts",
255
- "hash": "17371976651084460491"
256
- },
257
- {
258
- "file": "packages/word-lists/src/languages/spanish.ts",
259
- "hash": "4138652487389278515"
260
- },
261
- {
262
- "file": "packages/word-lists/src/languages/turkish.ts",
263
- "hash": "234257834486019779"
264
- },
265
- {
266
- "file": "packages/word-lists/src/lib/downloadFile.ts",
267
- "hash": "1606271890623053959"
268
- },
269
- {
270
- "file": "packages/word-lists/src/lib/downloadHtml.ts",
271
- "hash": "18361092434131929887"
272
- },
273
- {
274
- "file": "packages/word-lists/src/lib/extractWords.ts",
275
- "hash": "18130541634105493192"
276
- },
277
- {
278
- "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
279
- "hash": "8631763313757125016"
280
- },
281
- {
282
- "file": "packages/word-lists/src/lib/getHash.ts",
283
- "hash": "13620700633138618261"
284
- },
285
- {
286
- "file": "packages/word-lists/src/lib/getTempFilepath.ts",
287
- "hash": "17585702428857166492"
288
- },
289
- {
290
- "file": "packages/word-lists/src/lib/getTxtWordList.ts",
291
- "hash": "11194179918214072618"
292
- },
293
- {
294
- "file": "packages/word-lists/src/lib/index.ts",
295
- "hash": "5513402095979090244"
296
- },
297
- {
298
- "file": "packages/word-lists/src/lib/latinizeDiacritics.ts",
299
- "hash": "1791849477319616904"
300
- },
301
- {
302
- "file": "packages/word-lists/src/lib/unique.ts",
303
- "hash": "11883570690444952975"
304
- },
305
- {
306
- "file": "packages/word-lists/src/lib/unzip.ts",
307
- "hash": "7204953269649771597"
308
- },
309
- {
310
- "file": "packages/word-lists/tsconfig.json",
311
- "hash": "14393573143758511966"
312
- }
313
- ],
314
- "@scrabble-solver/logger": [
315
- {
316
- "file": "packages/logger/README.md",
317
- "hash": "16076881737681040638"
318
- },
319
- {
320
- "file": "packages/logger/package.json",
321
- "hash": "15194438498512883849",
322
- "deps": [
323
- "npm:@types/winston",
324
- "npm:winston"
325
- ]
326
- },
327
- {
328
- "file": "packages/logger/scripts/stats.js",
329
- "hash": "14633712956610723631"
330
- },
331
- {
332
- "file": "packages/logger/src/constants.ts",
333
- "hash": "9027236667651974941"
334
- },
335
- {
336
- "file": "packages/logger/src/index.ts",
337
- "hash": "15185638158434113307"
338
- },
339
- {
340
- "file": "packages/logger/src/logger.ts",
341
- "hash": "7138638756353737317"
342
- },
343
- {
344
- "file": "packages/logger/tsconfig.json",
345
- "hash": "14393573143758511966"
346
- }
347
- ],
348
282
  "@scrabble-solver/word-definitions": [
349
283
  {
350
284
  "file": "packages/word-definitions/README.md",
@@ -352,7 +286,7 @@
352
286
  },
353
287
  {
354
288
  "file": "packages/word-definitions/package.json",
355
- "hash": "7129648604114717946",
289
+ "hash": "13195998595963930069",
356
290
  "deps": [
357
291
  "npm:@types/follow-redirects",
358
292
  "npm:domhandler",
@@ -562,7 +496,7 @@
562
496
  },
563
497
  {
564
498
  "file": "packages/solver/package.json",
565
- "hash": "1143489565049170629",
499
+ "hash": "10166711517346586349",
566
500
  "deps": [
567
501
  "@scrabble-solver/configs",
568
502
  "@scrabble-solver/constants",
@@ -636,123 +570,275 @@
636
570
  "hash": "12531562020518966018"
637
571
  },
638
572
  {
639
- "file": "packages/solver/src/getCellsScore.ts",
640
- "hash": "5469559674538280708"
573
+ "file": "packages/solver/src/getCellsScore.ts",
574
+ "hash": "5469559674538280708"
575
+ },
576
+ {
577
+ "file": "packages/solver/src/getPatternHash.test.ts",
578
+ "hash": "16537135204833248488"
579
+ },
580
+ {
581
+ "file": "packages/solver/src/getPatternHash.ts",
582
+ "hash": "15661610244682435057"
583
+ },
584
+ {
585
+ "file": "packages/solver/src/getPatternScore.test.ts",
586
+ "hash": "11243230316631404996"
587
+ },
588
+ {
589
+ "file": "packages/solver/src/getPatternScore.ts",
590
+ "hash": "6633752663331331064"
591
+ },
592
+ {
593
+ "file": "packages/solver/src/getUniquePatterns.ts",
594
+ "hash": "14182107880131983110"
595
+ },
596
+ {
597
+ "file": "packages/solver/src/index.ts",
598
+ "hash": "11668835763077141031"
599
+ },
600
+ {
601
+ "file": "packages/solver/src/solve.test.ts",
602
+ "hash": "7573100315007364571"
603
+ },
604
+ {
605
+ "file": "packages/solver/src/solve.ts",
606
+ "hash": "13332781803753267271"
607
+ },
608
+ {
609
+ "file": "packages/solver/tsconfig.json",
610
+ "hash": "14393573143758511966"
611
+ }
612
+ ],
613
+ "@scrabble-solver/word-lists": [
614
+ {
615
+ "file": "packages/word-lists/README.md",
616
+ "hash": "16055975283152607821"
617
+ },
618
+ {
619
+ "file": "packages/word-lists/package.json",
620
+ "hash": "2348890943413663477",
621
+ "deps": [
622
+ "npm:@types/follow-redirects",
623
+ "npm:@types/latinize",
624
+ "npm:@types/unzipper",
625
+ "@scrabble-solver/types",
626
+ "npm:cheerio",
627
+ "npm:follow-redirects",
628
+ "npm:latinize",
629
+ "npm:unzipper"
630
+ ]
631
+ },
632
+ {
633
+ "file": "packages/word-lists/src/getWordList.ts",
634
+ "hash": "10304524630809776049"
635
+ },
636
+ {
637
+ "file": "packages/word-lists/src/index.ts",
638
+ "hash": "8042340231609296722"
639
+ },
640
+ {
641
+ "file": "packages/word-lists/src/languages/english.ts",
642
+ "hash": "2481390322130638642"
643
+ },
644
+ {
645
+ "file": "packages/word-lists/src/languages/french.ts",
646
+ "hash": "5709228979885382440"
647
+ },
648
+ {
649
+ "file": "packages/word-lists/src/languages/german.ts",
650
+ "hash": "15796960817923996735"
651
+ },
652
+ {
653
+ "file": "packages/word-lists/src/languages/index.ts",
654
+ "hash": "632033483089466746"
655
+ },
656
+ {
657
+ "file": "packages/word-lists/src/languages/persian.ts",
658
+ "hash": "15843050793712953655"
659
+ },
660
+ {
661
+ "file": "packages/word-lists/src/languages/polish.ts",
662
+ "hash": "4640703681394255402"
663
+ },
664
+ {
665
+ "file": "packages/word-lists/src/languages/romanian.ts",
666
+ "hash": "17371976651084460491"
667
+ },
668
+ {
669
+ "file": "packages/word-lists/src/languages/spanish.ts",
670
+ "hash": "4138652487389278515"
671
+ },
672
+ {
673
+ "file": "packages/word-lists/src/languages/turkish.ts",
674
+ "hash": "234257834486019779"
675
+ },
676
+ {
677
+ "file": "packages/word-lists/src/lib/downloadFile.ts",
678
+ "hash": "1606271890623053959"
679
+ },
680
+ {
681
+ "file": "packages/word-lists/src/lib/downloadHtml.ts",
682
+ "hash": "18361092434131929887"
683
+ },
684
+ {
685
+ "file": "packages/word-lists/src/lib/extractWords.ts",
686
+ "hash": "18130541634105493192"
687
+ },
688
+ {
689
+ "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
690
+ "hash": "8631763313757125016"
691
+ },
692
+ {
693
+ "file": "packages/word-lists/src/lib/getHash.ts",
694
+ "hash": "13620700633138618261"
695
+ },
696
+ {
697
+ "file": "packages/word-lists/src/lib/getTempFilepath.ts",
698
+ "hash": "17585702428857166492"
699
+ },
700
+ {
701
+ "file": "packages/word-lists/src/lib/getTxtWordList.ts",
702
+ "hash": "11194179918214072618"
703
+ },
704
+ {
705
+ "file": "packages/word-lists/src/lib/index.ts",
706
+ "hash": "5513402095979090244"
707
+ },
708
+ {
709
+ "file": "packages/word-lists/src/lib/latinizeDiacritics.ts",
710
+ "hash": "1791849477319616904"
711
+ },
712
+ {
713
+ "file": "packages/word-lists/src/lib/unique.ts",
714
+ "hash": "11883570690444952975"
641
715
  },
642
716
  {
643
- "file": "packages/solver/src/getPatternHash.test.ts",
644
- "hash": "16537135204833248488"
717
+ "file": "packages/word-lists/src/lib/unzip.ts",
718
+ "hash": "7204953269649771597"
645
719
  },
646
720
  {
647
- "file": "packages/solver/src/getPatternHash.ts",
648
- "hash": "15661610244682435057"
721
+ "file": "packages/word-lists/tsconfig.json",
722
+ "hash": "14393573143758511966"
723
+ }
724
+ ],
725
+ "@scrabble-solver/configs": [
726
+ {
727
+ "file": "packages/configs/README.md",
728
+ "hash": "6408492212348349035"
649
729
  },
650
730
  {
651
- "file": "packages/solver/src/getPatternScore.test.ts",
652
- "hash": "11243230316631404996"
731
+ "file": "packages/configs/package.json",
732
+ "hash": "6144451888561504463",
733
+ "deps": [
734
+ "@scrabble-solver/constants",
735
+ "@scrabble-solver/types"
736
+ ]
653
737
  },
654
738
  {
655
- "file": "packages/solver/src/getPatternScore.ts",
656
- "hash": "6633752663331331064"
739
+ "file": "packages/configs/src/games/index.ts",
740
+ "hash": "3362665534610527442"
657
741
  },
658
742
  {
659
- "file": "packages/solver/src/getUniquePatterns.ts",
660
- "hash": "14182107880131983110"
743
+ "file": "packages/configs/src/games/kelimelik.ts",
744
+ "hash": "8594545037611382240"
661
745
  },
662
746
  {
663
- "file": "packages/solver/src/index.ts",
664
- "hash": "11668835763077141031"
747
+ "file": "packages/configs/src/games/literaki.ts",
748
+ "hash": "5296305767123400678"
665
749
  },
666
750
  {
667
- "file": "packages/solver/src/solve.test.ts",
668
- "hash": "7573100315007364571"
751
+ "file": "packages/configs/src/games/scrabble.ts",
752
+ "hash": "418444957443163713"
669
753
  },
670
754
  {
671
- "file": "packages/solver/src/solve.ts",
672
- "hash": "13332781803753267271"
755
+ "file": "packages/configs/src/games/superScrabble.ts",
756
+ "hash": "6367902121186465660"
673
757
  },
674
758
  {
675
- "file": "packages/solver/tsconfig.json",
676
- "hash": "14393573143758511966"
677
- }
678
- ],
679
- "@scrabble-solver/dictionaries": [
759
+ "file": "packages/configs/src/getConfig.ts",
760
+ "hash": "16327382875287704141"
761
+ },
680
762
  {
681
- "file": "packages/dictionaries/README.md",
682
- "hash": "4148063976304250953"
763
+ "file": "packages/configs/src/hasConfig.ts",
764
+ "hash": "13597098168111108392"
683
765
  },
684
766
  {
685
- "file": "packages/dictionaries/bin/remove-dictionaries.js",
686
- "hash": "2636661981756772217"
767
+ "file": "packages/configs/src/index.ts",
768
+ "hash": "12104092412421460190"
687
769
  },
688
770
  {
689
- "file": "packages/dictionaries/bin/update-dictionaries.js",
690
- "hash": "9641816824340442544"
771
+ "file": "packages/configs/src/languages/english.ts",
772
+ "hash": "13409449178104096391"
691
773
  },
692
774
  {
693
- "file": "packages/dictionaries/package.json",
694
- "hash": "18238820981081335396",
695
- "deps": [
696
- "npm:@kamilmielnik/trie",
697
- "@scrabble-solver/logger",
698
- "@scrabble-solver/types",
699
- "@scrabble-solver/word-lists"
700
- ]
775
+ "file": "packages/configs/src/languages/french.ts",
776
+ "hash": "12248709442008050794"
701
777
  },
702
778
  {
703
- "file": "packages/dictionaries/src/Dictionaries.ts",
704
- "hash": "2136752626770286355"
779
+ "file": "packages/configs/src/languages/german.ts",
780
+ "hash": "15430977815804666604"
705
781
  },
706
782
  {
707
- "file": "packages/dictionaries/src/constants/index.ts",
708
- "hash": "12604354443457976176"
783
+ "file": "packages/configs/src/languages/index.ts",
784
+ "hash": "6554636328320279077"
709
785
  },
710
786
  {
711
- "file": "packages/dictionaries/src/index.ts",
712
- "hash": "2109487961393742179"
787
+ "file": "packages/configs/src/languages/persian.ts",
788
+ "hash": "1614638689491705120"
713
789
  },
714
790
  {
715
- "file": "packages/dictionaries/src/lib/DiskCache.ts",
716
- "hash": "2227962496923642356"
791
+ "file": "packages/configs/src/languages/polish.ts",
792
+ "hash": "17941542313550365356"
717
793
  },
718
794
  {
719
- "file": "packages/dictionaries/src/lib/LayeredCache.ts",
720
- "hash": "3051108421181356176"
795
+ "file": "packages/configs/src/languages/romanian.ts",
796
+ "hash": "15366974472215186064"
721
797
  },
722
798
  {
723
- "file": "packages/dictionaries/src/lib/MemoryCache.ts",
724
- "hash": "1948674580289004545"
799
+ "file": "packages/configs/src/languages/spanish.ts",
800
+ "hash": "289235670795048535"
725
801
  },
726
802
  {
727
- "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
728
- "hash": "17426392025257462855"
803
+ "file": "packages/configs/src/languages/turkish.ts",
804
+ "hash": "10240746041524805456"
729
805
  },
730
806
  {
731
- "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
732
- "hash": "8859185881215777069"
807
+ "file": "packages/configs/tsconfig.json",
808
+ "hash": "14393573143758511966"
809
+ }
810
+ ],
811
+ "@scrabble-solver/logger": [
812
+ {
813
+ "file": "packages/logger/README.md",
814
+ "hash": "16076881737681040638"
733
815
  },
734
816
  {
735
- "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
736
- "hash": "16339037688448420742"
817
+ "file": "packages/logger/package.json",
818
+ "hash": "8167862087440461121",
819
+ "deps": [
820
+ "npm:@types/winston",
821
+ "npm:winston"
822
+ ]
737
823
  },
738
824
  {
739
- "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
740
- "hash": "1917411653209106902"
825
+ "file": "packages/logger/scripts/stats.js",
826
+ "hash": "14633712956610723631"
741
827
  },
742
828
  {
743
- "file": "packages/dictionaries/src/lib/index.ts",
744
- "hash": "11875723814486972133"
829
+ "file": "packages/logger/src/constants.ts",
830
+ "hash": "9027236667651974941"
745
831
  },
746
832
  {
747
- "file": "packages/dictionaries/src/types/Cache.ts",
748
- "hash": "12316856125772709891"
833
+ "file": "packages/logger/src/index.ts",
834
+ "hash": "15185638158434113307"
749
835
  },
750
836
  {
751
- "file": "packages/dictionaries/src/types/index.ts",
752
- "hash": "10228410769055936219"
837
+ "file": "packages/logger/src/logger.ts",
838
+ "hash": "7138638756353737317"
753
839
  },
754
840
  {
755
- "file": "packages/dictionaries/tsconfig.json",
841
+ "file": "packages/logger/tsconfig.json",
756
842
  "hash": "14393573143758511966"
757
843
  }
758
844
  ],
@@ -783,7 +869,7 @@
783
869
  },
784
870
  {
785
871
  "file": "packages/scrabble-solver/package.json",
786
- "hash": "13521436411133795297",
872
+ "hash": "6598485933911136556",
787
873
  "deps": [
788
874
  "npm:@svgr/webpack",
789
875
  "npm:@types/classnames",
@@ -912,7 +998,7 @@
912
998
  },
913
999
  {
914
1000
  "file": "packages/scrabble-solver/public/logo.svg",
915
- "hash": "1665924829065179317"
1001
+ "hash": "1286344112830940878"
916
1002
  },
917
1003
  {
918
1004
  "file": "packages/scrabble-solver/public/og.png",
@@ -1272,7 +1358,7 @@
1272
1358
  },
1273
1359
  {
1274
1360
  "file": "packages/scrabble-solver/src/components/PlainTiles/Tile.tsx",
1275
- "hash": "9831296024605431174"
1361
+ "hash": "13921872076072784014"
1276
1362
  },
1277
1363
  {
1278
1364
  "file": "packages/scrabble-solver/src/components/PlainTiles/index.ts",
@@ -1392,7 +1478,7 @@
1392
1478
  },
1393
1479
  {
1394
1480
  "file": "packages/scrabble-solver/src/components/Results/Results.module.scss",
1395
- "hash": "18418727478313567548"
1481
+ "hash": "8928631303250550804"
1396
1482
  },
1397
1483
  {
1398
1484
  "file": "packages/scrabble-solver/src/components/Results/Results.tsx",
@@ -2332,7 +2418,7 @@
2332
2418
  },
2333
2419
  {
2334
2420
  "file": "packages/scrabble-solver/src/state/sagas.ts",
2335
- "hash": "18223337912097101256"
2421
+ "hash": "6234339909819717585"
2336
2422
  },
2337
2423
  {
2338
2424
  "file": "packages/scrabble-solver/src/state/selectors.ts",
@@ -2450,92 +2536,6 @@
2450
2536
  "file": "packages/scrabble-solver/tsconfig.json",
2451
2537
  "hash": "8330819644409127623"
2452
2538
  }
2453
- ],
2454
- "@scrabble-solver/configs": [
2455
- {
2456
- "file": "packages/configs/README.md",
2457
- "hash": "6408492212348349035"
2458
- },
2459
- {
2460
- "file": "packages/configs/package.json",
2461
- "hash": "9010964178386239965",
2462
- "deps": [
2463
- "@scrabble-solver/constants",
2464
- "@scrabble-solver/types"
2465
- ]
2466
- },
2467
- {
2468
- "file": "packages/configs/src/games/index.ts",
2469
- "hash": "3362665534610527442"
2470
- },
2471
- {
2472
- "file": "packages/configs/src/games/kelimelik.ts",
2473
- "hash": "8594545037611382240"
2474
- },
2475
- {
2476
- "file": "packages/configs/src/games/literaki.ts",
2477
- "hash": "5296305767123400678"
2478
- },
2479
- {
2480
- "file": "packages/configs/src/games/scrabble.ts",
2481
- "hash": "418444957443163713"
2482
- },
2483
- {
2484
- "file": "packages/configs/src/games/superScrabble.ts",
2485
- "hash": "6367902121186465660"
2486
- },
2487
- {
2488
- "file": "packages/configs/src/getConfig.ts",
2489
- "hash": "16327382875287704141"
2490
- },
2491
- {
2492
- "file": "packages/configs/src/hasConfig.ts",
2493
- "hash": "13597098168111108392"
2494
- },
2495
- {
2496
- "file": "packages/configs/src/index.ts",
2497
- "hash": "12104092412421460190"
2498
- },
2499
- {
2500
- "file": "packages/configs/src/languages/english.ts",
2501
- "hash": "13409449178104096391"
2502
- },
2503
- {
2504
- "file": "packages/configs/src/languages/french.ts",
2505
- "hash": "12248709442008050794"
2506
- },
2507
- {
2508
- "file": "packages/configs/src/languages/german.ts",
2509
- "hash": "15430977815804666604"
2510
- },
2511
- {
2512
- "file": "packages/configs/src/languages/index.ts",
2513
- "hash": "6554636328320279077"
2514
- },
2515
- {
2516
- "file": "packages/configs/src/languages/persian.ts",
2517
- "hash": "1614638689491705120"
2518
- },
2519
- {
2520
- "file": "packages/configs/src/languages/polish.ts",
2521
- "hash": "17941542313550365356"
2522
- },
2523
- {
2524
- "file": "packages/configs/src/languages/romanian.ts",
2525
- "hash": "15366974472215186064"
2526
- },
2527
- {
2528
- "file": "packages/configs/src/languages/spanish.ts",
2529
- "hash": "289235670795048535"
2530
- },
2531
- {
2532
- "file": "packages/configs/src/languages/turkish.ts",
2533
- "hash": "10240746041524805456"
2534
- },
2535
- {
2536
- "file": "packages/configs/tsconfig.json",
2537
- "hash": "14393573143758511966"
2538
- }
2539
2539
  ]
2540
2540
  },
2541
2541
  "nonProjectFiles": [
@@ -2569,7 +2569,7 @@
2569
2569
  },
2570
2570
  {
2571
2571
  "file": ".gitignore",
2572
- "hash": "11656248390748678883"
2572
+ "hash": "4781348963366882001"
2573
2573
  },
2574
2574
  {
2575
2575
  "file": ".npmignore",
@@ -2597,7 +2597,7 @@
2597
2597
  },
2598
2598
  {
2599
2599
  "file": "README.md",
2600
- "hash": "7686863992581741160"
2600
+ "hash": "16029494213416126137"
2601
2601
  },
2602
2602
  {
2603
2603
  "file": "babel.config.js",
@@ -2609,80 +2609,12 @@
2609
2609
  },
2610
2610
  {
2611
2611
  "file": "bump-version.js",
2612
- "hash": "7321884763554065219"
2612
+ "hash": "6498467460533282919"
2613
2613
  },
2614
2614
  {
2615
2615
  "file": "cypress.config.ts",
2616
2616
  "hash": "9850295321379881733"
2617
2617
  },
2618
- {
2619
- "file": "cypress/e2e/app.spec.cy.ts",
2620
- "hash": "14205178019875823902"
2621
- },
2622
- {
2623
- "file": "cypress/e2e/bugs.spec.cy.ts",
2624
- "hash": "17988598125539678801"
2625
- },
2626
- {
2627
- "file": "cypress/e2e/bugs/112-character-bonus.ts",
2628
- "hash": "7144866814341355219"
2629
- },
2630
- {
2631
- "file": "cypress/e2e/bugs/129-esc-sidebar.ts",
2632
- "hash": "18135998467496795464"
2633
- },
2634
- {
2635
- "file": "cypress/e2e/bugs/2-q-tile-in-english.ts",
2636
- "hash": "624714559301130687"
2637
- },
2638
- {
2639
- "file": "cypress/e2e/bugs/3-x-tile-in-polish.ts",
2640
- "hash": "3146979637017447630"
2641
- },
2642
- {
2643
- "file": "cypress/e2e/bugs/30-click-inside-radio-icon.ts",
2644
- "hash": "14735649149345694300"
2645
- },
2646
- {
2647
- "file": "cypress/e2e/bugs/333-disabled-radio-cursor.ts",
2648
- "hash": "7270913361717937665"
2649
- },
2650
- {
2651
- "file": "cypress/e2e/bugs/342-results-sorting.ts",
2652
- "hash": "4468745648155579488"
2653
- },
2654
- {
2655
- "file": "cypress/e2e/bugs/348-results-word-padding.ts",
2656
- "hash": "6446018906872213060"
2657
- },
2658
- {
2659
- "file": "cypress/support/commands.ts",
2660
- "hash": "576911436208964402"
2661
- },
2662
- {
2663
- "file": "cypress/support/e2e.ts",
2664
- "hash": "11404878494790355861"
2665
- },
2666
- {
2667
- "file": "cypress/support/index.ts",
2668
- "hash": "14428353282588746736"
2669
- },
2670
- {
2671
- "file": "cypress/support/lib/actions.ts",
2672
- "hash": "16072625967975215639"
2673
- },
2674
- {
2675
- "file": "cypress/support/lib/index.ts",
2676
- "hash": "14256056309923157734"
2677
- },
2678
- {
2679
- "file": "cypress/support/lib/selectors.ts",
2680
- "hash": "7053859308032022873"
2681
- },
2682
- {
2683
- "file": "cypress/tsconfig.json",
2684
- "hash": "10152335760390087973"
2685
- },
2686
2618
  {
2687
2619
  "file": "jest.config.js",
2688
2620
  "hash": "13727107834875347144"
@@ -2693,7 +2625,7 @@
2693
2625
  },
2694
2626
  {
2695
2627
  "file": "lerna.json",
2696
- "hash": "2972624829146267582"
2628
+ "hash": "4204997012412643792"
2697
2629
  },
2698
2630
  {
2699
2631
  "file": "nx.json",
@@ -2701,11 +2633,11 @@
2701
2633
  },
2702
2634
  {
2703
2635
  "file": "package-lock.json",
2704
- "hash": "10480009539071464920"
2636
+ "hash": "13373915951072126968"
2705
2637
  },
2706
2638
  {
2707
2639
  "file": "package.json",
2708
- "hash": "18152939754479013784"
2640
+ "hash": "834798573812881247"
2709
2641
  },
2710
2642
  {
2711
2643
  "file": "screencast.gif",