scrabble-solver 2.15.5 → 2.15.7

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 (111) hide show
  1. package/.nx/workspace-data/file-map.json +562 -517
  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 +1409 -1251
  5. package/.nx/workspace-data/project-graph.json +1445 -1294
  6. package/cypress/e2e/bugs/363-dictionary-input-unique-words.ts +1 -1
  7. package/lerna.json +1 -1
  8. package/package.json +15 -15
  9. package/packages/configs/build/getConfig.js +17 -7
  10. package/packages/configs/build/hasConfig.js +17 -7
  11. package/packages/configs/build/index.js +17 -7
  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 +2 -2
  16. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  17. package/packages/scrabble-solver/.next/build-manifest.json +19 -19
  18. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  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/framework.json +1 -1
  31. package/packages/scrabble-solver/.next/dynamic-css-manifest.json +1 -0
  32. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -1
  33. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  34. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  35. package/packages/scrabble-solver/.next/required-server-files.json +1 -1
  36. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  37. package/packages/scrabble-solver/.next/server/chunks/268.js +1 -0
  38. package/packages/scrabble-solver/.next/server/chunks/338.js +1 -0
  39. package/packages/scrabble-solver/.next/server/chunks/475.js +1 -0
  40. package/packages/scrabble-solver/.next/server/chunks/671.js +1 -0
  41. package/packages/scrabble-solver/.next/server/chunks/918.js +6 -0
  42. package/packages/scrabble-solver/.next/server/dynamic-css-manifest.js +1 -0
  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/404.js.nft.json +1 -1
  46. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  47. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -1
  48. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  49. package/packages/scrabble-solver/.next/server/pages/_document.js +1 -1
  50. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  51. package/packages/scrabble-solver/.next/server/pages/_error.js +1 -1
  52. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  53. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -2
  54. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  55. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -1
  56. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  57. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
  58. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  59. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
  60. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  61. package/packages/scrabble-solver/.next/server/pages/api/visit.js +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/server/webpack-api-runtime.js +1 -1
  68. package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -1
  69. package/packages/scrabble-solver/.next/static/{_5S9YxXzM3OLRGGJe0qQv → 5c493G10XdtlGHgrE69j-}/_buildManifest.js +1 -1
  70. package/packages/scrabble-solver/.next/static/chunks/framework-a420e8a7ab1ff8f6.js +1 -0
  71. package/packages/scrabble-solver/.next/static/chunks/main-0a66dcd72e98c8bf.js +1 -0
  72. package/packages/scrabble-solver/.next/static/chunks/pages/404-b2ecf95b00886c78.js +1 -0
  73. package/packages/scrabble-solver/.next/static/chunks/pages/_app-91b517771d5e764e.js +1 -0
  74. package/packages/scrabble-solver/.next/static/chunks/pages/_error-877a1ee1e2db51ac.js +1 -0
  75. package/packages/scrabble-solver/.next/static/chunks/pages/index-d8b6bcd4d9c822f9.js +1 -0
  76. package/packages/scrabble-solver/.next/static/chunks/{webpack-a2ab570fe85c6bb6.js → webpack-4224e970a97a4a86.js} +1 -1
  77. package/packages/scrabble-solver/.next/static/css/a02403121f240af4.css +2 -0
  78. package/packages/scrabble-solver/.next/trace +23 -23
  79. package/packages/scrabble-solver/next-env.d.ts +1 -1
  80. package/packages/scrabble-solver/package.json +23 -23
  81. package/packages/scrabble-solver/public/service-worker.js +2 -2
  82. package/packages/scrabble-solver/public/service-worker.js.map +1 -1
  83. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +1 -1
  84. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +1 -1
  85. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +2 -2
  86. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +9 -1
  87. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx +3 -0
  88. package/packages/scrabble-solver/src/components/Rack/Rack.tsx +5 -2
  89. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx +1 -1
  90. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +1 -1
  91. package/packages/scrabble-solver/src/hooks/useAppLayout.ts +3 -0
  92. package/packages/scrabble-solver/src/pages/api/solve.ts +1 -0
  93. package/packages/solver/package.json +6 -6
  94. package/packages/types/package.json +2 -2
  95. package/packages/word-definitions/build/languages/index.js +17 -7
  96. package/packages/word-definitions/package.json +2 -2
  97. package/packages/word-lists/build/languages/index.js +17 -7
  98. package/packages/word-lists/package.json +2 -2
  99. package/packages/scrabble-solver/.next/server/chunks/331.js +0 -6
  100. package/packages/scrabble-solver/.next/server/chunks/577.js +0 -1
  101. package/packages/scrabble-solver/.next/server/chunks/67.js +0 -1
  102. package/packages/scrabble-solver/.next/server/chunks/911.js +0 -1
  103. package/packages/scrabble-solver/.next/server/chunks/964.js +0 -1
  104. package/packages/scrabble-solver/.next/static/chunks/framework-f09231abc7b3626e.js +0 -1
  105. package/packages/scrabble-solver/.next/static/chunks/main-6e8e32bd2f4e331c.js +0 -1
  106. package/packages/scrabble-solver/.next/static/chunks/pages/404-f6889310c253b0bd.js +0 -1
  107. package/packages/scrabble-solver/.next/static/chunks/pages/_app-c960503f8645e1de.js +0 -1
  108. package/packages/scrabble-solver/.next/static/chunks/pages/_error-3e47b8dbcedf0fd0.js +0 -1
  109. package/packages/scrabble-solver/.next/static/chunks/pages/index-817f862d5980cebe.js +0 -1
  110. package/packages/scrabble-solver/.next/static/css/a7aa574f03b29f75.css +0 -2
  111. /package/packages/scrabble-solver/.next/static/{_5S9YxXzM3OLRGGJe0qQv → 5c493G10XdtlGHgrE69j-}/_ssgManifest.js +0 -0
@@ -1,646 +1,570 @@
1
1
  {
2
2
  "version": "6.0",
3
- "nxVersion": "19.8.4",
4
- "deps": {
5
- "@scrabble-solver/scrabble-solver": "^2.15.5",
6
- "concurrently": "^9.0.1",
7
- "open-cli": "^8.0.0",
8
- "@babel/core": "^7.26.0",
9
- "@babel/plugin-proposal-class-properties": "^7.18.6",
10
- "@babel/preset-env": "^7.26.0",
11
- "@testing-library/cypress": "^10.0.2",
12
- "@types/jest": "^29.5.14",
13
- "@types/node": "^22.8.1",
14
- "@typescript-eslint/eslint-plugin": "^7.16.0",
15
- "@typescript-eslint/parser": "^7.16.0",
16
- "cypress": "^13.15.1",
17
- "cypress-real-events": "^1.13.0",
18
- "eslint": "^8.57.0",
19
- "eslint-config-prettier": "^9.1.0",
20
- "eslint-import-resolver-node": "^0.3.9",
21
- "eslint-plugin-cypress": "^3.4.0",
22
- "eslint-plugin-import": "^2.31.0",
23
- "eslint-plugin-mocha": "^10.5.0",
24
- "eslint-plugin-prettier": "^5.2.1",
25
- "eslint-plugin-react": "^7.37.2",
26
- "eslint-plugin-react-hooks": "^4.6.2",
27
- "jest": "29.7.0",
28
- "lerna": "^8.1.8",
29
- "np": "^10.0.7",
30
- "prettier": "^3.3.3",
31
- "rimraf": "^6.0.1",
32
- "ts-jest": "^29.2.5",
33
- "typescript": "^5.6.3"
34
- },
3
+ "nxVersion": "20.0.7",
35
4
  "pathMappings": {},
36
5
  "nxJsonPlugins": [],
37
6
  "fileMap": {
38
7
  "projectFileMap": {
39
- "@scrabble-solver/constants": [
40
- {
41
- "file": "packages/constants/README.md",
42
- "hash": "15117377322618686888"
43
- },
44
- {
45
- "file": "packages/constants/package.json",
46
- "hash": "15744718395673599714"
47
- },
48
- {
49
- "file": "packages/constants/src/index.ts",
50
- "hash": "2132305088706286749"
51
- },
52
- {
53
- "file": "packages/constants/tsconfig.json",
54
- "hash": "14393573143758511966"
55
- }
56
- ],
57
- "@scrabble-solver/types": [
8
+ "@scrabble-solver/word-lists": [
58
9
  {
59
- "file": "packages/types/README.md",
60
- "hash": "5575595901601075739"
10
+ "file": "packages/word-lists/README.md",
11
+ "hash": "16055975283152607821"
61
12
  },
62
13
  {
63
- "file": "packages/types/package.json",
64
- "hash": "16875730242871526972",
14
+ "file": "packages/word-lists/package.json",
15
+ "hash": "6956861052073680783",
65
16
  "deps": [
66
- "@scrabble-solver/constants"
17
+ "npm:@types/follow-redirects",
18
+ "npm:@types/latinize",
19
+ "npm:@types/unzipper",
20
+ "@scrabble-solver/types",
21
+ "npm:cheerio",
22
+ "npm:follow-redirects",
23
+ "npm:latinize",
24
+ "npm:unzipper"
67
25
  ]
68
26
  },
69
27
  {
70
- "file": "packages/types/src/Board.ts",
71
- "hash": "1795332604975396535"
72
- },
73
- {
74
- "file": "packages/types/src/BoardJson.ts",
75
- "hash": "1359665109646627215"
76
- },
77
- {
78
- "file": "packages/types/src/Bonus.ts",
79
- "hash": "14560849351172359773"
80
- },
81
- {
82
- "file": "packages/types/src/BonusJson.ts",
83
- "hash": "1575918727309148320"
84
- },
85
- {
86
- "file": "packages/types/src/BonusValue.ts",
87
- "hash": "15451307830706113705"
88
- },
89
- {
90
- "file": "packages/types/src/Cell.ts",
91
- "hash": "1276566763292169051"
92
- },
93
- {
94
- "file": "packages/types/src/CellJson.ts",
95
- "hash": "3679634834026053001"
96
- },
97
- {
98
- "file": "packages/types/src/CharacterBonus.ts",
99
- "hash": "8565881441163555375"
100
- },
101
- {
102
- "file": "packages/types/src/Collision.ts",
103
- "hash": "9564281720964143272"
104
- },
105
- {
106
- "file": "packages/types/src/CollisionJson.ts",
107
- "hash": "939471763294242456"
108
- },
109
- {
110
- "file": "packages/types/src/Config.ts",
111
- "hash": "12815140928208194778"
28
+ "file": "packages/word-lists/src/getWordList.ts",
29
+ "hash": "10304524630809776049"
112
30
  },
113
31
  {
114
- "file": "packages/types/src/ConfigJson.ts",
115
- "hash": "16704913440082426373"
32
+ "file": "packages/word-lists/src/index.ts",
33
+ "hash": "8042340231609296722"
116
34
  },
117
35
  {
118
- "file": "packages/types/src/Dictionary.ts",
119
- "hash": "14504925191249237749"
36
+ "file": "packages/word-lists/src/languages/english.ts",
37
+ "hash": "2481390322130638642"
120
38
  },
121
39
  {
122
- "file": "packages/types/src/FinalPattern.ts",
123
- "hash": "9096251764064641557"
40
+ "file": "packages/word-lists/src/languages/french.ts",
41
+ "hash": "5709228979885382440"
124
42
  },
125
43
  {
126
- "file": "packages/types/src/Game.ts",
127
- "hash": "7507454659713837088"
44
+ "file": "packages/word-lists/src/languages/german.ts",
45
+ "hash": "15796960817923996735"
128
46
  },
129
47
  {
130
- "file": "packages/types/src/HorizontalPattern.ts",
131
- "hash": "15203164411175187561"
48
+ "file": "packages/word-lists/src/languages/index.ts",
49
+ "hash": "632033483089466746"
132
50
  },
133
51
  {
134
- "file": "packages/types/src/Locale.ts",
135
- "hash": "3776902042703910037"
52
+ "file": "packages/word-lists/src/languages/persian.ts",
53
+ "hash": "15843050793712953655"
136
54
  },
137
55
  {
138
- "file": "packages/types/src/Pattern.ts",
139
- "hash": "2088140037997729495"
56
+ "file": "packages/word-lists/src/languages/polish.ts",
57
+ "hash": "4640703681394255402"
140
58
  },
141
59
  {
142
- "file": "packages/types/src/PatternJson.ts",
143
- "hash": "3515858699694501238"
60
+ "file": "packages/word-lists/src/languages/romanian.ts",
61
+ "hash": "17371976651084460491"
144
62
  },
145
63
  {
146
- "file": "packages/types/src/Result.ts",
147
- "hash": "13932023092579950537"
64
+ "file": "packages/word-lists/src/languages/spanish.ts",
65
+ "hash": "4138652487389278515"
148
66
  },
149
67
  {
150
- "file": "packages/types/src/ResultJson.ts",
151
- "hash": "13503079789178597354"
68
+ "file": "packages/word-lists/src/languages/turkish.ts",
69
+ "hash": "234257834486019779"
152
70
  },
153
71
  {
154
- "file": "packages/types/src/ShowCoordinates.ts",
155
- "hash": "12006550712165286437"
72
+ "file": "packages/word-lists/src/lib/downloadFile.ts",
73
+ "hash": "1606271890623053959"
156
74
  },
157
75
  {
158
- "file": "packages/types/src/Tile.ts",
159
- "hash": "4190775870333742502"
76
+ "file": "packages/word-lists/src/lib/downloadHtml.ts",
77
+ "hash": "18361092434131929887"
160
78
  },
161
79
  {
162
- "file": "packages/types/src/TileConfig.ts",
163
- "hash": "10374442155071484805"
80
+ "file": "packages/word-lists/src/lib/extractWords.ts",
81
+ "hash": "18130541634105493192"
164
82
  },
165
83
  {
166
- "file": "packages/types/src/TileJson.ts",
167
- "hash": "13173879841328293830"
84
+ "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
85
+ "hash": "8631763313757125016"
168
86
  },
169
87
  {
170
- "file": "packages/types/src/VerticalPattern.ts",
171
- "hash": "11127026890946051461"
88
+ "file": "packages/word-lists/src/lib/getHash.ts",
89
+ "hash": "13620700633138618261"
172
90
  },
173
91
  {
174
- "file": "packages/types/src/WordBonus.ts",
175
- "hash": "12599656225920627697"
92
+ "file": "packages/word-lists/src/lib/getTempFilepath.ts",
93
+ "hash": "17585702428857166492"
176
94
  },
177
95
  {
178
- "file": "packages/types/src/WordDefinition.ts",
179
- "hash": "2884854777090603476"
96
+ "file": "packages/word-lists/src/lib/getTxtWordList.ts",
97
+ "hash": "11194179918214072618"
180
98
  },
181
99
  {
182
- "file": "packages/types/src/WordDefinitionJson.ts",
183
- "hash": "1400005282053154435"
100
+ "file": "packages/word-lists/src/lib/index.ts",
101
+ "hash": "5513402095979090244"
184
102
  },
185
103
  {
186
- "file": "packages/types/src/index.ts",
187
- "hash": "13454218577226827701"
104
+ "file": "packages/word-lists/src/lib/latinizeDiacritics.ts",
105
+ "hash": "1791849477319616904"
188
106
  },
189
107
  {
190
- "file": "packages/types/src/isError.ts",
191
- "hash": "12417306612988791594"
108
+ "file": "packages/word-lists/src/lib/unique.ts",
109
+ "hash": "11883570690444952975"
192
110
  },
193
111
  {
194
- "file": "packages/types/src/isObject.ts",
195
- "hash": "10915497605360683267"
112
+ "file": "packages/word-lists/src/lib/unzip.ts",
113
+ "hash": "7204953269649771597"
196
114
  },
197
115
  {
198
- "file": "packages/types/tsconfig.json",
116
+ "file": "packages/word-lists/tsconfig.json",
199
117
  "hash": "14393573143758511966"
200
118
  }
201
119
  ],
202
- "@scrabble-solver/solver": [
120
+ "@scrabble-solver/word-definitions": [
203
121
  {
204
- "file": "packages/solver/README.md",
205
- "hash": "6318233837788889254"
122
+ "file": "packages/word-definitions/README.md",
123
+ "hash": "17568556648423613638"
206
124
  },
207
125
  {
208
- "file": "packages/solver/package.json",
209
- "hash": "5469502235441035102",
126
+ "file": "packages/word-definitions/package.json",
127
+ "hash": "6937220879925947383",
210
128
  "deps": [
211
- "@scrabble-solver/configs",
212
- "@scrabble-solver/constants",
213
- "@scrabble-solver/dictionaries",
214
- "npm:@kamilmielnik/trie",
215
- "@scrabble-solver/types"
129
+ "npm:@types/follow-redirects",
130
+ "npm:domhandler",
131
+ "@scrabble-solver/types",
132
+ "npm:cheerio",
133
+ "npm:follow-redirects",
134
+ "npm:striptags"
216
135
  ]
217
136
  },
218
137
  {
219
- "file": "packages/solver/src/areDigraphsValid.ts",
220
- "hash": "13457862964347916637"
138
+ "file": "packages/word-definitions/src/__tests__/expected/de-DE.hm.json",
139
+ "hash": "10237785854707267601"
221
140
  },
222
141
  {
223
- "file": "packages/solver/src/fillPattern.test.ts",
224
- "hash": "18308630201824891078"
142
+ "file": "packages/word-definitions/src/__tests__/expected/de-DE.ho.json",
143
+ "hash": "12063011714052156607"
225
144
  },
226
145
  {
227
- "file": "packages/solver/src/fillPattern.ts",
228
- "hash": "13381827087689036026"
146
+ "file": "packages/word-definitions/src/__tests__/expected/de-DE.kolla.json",
147
+ "hash": "14885831526660416837"
229
148
  },
230
149
  {
231
- "file": "packages/solver/src/generateEndIndices.test.ts",
232
- "hash": "716600035678673968"
150
+ "file": "packages/word-definitions/src/__tests__/expected/de-DE.vom.json",
151
+ "hash": "15963236354499184653"
233
152
  },
234
153
  {
235
- "file": "packages/solver/src/generateEndIndices.ts",
236
- "hash": "10897046656592966960"
154
+ "file": "packages/word-definitions/src/__tests__/expected/en-US.awe.json",
155
+ "hash": "2017130325952579294"
237
156
  },
238
157
  {
239
- "file": "packages/solver/src/generateHorizontalPatterns.test.ts",
240
- "hash": "10704460008424185233"
158
+ "file": "packages/word-definitions/src/__tests__/expected/en-US.oe.json",
159
+ "hash": "1527154511551359551"
241
160
  },
242
161
  {
243
- "file": "packages/solver/src/generateHorizontalPatterns.ts",
244
- "hash": "8499404194545369806"
162
+ "file": "packages/word-definitions/src/__tests__/expected/en-US.pawn.json",
163
+ "hash": "8612683268042437243"
245
164
  },
246
165
  {
247
- "file": "packages/solver/src/generatePattern.ts",
248
- "hash": "876078988631156754"
166
+ "file": "packages/word-definitions/src/__tests__/expected/en-US.pawnee.json",
167
+ "hash": "12144477896570100005"
249
168
  },
250
169
  {
251
- "file": "packages/solver/src/generatePatterns.test.ts",
252
- "hash": "3673989014707179747"
170
+ "file": "packages/word-definitions/src/__tests__/expected/en-US.pean.json",
171
+ "hash": "10905416600185181615"
253
172
  },
254
173
  {
255
- "file": "packages/solver/src/generatePatterns.ts",
256
- "hash": "16439966106146568683"
174
+ "file": "packages/word-definitions/src/__tests__/expected/en-US.wiz.json",
175
+ "hash": "13932860784730999389"
257
176
  },
258
177
  {
259
- "file": "packages/solver/src/generateStartIndices.test.ts",
260
- "hash": "14777738928879129603"
178
+ "file": "packages/word-definitions/src/__tests__/expected/es-ES.corma.json",
179
+ "hash": "12106710832334575972"
261
180
  },
262
181
  {
263
- "file": "packages/solver/src/generateStartIndices.ts",
264
- "hash": "16599831202028767898"
182
+ "file": "packages/word-definitions/src/__tests__/expected/es-ES.portero.json",
183
+ "hash": "14488169472975769438"
265
184
  },
266
185
  {
267
- "file": "packages/solver/src/generateVectors.test.ts",
268
- "hash": "1650043737085727922"
186
+ "file": "packages/word-definitions/src/__tests__/expected/ro-RO.aciua.json",
187
+ "hash": "16979195584190955408"
269
188
  },
270
189
  {
271
- "file": "packages/solver/src/generateVectors.ts",
272
- "hash": "4822515588751179136"
190
+ "file": "packages/word-definitions/src/__tests__/expected/tr-TR.lojik.json",
191
+ "hash": "8158496020673125131"
273
192
  },
274
193
  {
275
- "file": "packages/solver/src/generateVerticalPatterns.test.ts",
276
- "hash": "15210132682532157889"
194
+ "file": "packages/word-definitions/src/__tests__/input/de-DE.hm.html",
195
+ "hash": "9556515440909131198"
277
196
  },
278
197
  {
279
- "file": "packages/solver/src/generateVerticalPatterns.ts",
280
- "hash": "12531562020518966018"
198
+ "file": "packages/word-definitions/src/__tests__/input/de-DE.ho.html",
199
+ "hash": "17490613757795254086"
281
200
  },
282
201
  {
283
- "file": "packages/solver/src/getCellsScore.ts",
284
- "hash": "5469559674538280708"
202
+ "file": "packages/word-definitions/src/__tests__/input/de-DE.kolla.html",
203
+ "hash": "7808792531948326040"
285
204
  },
286
205
  {
287
- "file": "packages/solver/src/getPatternHash.test.ts",
288
- "hash": "16537135204833248488"
206
+ "file": "packages/word-definitions/src/__tests__/input/de-DE.vom.html",
207
+ "hash": "6890899341792994601"
289
208
  },
290
209
  {
291
- "file": "packages/solver/src/getPatternHash.ts",
292
- "hash": "15661610244682435057"
210
+ "file": "packages/word-definitions/src/__tests__/input/en-US.awe.html",
211
+ "hash": "16023829491647401500"
293
212
  },
294
213
  {
295
- "file": "packages/solver/src/getPatternScore.test.ts",
296
- "hash": "11243230316631404996"
214
+ "file": "packages/word-definitions/src/__tests__/input/en-US.oe.html",
215
+ "hash": "4826723009204686277"
297
216
  },
298
217
  {
299
- "file": "packages/solver/src/getPatternScore.ts",
300
- "hash": "6633752663331331064"
218
+ "file": "packages/word-definitions/src/__tests__/input/en-US.pawn.html",
219
+ "hash": "1871173307161237717"
301
220
  },
302
221
  {
303
- "file": "packages/solver/src/getUniquePatterns.ts",
304
- "hash": "14182107880131983110"
222
+ "file": "packages/word-definitions/src/__tests__/input/en-US.pawnee.html",
223
+ "hash": "7107434643906449463"
305
224
  },
306
225
  {
307
- "file": "packages/solver/src/index.ts",
308
- "hash": "11668835763077141031"
226
+ "file": "packages/word-definitions/src/__tests__/input/en-US.pean.html",
227
+ "hash": "17372636871596685811"
309
228
  },
310
229
  {
311
- "file": "packages/solver/src/solve.test.ts",
312
- "hash": "7573100315007364571"
230
+ "file": "packages/word-definitions/src/__tests__/input/en-US.wiz.html",
231
+ "hash": "4391388960840629632"
313
232
  },
314
233
  {
315
- "file": "packages/solver/src/solve.ts",
316
- "hash": "13332781803753267271"
234
+ "file": "packages/word-definitions/src/__tests__/input/es-ES.corma.html",
235
+ "hash": "4810834112940957964"
317
236
  },
318
237
  {
319
- "file": "packages/solver/tsconfig.json",
320
- "hash": "14393573143758511966"
321
- }
322
- ],
323
- "@scrabble-solver/logger": [
324
- {
325
- "file": "packages/logger/README.md",
326
- "hash": "16076881737681040638"
238
+ "file": "packages/word-definitions/src/__tests__/input/es-ES.portero.html",
239
+ "hash": "3285999281074013554"
327
240
  },
328
241
  {
329
- "file": "packages/logger/package.json",
330
- "hash": "8788819701681560265",
331
- "deps": [
332
- "npm:@types/winston",
333
- "npm:winston"
334
- ]
242
+ "file": "packages/word-definitions/src/__tests__/input/ro-RO.aciua.html",
243
+ "hash": "18114354052075758981"
335
244
  },
336
245
  {
337
- "file": "packages/logger/scripts/stats.js",
338
- "hash": "14633712956610723631"
246
+ "file": "packages/word-definitions/src/__tests__/input/tr-TR.lojik.html",
247
+ "hash": "7167173069304005721"
339
248
  },
340
249
  {
341
- "file": "packages/logger/src/constants.ts",
342
- "hash": "9027236667651974941"
250
+ "file": "packages/word-definitions/src/crawl.ts",
251
+ "hash": "6329813709530241756"
343
252
  },
344
253
  {
345
- "file": "packages/logger/src/index.ts",
346
- "hash": "15185638158434113307"
254
+ "file": "packages/word-definitions/src/getWordDefinition.ts",
255
+ "hash": "10790628764128130168"
347
256
  },
348
257
  {
349
- "file": "packages/logger/src/logger.ts",
350
- "hash": "7138638756353737317"
258
+ "file": "packages/word-definitions/src/index.ts",
259
+ "hash": "10934322227063310399"
351
260
  },
352
261
  {
353
- "file": "packages/logger/tsconfig.json",
354
- "hash": "14393573143758511966"
355
- }
356
- ],
357
- "@scrabble-solver/word-definitions": [
262
+ "file": "packages/word-definitions/src/languages/english.ts",
263
+ "hash": "9297088821932873098"
264
+ },
358
265
  {
359
- "file": "packages/word-definitions/README.md",
360
- "hash": "17568556648423613638"
266
+ "file": "packages/word-definitions/src/languages/french.ts",
267
+ "hash": "4399344268670291663"
361
268
  },
362
269
  {
363
- "file": "packages/word-definitions/package.json",
364
- "hash": "13950133966922937237",
365
- "deps": [
366
- "npm:@types/follow-redirects",
367
- "npm:domhandler",
368
- "@scrabble-solver/types",
369
- "npm:cheerio",
370
- "npm:follow-redirects",
371
- "npm:striptags"
372
- ]
270
+ "file": "packages/word-definitions/src/languages/german.ts",
271
+ "hash": "8458066973275038508"
373
272
  },
374
273
  {
375
- "file": "packages/word-definitions/src/__tests__/expected/de-DE.hm.json",
376
- "hash": "10237785854707267601"
274
+ "file": "packages/word-definitions/src/languages/index.ts",
275
+ "hash": "632033483089466746"
377
276
  },
378
277
  {
379
- "file": "packages/word-definitions/src/__tests__/expected/de-DE.ho.json",
380
- "hash": "12063011714052156607"
278
+ "file": "packages/word-definitions/src/languages/persian.ts",
279
+ "hash": "12859216146995293698"
381
280
  },
382
281
  {
383
- "file": "packages/word-definitions/src/__tests__/expected/de-DE.kolla.json",
384
- "hash": "14885831526660416837"
282
+ "file": "packages/word-definitions/src/languages/polish.ts",
283
+ "hash": "17581514490604825428"
385
284
  },
386
285
  {
387
- "file": "packages/word-definitions/src/__tests__/expected/de-DE.vom.json",
388
- "hash": "15963236354499184653"
286
+ "file": "packages/word-definitions/src/languages/romanian.ts",
287
+ "hash": "14622544421627202529"
389
288
  },
390
289
  {
391
- "file": "packages/word-definitions/src/__tests__/expected/en-US.awe.json",
392
- "hash": "2017130325952579294"
290
+ "file": "packages/word-definitions/src/languages/spanish.ts",
291
+ "hash": "8059339060033159706"
393
292
  },
394
293
  {
395
- "file": "packages/word-definitions/src/__tests__/expected/en-US.oe.json",
396
- "hash": "1527154511551359551"
294
+ "file": "packages/word-definitions/src/languages/turkish.ts",
295
+ "hash": "16684974261543274087"
397
296
  },
398
297
  {
399
- "file": "packages/word-definitions/src/__tests__/expected/en-US.pawn.json",
400
- "hash": "8612683268042437243"
298
+ "file": "packages/word-definitions/src/lib/index.ts",
299
+ "hash": "7493780780943768258"
401
300
  },
402
301
  {
403
- "file": "packages/word-definitions/src/__tests__/expected/en-US.pawnee.json",
404
- "hash": "12144477896570100005"
302
+ "file": "packages/word-definitions/src/lib/normalizeDefinition.ts",
303
+ "hash": "17425560022581103973"
405
304
  },
406
305
  {
407
- "file": "packages/word-definitions/src/__tests__/expected/en-US.pean.json",
408
- "hash": "10905416600185181615"
306
+ "file": "packages/word-definitions/src/lib/request.ts",
307
+ "hash": "7232453394387783930"
409
308
  },
410
309
  {
411
- "file": "packages/word-definitions/src/__tests__/expected/en-US.wiz.json",
412
- "hash": "13932860784730999389"
310
+ "file": "packages/word-definitions/src/lib/unique.ts",
311
+ "hash": "4387364396041720073"
413
312
  },
414
313
  {
415
- "file": "packages/word-definitions/src/__tests__/expected/es-ES.corma.json",
416
- "hash": "12106710832334575972"
314
+ "file": "packages/word-definitions/src/parse.test.ts",
315
+ "hash": "16517383060357134125"
417
316
  },
418
317
  {
419
- "file": "packages/word-definitions/src/__tests__/expected/es-ES.portero.json",
420
- "hash": "14488169472975769438"
318
+ "file": "packages/word-definitions/src/parse.ts",
319
+ "hash": "15510850602132479412"
421
320
  },
422
321
  {
423
- "file": "packages/word-definitions/src/__tests__/expected/ro-RO.aciua.json",
424
- "hash": "16979195584190955408"
322
+ "file": "packages/word-definitions/src/types.ts",
323
+ "hash": "8293904135449925504"
425
324
  },
426
325
  {
427
- "file": "packages/word-definitions/src/__tests__/expected/tr-TR.lojik.json",
428
- "hash": "8158496020673125131"
326
+ "file": "packages/word-definitions/tsconfig.json",
327
+ "hash": "14393573143758511966"
328
+ }
329
+ ],
330
+ "@scrabble-solver/configs": [
331
+ {
332
+ "file": "packages/configs/README.md",
333
+ "hash": "6408492212348349035"
429
334
  },
430
335
  {
431
- "file": "packages/word-definitions/src/__tests__/input/de-DE.hm.html",
432
- "hash": "9556515440909131198"
336
+ "file": "packages/configs/package.json",
337
+ "hash": "6909426742999006400",
338
+ "deps": [
339
+ "@scrabble-solver/constants",
340
+ "@scrabble-solver/types"
341
+ ]
433
342
  },
434
343
  {
435
- "file": "packages/word-definitions/src/__tests__/input/de-DE.ho.html",
436
- "hash": "17490613757795254086"
344
+ "file": "packages/configs/src/games/index.ts",
345
+ "hash": "3362665534610527442"
437
346
  },
438
347
  {
439
- "file": "packages/word-definitions/src/__tests__/input/de-DE.kolla.html",
440
- "hash": "7808792531948326040"
348
+ "file": "packages/configs/src/games/kelimelik.ts",
349
+ "hash": "8594545037611382240"
441
350
  },
442
351
  {
443
- "file": "packages/word-definitions/src/__tests__/input/de-DE.vom.html",
444
- "hash": "6890899341792994601"
352
+ "file": "packages/configs/src/games/literaki.ts",
353
+ "hash": "5296305767123400678"
445
354
  },
446
355
  {
447
- "file": "packages/word-definitions/src/__tests__/input/en-US.awe.html",
448
- "hash": "16023829491647401500"
356
+ "file": "packages/configs/src/games/scrabble.ts",
357
+ "hash": "418444957443163713"
449
358
  },
450
359
  {
451
- "file": "packages/word-definitions/src/__tests__/input/en-US.oe.html",
452
- "hash": "4826723009204686277"
360
+ "file": "packages/configs/src/games/superScrabble.ts",
361
+ "hash": "6367902121186465660"
453
362
  },
454
363
  {
455
- "file": "packages/word-definitions/src/__tests__/input/en-US.pawn.html",
456
- "hash": "1871173307161237717"
364
+ "file": "packages/configs/src/getConfig.ts",
365
+ "hash": "16327382875287704141"
457
366
  },
458
367
  {
459
- "file": "packages/word-definitions/src/__tests__/input/en-US.pawnee.html",
460
- "hash": "7107434643906449463"
368
+ "file": "packages/configs/src/hasConfig.ts",
369
+ "hash": "13597098168111108392"
461
370
  },
462
371
  {
463
- "file": "packages/word-definitions/src/__tests__/input/en-US.pean.html",
464
- "hash": "17372636871596685811"
372
+ "file": "packages/configs/src/index.ts",
373
+ "hash": "12104092412421460190"
465
374
  },
466
375
  {
467
- "file": "packages/word-definitions/src/__tests__/input/en-US.wiz.html",
468
- "hash": "4391388960840629632"
376
+ "file": "packages/configs/src/languages/english.ts",
377
+ "hash": "13409449178104096391"
469
378
  },
470
379
  {
471
- "file": "packages/word-definitions/src/__tests__/input/es-ES.corma.html",
472
- "hash": "4810834112940957964"
380
+ "file": "packages/configs/src/languages/french.ts",
381
+ "hash": "12248709442008050794"
473
382
  },
474
383
  {
475
- "file": "packages/word-definitions/src/__tests__/input/es-ES.portero.html",
476
- "hash": "3285999281074013554"
384
+ "file": "packages/configs/src/languages/german.ts",
385
+ "hash": "15430977815804666604"
477
386
  },
478
387
  {
479
- "file": "packages/word-definitions/src/__tests__/input/ro-RO.aciua.html",
480
- "hash": "18114354052075758981"
388
+ "file": "packages/configs/src/languages/index.ts",
389
+ "hash": "6554636328320279077"
481
390
  },
482
391
  {
483
- "file": "packages/word-definitions/src/__tests__/input/tr-TR.lojik.html",
484
- "hash": "7167173069304005721"
392
+ "file": "packages/configs/src/languages/persian.ts",
393
+ "hash": "1614638689491705120"
485
394
  },
486
395
  {
487
- "file": "packages/word-definitions/src/crawl.ts",
488
- "hash": "6329813709530241756"
396
+ "file": "packages/configs/src/languages/polish.ts",
397
+ "hash": "17941542313550365356"
489
398
  },
490
399
  {
491
- "file": "packages/word-definitions/src/getWordDefinition.ts",
492
- "hash": "10790628764128130168"
400
+ "file": "packages/configs/src/languages/romanian.ts",
401
+ "hash": "15366974472215186064"
493
402
  },
494
403
  {
495
- "file": "packages/word-definitions/src/index.ts",
496
- "hash": "10934322227063310399"
404
+ "file": "packages/configs/src/languages/spanish.ts",
405
+ "hash": "289235670795048535"
497
406
  },
498
407
  {
499
- "file": "packages/word-definitions/src/languages/english.ts",
500
- "hash": "9297088821932873098"
408
+ "file": "packages/configs/src/languages/turkish.ts",
409
+ "hash": "10240746041524805456"
501
410
  },
502
411
  {
503
- "file": "packages/word-definitions/src/languages/french.ts",
504
- "hash": "4399344268670291663"
412
+ "file": "packages/configs/tsconfig.json",
413
+ "hash": "14393573143758511966"
414
+ }
415
+ ],
416
+ "@scrabble-solver/logger": [
417
+ {
418
+ "file": "packages/logger/README.md",
419
+ "hash": "16076881737681040638"
505
420
  },
506
421
  {
507
- "file": "packages/word-definitions/src/languages/german.ts",
508
- "hash": "8458066973275038508"
422
+ "file": "packages/logger/package.json",
423
+ "hash": "12569850577417744142",
424
+ "deps": [
425
+ "npm:@types/winston",
426
+ "npm:winston"
427
+ ]
509
428
  },
510
429
  {
511
- "file": "packages/word-definitions/src/languages/index.ts",
512
- "hash": "632033483089466746"
430
+ "file": "packages/logger/scripts/stats.js",
431
+ "hash": "14633712956610723631"
513
432
  },
514
433
  {
515
- "file": "packages/word-definitions/src/languages/persian.ts",
516
- "hash": "12859216146995293698"
434
+ "file": "packages/logger/src/constants.ts",
435
+ "hash": "9027236667651974941"
517
436
  },
518
437
  {
519
- "file": "packages/word-definitions/src/languages/polish.ts",
520
- "hash": "17581514490604825428"
438
+ "file": "packages/logger/src/index.ts",
439
+ "hash": "15185638158434113307"
521
440
  },
522
441
  {
523
- "file": "packages/word-definitions/src/languages/romanian.ts",
524
- "hash": "14622544421627202529"
442
+ "file": "packages/logger/src/logger.ts",
443
+ "hash": "7138638756353737317"
525
444
  },
526
445
  {
527
- "file": "packages/word-definitions/src/languages/spanish.ts",
528
- "hash": "8059339060033159706"
446
+ "file": "packages/logger/tsconfig.json",
447
+ "hash": "14393573143758511966"
448
+ }
449
+ ],
450
+ "@scrabble-solver/solver": [
451
+ {
452
+ "file": "packages/solver/README.md",
453
+ "hash": "6318233837788889254"
529
454
  },
530
455
  {
531
- "file": "packages/word-definitions/src/languages/turkish.ts",
532
- "hash": "16684974261543274087"
456
+ "file": "packages/solver/package.json",
457
+ "hash": "17616496128828890084",
458
+ "deps": [
459
+ "@scrabble-solver/configs",
460
+ "@scrabble-solver/constants",
461
+ "@scrabble-solver/dictionaries",
462
+ "npm:@kamilmielnik/trie",
463
+ "@scrabble-solver/types"
464
+ ]
533
465
  },
534
466
  {
535
- "file": "packages/word-definitions/src/lib/index.ts",
536
- "hash": "7493780780943768258"
467
+ "file": "packages/solver/src/areDigraphsValid.ts",
468
+ "hash": "13457862964347916637"
537
469
  },
538
470
  {
539
- "file": "packages/word-definitions/src/lib/normalizeDefinition.ts",
540
- "hash": "17425560022581103973"
471
+ "file": "packages/solver/src/fillPattern.test.ts",
472
+ "hash": "18308630201824891078"
541
473
  },
542
474
  {
543
- "file": "packages/word-definitions/src/lib/request.ts",
544
- "hash": "7232453394387783930"
475
+ "file": "packages/solver/src/fillPattern.ts",
476
+ "hash": "13381827087689036026"
545
477
  },
546
478
  {
547
- "file": "packages/word-definitions/src/lib/unique.ts",
548
- "hash": "4387364396041720073"
479
+ "file": "packages/solver/src/generateEndIndices.test.ts",
480
+ "hash": "716600035678673968"
549
481
  },
550
482
  {
551
- "file": "packages/word-definitions/src/parse.test.ts",
552
- "hash": "16517383060357134125"
483
+ "file": "packages/solver/src/generateEndIndices.ts",
484
+ "hash": "10897046656592966960"
553
485
  },
554
486
  {
555
- "file": "packages/word-definitions/src/parse.ts",
556
- "hash": "15510850602132479412"
487
+ "file": "packages/solver/src/generateHorizontalPatterns.test.ts",
488
+ "hash": "10704460008424185233"
557
489
  },
558
490
  {
559
- "file": "packages/word-definitions/src/types.ts",
560
- "hash": "8293904135449925504"
491
+ "file": "packages/solver/src/generateHorizontalPatterns.ts",
492
+ "hash": "8499404194545369806"
561
493
  },
562
494
  {
563
- "file": "packages/word-definitions/tsconfig.json",
564
- "hash": "14393573143758511966"
565
- }
566
- ],
567
- "@scrabble-solver/dictionaries": [
495
+ "file": "packages/solver/src/generatePattern.ts",
496
+ "hash": "876078988631156754"
497
+ },
568
498
  {
569
- "file": "packages/dictionaries/README.md",
570
- "hash": "4148063976304250953"
499
+ "file": "packages/solver/src/generatePatterns.test.ts",
500
+ "hash": "3673989014707179747"
571
501
  },
572
502
  {
573
- "file": "packages/dictionaries/bin/remove-dictionaries.js",
574
- "hash": "2636661981756772217"
503
+ "file": "packages/solver/src/generatePatterns.ts",
504
+ "hash": "16439966106146568683"
575
505
  },
576
506
  {
577
- "file": "packages/dictionaries/bin/update-dictionaries.js",
578
- "hash": "9641816824340442544"
507
+ "file": "packages/solver/src/generateStartIndices.test.ts",
508
+ "hash": "14777738928879129603"
579
509
  },
580
510
  {
581
- "file": "packages/dictionaries/package.json",
582
- "hash": "13607253304905014455",
583
- "deps": [
584
- "npm:@kamilmielnik/trie",
585
- "@scrabble-solver/logger",
586
- "@scrabble-solver/types",
587
- "@scrabble-solver/word-lists"
588
- ]
511
+ "file": "packages/solver/src/generateStartIndices.ts",
512
+ "hash": "16599831202028767898"
589
513
  },
590
514
  {
591
- "file": "packages/dictionaries/src/Dictionaries.ts",
592
- "hash": "2136752626770286355"
515
+ "file": "packages/solver/src/generateVectors.test.ts",
516
+ "hash": "1650043737085727922"
593
517
  },
594
518
  {
595
- "file": "packages/dictionaries/src/constants/index.ts",
596
- "hash": "12604354443457976176"
519
+ "file": "packages/solver/src/generateVectors.ts",
520
+ "hash": "4822515588751179136"
597
521
  },
598
522
  {
599
- "file": "packages/dictionaries/src/index.ts",
600
- "hash": "2109487961393742179"
523
+ "file": "packages/solver/src/generateVerticalPatterns.test.ts",
524
+ "hash": "15210132682532157889"
601
525
  },
602
526
  {
603
- "file": "packages/dictionaries/src/lib/DiskCache.ts",
604
- "hash": "2227962496923642356"
527
+ "file": "packages/solver/src/generateVerticalPatterns.ts",
528
+ "hash": "12531562020518966018"
605
529
  },
606
530
  {
607
- "file": "packages/dictionaries/src/lib/LayeredCache.ts",
608
- "hash": "3051108421181356176"
531
+ "file": "packages/solver/src/getCellsScore.ts",
532
+ "hash": "5469559674538280708"
609
533
  },
610
534
  {
611
- "file": "packages/dictionaries/src/lib/MemoryCache.ts",
612
- "hash": "1948674580289004545"
535
+ "file": "packages/solver/src/getPatternHash.test.ts",
536
+ "hash": "16537135204833248488"
613
537
  },
614
538
  {
615
- "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
616
- "hash": "17426392025257462855"
539
+ "file": "packages/solver/src/getPatternHash.ts",
540
+ "hash": "15661610244682435057"
617
541
  },
618
542
  {
619
- "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
620
- "hash": "8859185881215777069"
543
+ "file": "packages/solver/src/getPatternScore.test.ts",
544
+ "hash": "11243230316631404996"
621
545
  },
622
546
  {
623
- "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
624
- "hash": "16339037688448420742"
547
+ "file": "packages/solver/src/getPatternScore.ts",
548
+ "hash": "6633752663331331064"
625
549
  },
626
550
  {
627
- "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
628
- "hash": "1917411653209106902"
551
+ "file": "packages/solver/src/getUniquePatterns.ts",
552
+ "hash": "14182107880131983110"
629
553
  },
630
554
  {
631
- "file": "packages/dictionaries/src/lib/index.ts",
632
- "hash": "11875723814486972133"
555
+ "file": "packages/solver/src/index.ts",
556
+ "hash": "11668835763077141031"
633
557
  },
634
558
  {
635
- "file": "packages/dictionaries/src/types/Cache.ts",
636
- "hash": "12316856125772709891"
559
+ "file": "packages/solver/src/solve.test.ts",
560
+ "hash": "7573100315007364571"
637
561
  },
638
562
  {
639
- "file": "packages/dictionaries/src/types/index.ts",
640
- "hash": "10228410769055936219"
563
+ "file": "packages/solver/src/solve.ts",
564
+ "hash": "13332781803753267271"
641
565
  },
642
566
  {
643
- "file": "packages/dictionaries/tsconfig.json",
567
+ "file": "packages/solver/tsconfig.json",
644
568
  "hash": "14393573143758511966"
645
569
  }
646
570
  ],
@@ -663,7 +587,7 @@
663
587
  },
664
588
  {
665
589
  "file": "packages/scrabble-solver/next-env.d.ts",
666
- "hash": "15001922542048550947"
590
+ "hash": "9827906575449055322"
667
591
  },
668
592
  {
669
593
  "file": "packages/scrabble-solver/next.config.js",
@@ -671,7 +595,7 @@
671
595
  },
672
596
  {
673
597
  "file": "packages/scrabble-solver/package.json",
674
- "hash": "4602079730738912662",
598
+ "hash": "14850008426445264926",
675
599
  "deps": [
676
600
  "npm:@svgr/webpack",
677
601
  "npm:@types/classnames",
@@ -876,7 +800,7 @@
876
800
  },
877
801
  {
878
802
  "file": "packages/scrabble-solver/src/components/Board/BoardPure.tsx",
879
- "hash": "4037160730333537319"
803
+ "hash": "2675661353260776579"
880
804
  },
881
805
  {
882
806
  "file": "packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss",
@@ -900,7 +824,7 @@
900
824
  },
901
825
  {
902
826
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx",
903
- "hash": "1743611249784916195"
827
+ "hash": "11646124255361668672"
904
828
  },
905
829
  {
906
830
  "file": "packages/scrabble-solver/src/components/Board/components/Cell/index.ts",
@@ -960,7 +884,7 @@
960
884
  },
961
885
  {
962
886
  "file": "packages/scrabble-solver/src/components/Board/hooks/useGrid.ts",
963
- "hash": "13331923032660928730"
887
+ "hash": "16318345771224713377"
964
888
  },
965
889
  {
966
890
  "file": "packages/scrabble-solver/src/components/Board/index.ts",
@@ -996,11 +920,11 @@
996
920
  },
997
921
  {
998
922
  "file": "packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss",
999
- "hash": "13786719559002306689"
923
+ "hash": "15889363756455074290"
1000
924
  },
1001
925
  {
1002
926
  "file": "packages/scrabble-solver/src/components/Dictionary/Dictionary.tsx",
1003
- "hash": "14528338879375880401"
927
+ "hash": "10556324020872142934"
1004
928
  },
1005
929
  {
1006
930
  "file": "packages/scrabble-solver/src/components/Dictionary/index.ts",
@@ -1216,7 +1140,7 @@
1216
1140
  },
1217
1141
  {
1218
1142
  "file": "packages/scrabble-solver/src/components/Rack/Rack.tsx",
1219
- "hash": "2465537249125033771"
1143
+ "hash": "5569335575864912425"
1220
1144
  },
1221
1145
  {
1222
1146
  "file": "packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss",
@@ -1236,7 +1160,7 @@
1236
1160
  },
1237
1161
  {
1238
1162
  "file": "packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx",
1239
- "hash": "1052932011754725891"
1163
+ "hash": "15243056961586051294"
1240
1164
  },
1241
1165
  {
1242
1166
  "file": "packages/scrabble-solver/src/components/Rack/components/RackTile/index.ts",
@@ -1376,7 +1300,7 @@
1376
1300
  },
1377
1301
  {
1378
1302
  "file": "packages/scrabble-solver/src/components/Tile/Tile.tsx",
1379
- "hash": "5263914752518847796"
1303
+ "hash": "7508914499424095010"
1380
1304
  },
1381
1305
  {
1382
1306
  "file": "packages/scrabble-solver/src/components/Tile/TilePure.tsx",
@@ -1428,7 +1352,7 @@
1428
1352
  },
1429
1353
  {
1430
1354
  "file": "packages/scrabble-solver/src/hooks/useAppLayout.ts",
1431
- "hash": "8792681554876644629"
1355
+ "hash": "640449078423854671"
1432
1356
  },
1433
1357
  {
1434
1358
  "file": "packages/scrabble-solver/src/hooks/useColumns.ts",
@@ -2104,7 +2028,7 @@
2104
2028
  },
2105
2029
  {
2106
2030
  "file": "packages/scrabble-solver/src/pages/api/solve.ts",
2107
- "hash": "1301528050040381406"
2031
+ "hash": "8316036997774893723"
2108
2032
  },
2109
2033
  {
2110
2034
  "file": "packages/scrabble-solver/src/pages/api/verify.ts",
@@ -2319,221 +2243,266 @@
2319
2243
  "hash": "7862776587421216773"
2320
2244
  },
2321
2245
  {
2322
- "file": "packages/scrabble-solver/src/styles/mixins.scss",
2323
- "hash": "4515270542234276575"
2246
+ "file": "packages/scrabble-solver/src/styles/mixins.scss",
2247
+ "hash": "4515270542234276575"
2248
+ },
2249
+ {
2250
+ "file": "packages/scrabble-solver/src/styles/variables.scss",
2251
+ "hash": "5126011029919179790"
2252
+ },
2253
+ {
2254
+ "file": "packages/scrabble-solver/src/types/index.ts",
2255
+ "hash": "10985018883256459835"
2256
+ },
2257
+ {
2258
+ "file": "packages/scrabble-solver/tsconfig.jest.json",
2259
+ "hash": "11323069932275554869"
2260
+ },
2261
+ {
2262
+ "file": "packages/scrabble-solver/tsconfig.json",
2263
+ "hash": "8330819644409127623"
2264
+ }
2265
+ ],
2266
+ "@scrabble-solver/constants": [
2267
+ {
2268
+ "file": "packages/constants/README.md",
2269
+ "hash": "15117377322618686888"
2270
+ },
2271
+ {
2272
+ "file": "packages/constants/package.json",
2273
+ "hash": "12954577127325177329"
2274
+ },
2275
+ {
2276
+ "file": "packages/constants/src/index.ts",
2277
+ "hash": "2132305088706286749"
2278
+ },
2279
+ {
2280
+ "file": "packages/constants/tsconfig.json",
2281
+ "hash": "14393573143758511966"
2282
+ }
2283
+ ],
2284
+ "@scrabble-solver/types": [
2285
+ {
2286
+ "file": "packages/types/README.md",
2287
+ "hash": "5575595901601075739"
2288
+ },
2289
+ {
2290
+ "file": "packages/types/package.json",
2291
+ "hash": "1161989730187553342",
2292
+ "deps": [
2293
+ "@scrabble-solver/constants"
2294
+ ]
2295
+ },
2296
+ {
2297
+ "file": "packages/types/src/Board.ts",
2298
+ "hash": "1795332604975396535"
2299
+ },
2300
+ {
2301
+ "file": "packages/types/src/BoardJson.ts",
2302
+ "hash": "1359665109646627215"
2303
+ },
2304
+ {
2305
+ "file": "packages/types/src/Bonus.ts",
2306
+ "hash": "14560849351172359773"
2307
+ },
2308
+ {
2309
+ "file": "packages/types/src/BonusJson.ts",
2310
+ "hash": "1575918727309148320"
2311
+ },
2312
+ {
2313
+ "file": "packages/types/src/BonusValue.ts",
2314
+ "hash": "15451307830706113705"
2324
2315
  },
2325
2316
  {
2326
- "file": "packages/scrabble-solver/src/styles/variables.scss",
2327
- "hash": "5126011029919179790"
2317
+ "file": "packages/types/src/Cell.ts",
2318
+ "hash": "1276566763292169051"
2328
2319
  },
2329
2320
  {
2330
- "file": "packages/scrabble-solver/src/types/index.ts",
2331
- "hash": "10985018883256459835"
2321
+ "file": "packages/types/src/CellJson.ts",
2322
+ "hash": "3679634834026053001"
2332
2323
  },
2333
2324
  {
2334
- "file": "packages/scrabble-solver/tsconfig.jest.json",
2335
- "hash": "11323069932275554869"
2325
+ "file": "packages/types/src/CharacterBonus.ts",
2326
+ "hash": "8565881441163555375"
2336
2327
  },
2337
2328
  {
2338
- "file": "packages/scrabble-solver/tsconfig.json",
2339
- "hash": "8330819644409127623"
2340
- }
2341
- ],
2342
- "@scrabble-solver/word-lists": [
2343
- {
2344
- "file": "packages/word-lists/README.md",
2345
- "hash": "16055975283152607821"
2329
+ "file": "packages/types/src/Collision.ts",
2330
+ "hash": "9564281720964143272"
2346
2331
  },
2347
2332
  {
2348
- "file": "packages/word-lists/package.json",
2349
- "hash": "638377031618911756",
2350
- "deps": [
2351
- "npm:@types/follow-redirects",
2352
- "npm:@types/latinize",
2353
- "npm:@types/unzipper",
2354
- "@scrabble-solver/types",
2355
- "npm:cheerio",
2356
- "npm:follow-redirects",
2357
- "npm:latinize",
2358
- "npm:unzipper"
2359
- ]
2333
+ "file": "packages/types/src/CollisionJson.ts",
2334
+ "hash": "939471763294242456"
2360
2335
  },
2361
2336
  {
2362
- "file": "packages/word-lists/src/getWordList.ts",
2363
- "hash": "10304524630809776049"
2337
+ "file": "packages/types/src/Config.ts",
2338
+ "hash": "12815140928208194778"
2364
2339
  },
2365
2340
  {
2366
- "file": "packages/word-lists/src/index.ts",
2367
- "hash": "8042340231609296722"
2341
+ "file": "packages/types/src/ConfigJson.ts",
2342
+ "hash": "16704913440082426373"
2368
2343
  },
2369
2344
  {
2370
- "file": "packages/word-lists/src/languages/english.ts",
2371
- "hash": "2481390322130638642"
2345
+ "file": "packages/types/src/Dictionary.ts",
2346
+ "hash": "14504925191249237749"
2372
2347
  },
2373
2348
  {
2374
- "file": "packages/word-lists/src/languages/french.ts",
2375
- "hash": "5709228979885382440"
2349
+ "file": "packages/types/src/FinalPattern.ts",
2350
+ "hash": "9096251764064641557"
2376
2351
  },
2377
2352
  {
2378
- "file": "packages/word-lists/src/languages/german.ts",
2379
- "hash": "15796960817923996735"
2353
+ "file": "packages/types/src/Game.ts",
2354
+ "hash": "7507454659713837088"
2380
2355
  },
2381
2356
  {
2382
- "file": "packages/word-lists/src/languages/index.ts",
2383
- "hash": "632033483089466746"
2357
+ "file": "packages/types/src/HorizontalPattern.ts",
2358
+ "hash": "15203164411175187561"
2384
2359
  },
2385
2360
  {
2386
- "file": "packages/word-lists/src/languages/persian.ts",
2387
- "hash": "15843050793712953655"
2361
+ "file": "packages/types/src/Locale.ts",
2362
+ "hash": "3776902042703910037"
2388
2363
  },
2389
2364
  {
2390
- "file": "packages/word-lists/src/languages/polish.ts",
2391
- "hash": "4640703681394255402"
2365
+ "file": "packages/types/src/Pattern.ts",
2366
+ "hash": "2088140037997729495"
2392
2367
  },
2393
2368
  {
2394
- "file": "packages/word-lists/src/languages/romanian.ts",
2395
- "hash": "17371976651084460491"
2369
+ "file": "packages/types/src/PatternJson.ts",
2370
+ "hash": "3515858699694501238"
2396
2371
  },
2397
2372
  {
2398
- "file": "packages/word-lists/src/languages/spanish.ts",
2399
- "hash": "4138652487389278515"
2373
+ "file": "packages/types/src/Result.ts",
2374
+ "hash": "13932023092579950537"
2400
2375
  },
2401
2376
  {
2402
- "file": "packages/word-lists/src/languages/turkish.ts",
2403
- "hash": "234257834486019779"
2377
+ "file": "packages/types/src/ResultJson.ts",
2378
+ "hash": "13503079789178597354"
2404
2379
  },
2405
2380
  {
2406
- "file": "packages/word-lists/src/lib/downloadFile.ts",
2407
- "hash": "1606271890623053959"
2381
+ "file": "packages/types/src/ShowCoordinates.ts",
2382
+ "hash": "12006550712165286437"
2408
2383
  },
2409
2384
  {
2410
- "file": "packages/word-lists/src/lib/downloadHtml.ts",
2411
- "hash": "18361092434131929887"
2385
+ "file": "packages/types/src/Tile.ts",
2386
+ "hash": "4190775870333742502"
2412
2387
  },
2413
2388
  {
2414
- "file": "packages/word-lists/src/lib/extractWords.ts",
2415
- "hash": "18130541634105493192"
2389
+ "file": "packages/types/src/TileConfig.ts",
2390
+ "hash": "10374442155071484805"
2416
2391
  },
2417
2392
  {
2418
- "file": "packages/word-lists/src/lib/findFirstWordIndex.ts",
2419
- "hash": "8631763313757125016"
2393
+ "file": "packages/types/src/TileJson.ts",
2394
+ "hash": "13173879841328293830"
2420
2395
  },
2421
2396
  {
2422
- "file": "packages/word-lists/src/lib/getHash.ts",
2423
- "hash": "13620700633138618261"
2397
+ "file": "packages/types/src/VerticalPattern.ts",
2398
+ "hash": "11127026890946051461"
2424
2399
  },
2425
2400
  {
2426
- "file": "packages/word-lists/src/lib/getTempFilepath.ts",
2427
- "hash": "17585702428857166492"
2401
+ "file": "packages/types/src/WordBonus.ts",
2402
+ "hash": "12599656225920627697"
2428
2403
  },
2429
2404
  {
2430
- "file": "packages/word-lists/src/lib/getTxtWordList.ts",
2431
- "hash": "11194179918214072618"
2405
+ "file": "packages/types/src/WordDefinition.ts",
2406
+ "hash": "2884854777090603476"
2432
2407
  },
2433
2408
  {
2434
- "file": "packages/word-lists/src/lib/index.ts",
2435
- "hash": "5513402095979090244"
2409
+ "file": "packages/types/src/WordDefinitionJson.ts",
2410
+ "hash": "1400005282053154435"
2436
2411
  },
2437
2412
  {
2438
- "file": "packages/word-lists/src/lib/latinizeDiacritics.ts",
2439
- "hash": "1791849477319616904"
2413
+ "file": "packages/types/src/index.ts",
2414
+ "hash": "13454218577226827701"
2440
2415
  },
2441
2416
  {
2442
- "file": "packages/word-lists/src/lib/unique.ts",
2443
- "hash": "11883570690444952975"
2417
+ "file": "packages/types/src/isError.ts",
2418
+ "hash": "12417306612988791594"
2444
2419
  },
2445
2420
  {
2446
- "file": "packages/word-lists/src/lib/unzip.ts",
2447
- "hash": "7204953269649771597"
2421
+ "file": "packages/types/src/isObject.ts",
2422
+ "hash": "10915497605360683267"
2448
2423
  },
2449
2424
  {
2450
- "file": "packages/word-lists/tsconfig.json",
2425
+ "file": "packages/types/tsconfig.json",
2451
2426
  "hash": "14393573143758511966"
2452
2427
  }
2453
2428
  ],
2454
- "@scrabble-solver/configs": [
2455
- {
2456
- "file": "packages/configs/README.md",
2457
- "hash": "6408492212348349035"
2458
- },
2459
- {
2460
- "file": "packages/configs/package.json",
2461
- "hash": "8334699457541169293",
2462
- "deps": [
2463
- "@scrabble-solver/constants",
2464
- "@scrabble-solver/types"
2465
- ]
2466
- },
2429
+ "@scrabble-solver/dictionaries": [
2467
2430
  {
2468
- "file": "packages/configs/src/games/index.ts",
2469
- "hash": "3362665534610527442"
2431
+ "file": "packages/dictionaries/README.md",
2432
+ "hash": "4148063976304250953"
2470
2433
  },
2471
2434
  {
2472
- "file": "packages/configs/src/games/kelimelik.ts",
2473
- "hash": "8594545037611382240"
2435
+ "file": "packages/dictionaries/bin/remove-dictionaries.js",
2436
+ "hash": "2636661981756772217"
2474
2437
  },
2475
2438
  {
2476
- "file": "packages/configs/src/games/literaki.ts",
2477
- "hash": "5296305767123400678"
2439
+ "file": "packages/dictionaries/bin/update-dictionaries.js",
2440
+ "hash": "9641816824340442544"
2478
2441
  },
2479
2442
  {
2480
- "file": "packages/configs/src/games/scrabble.ts",
2481
- "hash": "418444957443163713"
2443
+ "file": "packages/dictionaries/package.json",
2444
+ "hash": "661216650456483776",
2445
+ "deps": [
2446
+ "npm:@kamilmielnik/trie",
2447
+ "@scrabble-solver/logger",
2448
+ "@scrabble-solver/types",
2449
+ "@scrabble-solver/word-lists"
2450
+ ]
2482
2451
  },
2483
2452
  {
2484
- "file": "packages/configs/src/games/superScrabble.ts",
2485
- "hash": "6367902121186465660"
2453
+ "file": "packages/dictionaries/src/Dictionaries.ts",
2454
+ "hash": "2136752626770286355"
2486
2455
  },
2487
2456
  {
2488
- "file": "packages/configs/src/getConfig.ts",
2489
- "hash": "16327382875287704141"
2457
+ "file": "packages/dictionaries/src/constants/index.ts",
2458
+ "hash": "12604354443457976176"
2490
2459
  },
2491
2460
  {
2492
- "file": "packages/configs/src/hasConfig.ts",
2493
- "hash": "13597098168111108392"
2461
+ "file": "packages/dictionaries/src/index.ts",
2462
+ "hash": "2109487961393742179"
2494
2463
  },
2495
2464
  {
2496
- "file": "packages/configs/src/index.ts",
2497
- "hash": "12104092412421460190"
2465
+ "file": "packages/dictionaries/src/lib/DiskCache.ts",
2466
+ "hash": "2227962496923642356"
2498
2467
  },
2499
2468
  {
2500
- "file": "packages/configs/src/languages/english.ts",
2501
- "hash": "13409449178104096391"
2469
+ "file": "packages/dictionaries/src/lib/LayeredCache.ts",
2470
+ "hash": "3051108421181356176"
2502
2471
  },
2503
2472
  {
2504
- "file": "packages/configs/src/languages/french.ts",
2505
- "hash": "12248709442008050794"
2473
+ "file": "packages/dictionaries/src/lib/MemoryCache.ts",
2474
+ "hash": "1948674580289004545"
2506
2475
  },
2507
2476
  {
2508
- "file": "packages/configs/src/languages/german.ts",
2509
- "hash": "15430977815804666604"
2477
+ "file": "packages/dictionaries/src/lib/createAsyncProxy.ts",
2478
+ "hash": "17426392025257462855"
2510
2479
  },
2511
2480
  {
2512
- "file": "packages/configs/src/languages/index.ts",
2513
- "hash": "6554636328320279077"
2481
+ "file": "packages/dictionaries/src/lib/createCacheTimestampComparator.ts",
2482
+ "hash": "8859185881215777069"
2514
2483
  },
2515
2484
  {
2516
- "file": "packages/configs/src/languages/persian.ts",
2517
- "hash": "1614638689491705120"
2485
+ "file": "packages/dictionaries/src/lib/downloadDictionary.ts",
2486
+ "hash": "16339037688448420742"
2518
2487
  },
2519
2488
  {
2520
- "file": "packages/configs/src/languages/polish.ts",
2521
- "hash": "17941542313550365356"
2489
+ "file": "packages/dictionaries/src/lib/getDictionaryFilepath.ts",
2490
+ "hash": "1917411653209106902"
2522
2491
  },
2523
2492
  {
2524
- "file": "packages/configs/src/languages/romanian.ts",
2525
- "hash": "15366974472215186064"
2493
+ "file": "packages/dictionaries/src/lib/index.ts",
2494
+ "hash": "11875723814486972133"
2526
2495
  },
2527
2496
  {
2528
- "file": "packages/configs/src/languages/spanish.ts",
2529
- "hash": "289235670795048535"
2497
+ "file": "packages/dictionaries/src/types/Cache.ts",
2498
+ "hash": "12316856125772709891"
2530
2499
  },
2531
2500
  {
2532
- "file": "packages/configs/src/languages/turkish.ts",
2533
- "hash": "10240746041524805456"
2501
+ "file": "packages/dictionaries/src/types/index.ts",
2502
+ "hash": "10228410769055936219"
2534
2503
  },
2535
2504
  {
2536
- "file": "packages/configs/tsconfig.json",
2505
+ "file": "packages/dictionaries/tsconfig.json",
2537
2506
  "hash": "14393573143758511966"
2538
2507
  }
2539
2508
  ]
@@ -2569,7 +2538,7 @@
2569
2538
  },
2570
2539
  {
2571
2540
  "file": ".gitignore",
2572
- "hash": "4781348963366882001"
2541
+ "hash": "12832395429195732582"
2573
2542
  },
2574
2543
  {
2575
2544
  "file": ".npmignore",
@@ -2615,6 +2584,82 @@
2615
2584
  "file": "cypress.config.ts",
2616
2585
  "hash": "9850295321379881733"
2617
2586
  },
2587
+ {
2588
+ "file": "cypress/e2e/app.spec.cy.ts",
2589
+ "hash": "14205178019875823902"
2590
+ },
2591
+ {
2592
+ "file": "cypress/e2e/bugs.spec.cy.ts",
2593
+ "hash": "13996778291954953857"
2594
+ },
2595
+ {
2596
+ "file": "cypress/e2e/bugs/112-character-bonus.ts",
2597
+ "hash": "7144866814341355219"
2598
+ },
2599
+ {
2600
+ "file": "cypress/e2e/bugs/129-esc-sidebar.ts",
2601
+ "hash": "18135998467496795464"
2602
+ },
2603
+ {
2604
+ "file": "cypress/e2e/bugs/2-q-tile-in-english.ts",
2605
+ "hash": "624714559301130687"
2606
+ },
2607
+ {
2608
+ "file": "cypress/e2e/bugs/3-x-tile-in-polish.ts",
2609
+ "hash": "3146979637017447630"
2610
+ },
2611
+ {
2612
+ "file": "cypress/e2e/bugs/30-click-inside-radio-icon.ts",
2613
+ "hash": "14735649149345694300"
2614
+ },
2615
+ {
2616
+ "file": "cypress/e2e/bugs/333-disabled-radio-cursor.ts",
2617
+ "hash": "7270913361717937665"
2618
+ },
2619
+ {
2620
+ "file": "cypress/e2e/bugs/342-results-sorting.ts",
2621
+ "hash": "4468745648155579488"
2622
+ },
2623
+ {
2624
+ "file": "cypress/e2e/bugs/348-results-word-padding.ts",
2625
+ "hash": "6446018906872213060"
2626
+ },
2627
+ {
2628
+ "file": "cypress/e2e/bugs/352-dictionary-race-condition.ts",
2629
+ "hash": "11375056568318556588"
2630
+ },
2631
+ {
2632
+ "file": "cypress/e2e/bugs/363-dictionary-input-unique-words.ts",
2633
+ "hash": "3924403794097269420"
2634
+ },
2635
+ {
2636
+ "file": "cypress/support/commands.ts",
2637
+ "hash": "576911436208964402"
2638
+ },
2639
+ {
2640
+ "file": "cypress/support/e2e.ts",
2641
+ "hash": "11404878494790355861"
2642
+ },
2643
+ {
2644
+ "file": "cypress/support/index.ts",
2645
+ "hash": "14428353282588746736"
2646
+ },
2647
+ {
2648
+ "file": "cypress/support/lib/actions.ts",
2649
+ "hash": "16072625967975215639"
2650
+ },
2651
+ {
2652
+ "file": "cypress/support/lib/index.ts",
2653
+ "hash": "14256056309923157734"
2654
+ },
2655
+ {
2656
+ "file": "cypress/support/lib/selectors.ts",
2657
+ "hash": "7053859308032022873"
2658
+ },
2659
+ {
2660
+ "file": "cypress/tsconfig.json",
2661
+ "hash": "10152335760390087973"
2662
+ },
2618
2663
  {
2619
2664
  "file": "jest.config.js",
2620
2665
  "hash": "13727107834875347144"
@@ -2625,7 +2670,7 @@
2625
2670
  },
2626
2671
  {
2627
2672
  "file": "lerna.json",
2628
- "hash": "7437843699752084769"
2673
+ "hash": "7702854174396778977"
2629
2674
  },
2630
2675
  {
2631
2676
  "file": "nx.json",
@@ -2633,11 +2678,11 @@
2633
2678
  },
2634
2679
  {
2635
2680
  "file": "package-lock.json",
2636
- "hash": "9050850118659002510"
2681
+ "hash": "591991489314759367"
2637
2682
  },
2638
2683
  {
2639
2684
  "file": "package.json",
2640
- "hash": "68759168015594217"
2685
+ "hash": "4730552335461338054"
2641
2686
  },
2642
2687
  {
2643
2688
  "file": "screencast.gif",