scrabble-solver 2.13.2 → 2.13.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 (141) hide show
  1. package/.github/workflows/build.yml +3 -4
  2. package/.github/workflows/eslint.yml +1 -1
  3. package/.github/workflows/test.yml +1 -2
  4. package/.nx/cache/file-map.json +2610 -0
  5. package/.nx/cache/lockfile.hash +1 -0
  6. package/.nx/cache/nx_files.nxt +0 -0
  7. package/.nx/cache/parsed-lock-file.json +32593 -0
  8. package/.nx/cache/project-graph.json +32416 -0
  9. package/README.md +7 -7
  10. package/lerna.json +1 -1
  11. package/package.json +36 -29
  12. package/packages/configs/package.json +4 -5
  13. package/packages/constants/package.json +2 -3
  14. package/packages/dictionaries/package-lock.json +2 -2
  15. package/packages/dictionaries/package.json +5 -6
  16. package/packages/logger/package-lock.json +15 -7
  17. package/packages/logger/package.json +3 -4
  18. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  19. package/packages/scrabble-solver/.next/build-manifest.json +16 -16
  20. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  21. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  22. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  23. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +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/server-production/0.pack +0 -0
  27. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  28. package/packages/scrabble-solver/.next/next-minimal-server.js.nft.json +1 -0
  29. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  30. package/packages/scrabble-solver/.next/prerender-manifest.js +1 -0
  31. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  32. package/packages/scrabble-solver/.next/required-server-files.json +1 -1
  33. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  34. package/packages/scrabble-solver/.next/server/InjectManifest.js.nft.json +1 -1
  35. package/packages/scrabble-solver/.next/server/chunks/28.js +1 -0
  36. package/packages/scrabble-solver/.next/server/chunks/331.js +6 -0
  37. package/packages/scrabble-solver/.next/server/chunks/577.js +1 -0
  38. package/packages/scrabble-solver/.next/server/chunks/911.js +1 -1083
  39. package/packages/scrabble-solver/.next/server/chunks/977.js +1 -0
  40. package/packages/scrabble-solver/.next/server/functions-config-manifest.json +1 -0
  41. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  42. package/packages/scrabble-solver/.next/server/middleware-react-loadable-manifest.js +1 -1
  43. package/packages/scrabble-solver/.next/server/next-font-manifest.js +1 -1
  44. package/packages/scrabble-solver/.next/server/next-font-manifest.json +1 -6
  45. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  46. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  47. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  48. package/packages/scrabble-solver/.next/server/pages/_app.js +1 -380
  49. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  50. package/packages/scrabble-solver/.next/server/pages/_document.js +1 -212
  51. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  52. package/packages/scrabble-solver/.next/server/pages/_error.js +1 -166
  53. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  54. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +2 -836
  55. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  56. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js +1 -192
  57. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  58. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1121
  59. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  60. package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -213
  61. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  62. package/packages/scrabble-solver/.next/server/pages/api/visit.js +1 -131
  63. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  64. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  65. package/packages/scrabble-solver/.next/server/pages/index.js +1 -2088
  66. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  67. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  68. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -12
  69. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -172
  70. package/packages/scrabble-solver/.next/server/webpack-runtime.js +1 -229
  71. package/packages/scrabble-solver/.next/static/chunks/framework-1728d40275bc359a.js +49 -0
  72. package/packages/scrabble-solver/.next/static/chunks/main-5fb7abbfc135de15.js +1 -0
  73. package/packages/scrabble-solver/.next/static/chunks/pages/404-b6e238bb4117d451.js +1 -0
  74. package/packages/scrabble-solver/.next/static/chunks/pages/_app-b95404c40a0092e6.js +17 -0
  75. package/packages/scrabble-solver/.next/static/chunks/pages/_error-db043fa3544f8809.js +1 -0
  76. package/packages/scrabble-solver/.next/static/chunks/pages/index-59d569ef79bc2580.js +1 -0
  77. package/packages/scrabble-solver/.next/static/css/8fa2fb99b90e109e.css +1 -0
  78. package/packages/scrabble-solver/.next/static/css/c80ebc6fd13311f1.css +2 -0
  79. package/packages/scrabble-solver/.next/static/jyVoCYlAT5PMzOeavr5AX/_buildManifest.js +1 -0
  80. package/packages/scrabble-solver/.next/trace +44 -51
  81. package/packages/scrabble-solver/package-lock.json +754 -524
  82. package/packages/scrabble-solver/package.json +30 -31
  83. package/packages/scrabble-solver/public/service-worker.js +2 -0
  84. package/packages/scrabble-solver/public/service-worker.js.map +1 -0
  85. package/packages/scrabble-solver/src/state/slices/boardSlice.ts +4 -4
  86. package/packages/scrabble-solver/src/state/store.ts +1 -1
  87. package/packages/solver/package-lock.json +2 -2
  88. package/packages/solver/package.json +6 -7
  89. package/packages/types/package.json +3 -4
  90. package/packages/word-definitions/package-lock.json +10 -10
  91. package/packages/word-definitions/package.json +5 -5
  92. package/packages/word-lists/package-lock.json +22 -22
  93. package/packages/word-lists/package.json +8 -9
  94. package/tsconfig.json +1 -1
  95. package/packages/configs/dictionaries/build/Dictionaries.d.ts +0 -13
  96. package/packages/configs/dictionaries/build/Dictionaries.js +0 -46
  97. package/packages/configs/dictionaries/build/constants/index.d.ts +0 -3
  98. package/packages/configs/dictionaries/build/constants/index.js +0 -11
  99. package/packages/configs/dictionaries/build/index.d.ts +0 -3
  100. package/packages/configs/dictionaries/build/index.js +0 -23
  101. package/packages/configs/dictionaries/build/lib/DiskCache.d.ts +0 -11
  102. package/packages/configs/dictionaries/build/lib/DiskCache.js +0 -48
  103. package/packages/configs/dictionaries/build/lib/LayeredCache.d.ts +0 -13
  104. package/packages/configs/dictionaries/build/lib/LayeredCache.js +0 -55
  105. package/packages/configs/dictionaries/build/lib/MemoryCache.d.ts +0 -13
  106. package/packages/configs/dictionaries/build/lib/MemoryCache.js +0 -32
  107. package/packages/configs/dictionaries/build/lib/createAsyncProxy.d.ts +0 -3
  108. package/packages/configs/dictionaries/build/lib/createAsyncProxy.js +0 -18
  109. package/packages/configs/dictionaries/build/lib/createCacheTimestampComparator.d.ts +0 -5
  110. package/packages/configs/dictionaries/build/lib/createCacheTimestampComparator.js +0 -19
  111. package/packages/configs/dictionaries/build/lib/downloadDictionary.d.ts +0 -4
  112. package/packages/configs/dictionaries/build/lib/downloadDictionary.js +0 -16
  113. package/packages/configs/dictionaries/build/lib/getDictionaryFilepath.d.ts +0 -3
  114. package/packages/configs/dictionaries/build/lib/getDictionaryFilepath.js +0 -11
  115. package/packages/configs/dictionaries/build/lib/index.d.ts +0 -7
  116. package/packages/configs/dictionaries/build/lib/index.js +0 -20
  117. package/packages/configs/dictionaries/build/types/Cache.d.ts +0 -8
  118. package/packages/configs/dictionaries/build/types/Cache.js +0 -2
  119. package/packages/configs/dictionaries/build/types/index.d.ts +0 -1
  120. package/packages/configs/dictionaries/build/types/index.js +0 -2
  121. package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +0 -1
  122. package/packages/scrabble-solver/.next/server/chunks/210.js +0 -109
  123. package/packages/scrabble-solver/.next/server/chunks/277.js +0 -11942
  124. package/packages/scrabble-solver/.next/server/chunks/44.js +0 -1838
  125. package/packages/scrabble-solver/.next/server/chunks/50.js +0 -12119
  126. package/packages/scrabble-solver/.next/server/chunks/636.js +0 -286
  127. package/packages/scrabble-solver/.next/server/chunks/675.js +0 -572
  128. package/packages/scrabble-solver/.next/server/chunks/859.js +0 -835
  129. package/packages/scrabble-solver/.next/server/chunks/865.js +0 -20424
  130. package/packages/scrabble-solver/.next/server/chunks/907.js +0 -42530
  131. package/packages/scrabble-solver/.next/server/chunks/987.js +0 -91
  132. package/packages/scrabble-solver/.next/static/16S6EJJ0_LRmtRPwnUIw5/_buildManifest.js +0 -1
  133. package/packages/scrabble-solver/.next/static/chunks/framework-2c29dc3cd933590b.js +0 -49
  134. package/packages/scrabble-solver/.next/static/chunks/main-4dcb7f9b52833aba.js +0 -1
  135. package/packages/scrabble-solver/.next/static/chunks/pages/404-b4b5ce15153d4825.js +0 -1
  136. package/packages/scrabble-solver/.next/static/chunks/pages/_app-122dc8ecfa0220d5.js +0 -32
  137. package/packages/scrabble-solver/.next/static/chunks/pages/_error-54de1933a164a1ff.js +0 -1
  138. package/packages/scrabble-solver/.next/static/chunks/pages/index-f56eaa969a831c70.js +0 -1
  139. package/packages/scrabble-solver/.next/static/css/4e8b47fe382a8a8f.css +0 -2
  140. package/packages/scrabble-solver/.next/static/css/cfae5256f1689f57.css +0 -1
  141. /package/packages/scrabble-solver/.next/static/{16S6EJJ0_LRmtRPwnUIw5 → jyVoCYlAT5PMzOeavr5AX}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/907.js","../../chunks/987.js","../../chunks/44.js","../../chunks/911.js","../../chunks/210.js","../../../package.json","../../../../package.json"]}
1
+ {"version":1,"files":["../../../../package.json","../../../package.json","../../chunks/911.js","../../chunks/977.js","../../webpack-api-runtime.js"]}
@@ -1,213 +1 @@
1
- "use strict";
2
- (() => {
3
- var exports = {};
4
- exports.id = 876;
5
- exports.ids = [876];
6
- exports.modules = {
7
-
8
- /***/ 60871:
9
- /***/ ((module) => {
10
-
11
- module.exports = require("buffer");
12
-
13
- /***/ }),
14
-
15
- /***/ 39491:
16
- /***/ ((module) => {
17
-
18
- module.exports = require("assert");
19
-
20
- /***/ }),
21
-
22
- /***/ 22057:
23
- /***/ ((module) => {
24
-
25
- module.exports = require("constants");
26
-
27
- /***/ }),
28
-
29
- /***/ 6113:
30
- /***/ ((module) => {
31
-
32
- module.exports = require("crypto");
33
-
34
- /***/ }),
35
-
36
- /***/ 82361:
37
- /***/ ((module) => {
38
-
39
- module.exports = require("events");
40
-
41
- /***/ }),
42
-
43
- /***/ 57147:
44
- /***/ ((module) => {
45
-
46
- module.exports = require("fs");
47
-
48
- /***/ }),
49
-
50
- /***/ 13685:
51
- /***/ ((module) => {
52
-
53
- module.exports = require("http");
54
-
55
- /***/ }),
56
-
57
- /***/ 95687:
58
- /***/ ((module) => {
59
-
60
- module.exports = require("https");
61
-
62
- /***/ }),
63
-
64
- /***/ 22037:
65
- /***/ ((module) => {
66
-
67
- module.exports = require("os");
68
-
69
- /***/ }),
70
-
71
- /***/ 71017:
72
- /***/ ((module) => {
73
-
74
- module.exports = require("path");
75
-
76
- /***/ }),
77
-
78
- /***/ 12781:
79
- /***/ ((module) => {
80
-
81
- module.exports = require("stream");
82
-
83
- /***/ }),
84
-
85
- /***/ 71576:
86
- /***/ ((module) => {
87
-
88
- module.exports = require("string_decoder");
89
-
90
- /***/ }),
91
-
92
- /***/ 76224:
93
- /***/ ((module) => {
94
-
95
- module.exports = require("tty");
96
-
97
- /***/ }),
98
-
99
- /***/ 57310:
100
- /***/ ((module) => {
101
-
102
- module.exports = require("url");
103
-
104
- /***/ }),
105
-
106
- /***/ 73837:
107
- /***/ ((module) => {
108
-
109
- module.exports = require("util");
110
-
111
- /***/ }),
112
-
113
- /***/ 59796:
114
- /***/ ((module) => {
115
-
116
- module.exports = require("zlib");
117
-
118
- /***/ }),
119
-
120
- /***/ 2911:
121
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
122
-
123
- __webpack_require__.r(__webpack_exports__);
124
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
125
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
126
- /* harmony export */ });
127
- /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27911);
128
- /* harmony import */ var _scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__);
129
- /* harmony import */ var _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89044);
130
- /* harmony import */ var _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1__);
131
- /* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52954);
132
- /* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2__);
133
- /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46452);
134
- /* harmony import */ var _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__);
135
- /* harmony import */ var api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(84021);
136
- /* harmony import */ var api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31210);
137
-
138
-
139
-
140
-
141
-
142
- const verify = async (request, response)=>{
143
- const meta = (0,api__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(request);
144
- try {
145
- const { board , locale } = parseRequest(request);
146
- _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2___default().info("verify - request", {
147
- meta,
148
- payload: {
149
- board: board.toString(),
150
- boardBlanksCount: board.getBlanksCount(),
151
- boardTilesCount: board.getTilesCount(),
152
- game: request.body.game,
153
- locale
154
- }
155
- });
156
- const trie = await _scrabble_solver_dictionaries__WEBPACK_IMPORTED_MODULE_1__.dictionaries.get(locale);
157
- const words = board.getWords().sort((a, b)=>a.localeCompare(b, locale));
158
- const invalidWords = words.filter((word)=>!trie.has(word));
159
- const validWords = words.filter((word)=>trie.has(word));
160
- response.status(200).send({
161
- invalidWords,
162
- validWords
163
- });
164
- } catch (error) {
165
- const message = error instanceof Error ? error.message : "Unknown error";
166
- _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_2___default().error("verify - error", {
167
- error,
168
- meta
169
- });
170
- response.status(500).send({
171
- error: "Server error",
172
- message
173
- });
174
- }
175
- };
176
- const parseRequest = (request)=>{
177
- const { board: boardJson , game , locale } = request.body;
178
- if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isLocale)(locale)) {
179
- throw new Error('Invalid "locale" parameter');
180
- }
181
- if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isGame)(game)) {
182
- throw new Error('Invalid "game" parameter');
183
- }
184
- if (!(0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.hasConfig)(game, locale)) {
185
- throw new Error(`No game "${game}" in "${locale}"`);
186
- }
187
- const config = (0,_scrabble_solver_configs__WEBPACK_IMPORTED_MODULE_0__.getConfig)(game, locale);
188
- if (!(0,_scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.isBoardJson)(boardJson) || !(0,api__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)(boardJson, config)) {
189
- throw new Error('Invalid "board" parameter');
190
- }
191
- const board = _scrabble_solver_types__WEBPACK_IMPORTED_MODULE_3__.Board.fromJson(boardJson);
192
- return {
193
- board,
194
- config,
195
- locale
196
- };
197
- };
198
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (verify);
199
-
200
-
201
- /***/ })
202
-
203
- };
204
- ;
205
-
206
- // load runtime
207
- var __webpack_require__ = require("../../webpack-api-runtime.js");
208
- __webpack_require__.C(exports);
209
- var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
210
- var __webpack_exports__ = __webpack_require__.X(0, [50,907,987,44,911,210], () => (__webpack_exec__(2911)));
211
- module.exports = __webpack_exports__;
212
-
213
- })();
1
+ "use strict";(()=>{var r={};r.id=876,r.ids=[876],r.modules={9119:r=>{r.exports=require("@kamilmielnik/trie")},8048:r=>{r.exports=require("cheerio")},6953:r=>{r.exports=require("follow-redirects")},1118:r=>{r.exports=require("latinize")},145:r=>{r.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},4616:r=>{r.exports=require("unzipper")},7773:r=>{r.exports=require("winston")},6113:r=>{r.exports=require("crypto")},7147:r=>{r.exports=require("fs")},2037:r=>{r.exports=require("os")},1017:r=>{r.exports=require("path")},7310:r=>{r.exports=require("url")},6724:(r,e,t)=>{t.r(e),t.d(e,{config:()=>x,default:()=>m,routeModule:()=>v});var i={};t.r(i),t.d(i,{default:()=>g});var o=t(9150),a=t(1631),l=t(6835),n=t(7911),s=t(9044),u=t(2954),d=t.n(u),f=t(6452),p=t(9927),h=t(1525);let c=r=>{let{board:e,game:t,locale:i}=r.body;if(!(0,f.isLocale)(i))throw Error('Invalid "locale" parameter');if(!(0,f.isGame)(t))throw Error('Invalid "game" parameter');if(!(0,n.hasConfig)(t,i))throw Error(`No game "${t}" in "${i}"`);let o=(0,n.getConfig)(t,i);if(!(0,f.isBoardJson)(e)||!(0,h.Z)(e,o))throw Error('Invalid "board" parameter');return{board:f.Board.fromJson(e),config:o,locale:i}},g=async(r,e)=>{let t=(0,p.Z)(r);try{let{board:i,locale:o}=c(r);d().info("verify - request",{meta:t,payload:{board:i.toString(),boardBlanksCount:i.getBlanksCount(),boardTilesCount:i.getTilesCount(),game:r.body.game,locale:o}});let a=await s.dictionaries.get(o),l=i.getWords().sort((r,e)=>r.localeCompare(e,o)),n=l.filter(r=>!a.has(r)),u=l.filter(r=>a.has(r));e.status(200).send({invalidWords:n,validWords:u})}catch(i){let r=i instanceof Error?i.message:"Unknown error";d().error("verify - error",{error:i,meta:t}),e.status(500).send({error:"Server error",message:r})}},m=(0,l.l)(i,"default"),x=(0,l.l)(i,"config"),v=new o.PagesAPIRouteModule({definition:{kind:a.x.PAGES_API,page:"/api/verify",pathname:"/api/verify",bundlePath:"",filename:""},userland:i})},1525:(r,e,t)=>{t.d(e,{Z:()=>n});var i=t(9953);let o=(r,e)=>{let{isEmpty:t,tile:o,x:a,y:l}=r;return!(a<0)&&!(a>=e.boardWidth)&&!(l<0)&&!(l>=e.boardHeight)&&(!t||null===o)&&(null===o||!!(0,i.Z)(o.character))},a=(r,e)=>{if(r.length!==e.boardWidth)return!1;for(let t of r)if(!o(t,e))return!1;return!0},l=(r,e)=>{for(let t of r.flat().filter(r=>r&&r.tile&&e.isTwoCharacterTilePrefix(r.tile.character)))for(let i of e.twoCharacterTiles){let e=t.y+1<r.length,o=t.x+1<r[0].length,a=r[t.y+1][t.x],l=r[t.y][t.x+1],n=e&&a.tile&&a.tile.character===i[1],s=o&&l.tile&&l.tile.character===i[1],u=n||s;if(t.tile&&i.startsWith(t.tile.character)&&u)return!1}return!0},n=(r,e)=>{if(r.length!==e.boardHeight)return!1;for(let t of r)if(!a(t,e))return!1;return l(r,e)}},9953:(r,e,t)=>{t.d(e,{Z:()=>i});let i=r=>0!==r.length&&r.length<=2}};var e=require("../../webpack-api-runtime.js");e.C(r);var t=r=>e(e.s=r),i=e.X(0,[977,911],()=>t(6724));module.exports=i})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/907.js","../../chunks/987.js","../../chunks/44.js","../../chunks/911.js","../../chunks/210.js","../../../package.json","../../../../package.json"]}
1
+ {"version":1,"files":["../../../../package.json","../../../package.json","../../chunks/911.js","../../chunks/977.js","../../webpack-api-runtime.js"]}
@@ -1,131 +1 @@
1
- "use strict";
2
- (() => {
3
- var exports = {};
4
- exports.id = 322;
5
- exports.ids = [322];
6
- exports.modules = {
7
-
8
- /***/ 60871:
9
- /***/ ((module) => {
10
-
11
- module.exports = require("buffer");
12
-
13
- /***/ }),
14
-
15
- /***/ 82361:
16
- /***/ ((module) => {
17
-
18
- module.exports = require("events");
19
-
20
- /***/ }),
21
-
22
- /***/ 57147:
23
- /***/ ((module) => {
24
-
25
- module.exports = require("fs");
26
-
27
- /***/ }),
28
-
29
- /***/ 13685:
30
- /***/ ((module) => {
31
-
32
- module.exports = require("http");
33
-
34
- /***/ }),
35
-
36
- /***/ 95687:
37
- /***/ ((module) => {
38
-
39
- module.exports = require("https");
40
-
41
- /***/ }),
42
-
43
- /***/ 22037:
44
- /***/ ((module) => {
45
-
46
- module.exports = require("os");
47
-
48
- /***/ }),
49
-
50
- /***/ 71017:
51
- /***/ ((module) => {
52
-
53
- module.exports = require("path");
54
-
55
- /***/ }),
56
-
57
- /***/ 12781:
58
- /***/ ((module) => {
59
-
60
- module.exports = require("stream");
61
-
62
- /***/ }),
63
-
64
- /***/ 71576:
65
- /***/ ((module) => {
66
-
67
- module.exports = require("string_decoder");
68
-
69
- /***/ }),
70
-
71
- /***/ 73837:
72
- /***/ ((module) => {
73
-
74
- module.exports = require("util");
75
-
76
- /***/ }),
77
-
78
- /***/ 59796:
79
- /***/ ((module) => {
80
-
81
- module.exports = require("zlib");
82
-
83
- /***/ }),
84
-
85
- /***/ 58873:
86
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
87
-
88
- __webpack_require__.r(__webpack_exports__);
89
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
90
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
91
- /* harmony export */ });
92
- /* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(52954);
93
- /* harmony import */ var _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_0__);
94
- /* harmony import */ var api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(84021);
95
-
96
-
97
- const visit = async (request, response)=>{
98
- const meta = (0,api__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)(request);
99
- try {
100
- _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_0___default().info("visit - request", {
101
- meta
102
- });
103
- response.status(200).send(true);
104
- } catch (error) {
105
- const message = error instanceof Error ? error.message : "Unknown error";
106
- _scrabble_solver_logger__WEBPACK_IMPORTED_MODULE_0___default().error("visit - error", {
107
- error,
108
- meta
109
- });
110
- response.status(500).send({
111
- error: "Server error",
112
- message
113
- });
114
- }
115
- };
116
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (visit);
117
-
118
-
119
- /***/ })
120
-
121
- };
122
- ;
123
-
124
- // load runtime
125
- var __webpack_require__ = require("../../webpack-api-runtime.js");
126
- __webpack_require__.C(exports);
127
- var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
128
- var __webpack_exports__ = __webpack_require__.X(0, [50,987], () => (__webpack_exec__(58873)));
129
- module.exports = __webpack_exports__;
130
-
131
- })();
1
+ "use strict";(()=>{var e={};e.id=322,e.ids=[322],e.modules={145:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},7773:e=>{e.exports=require("winston")},2037:e=>{e.exports=require("os")},1017:e=>{e.exports=require("path")},6835:(e,r)=>{Object.defineProperty(r,"l",{enumerable:!0,get:function(){return function e(r,t){return t in r?r[t]:"then"in r&&"function"==typeof r.then?r.then(r=>e(r,t)):"function"==typeof r&&"default"===t?r:void 0}}})},5633:(e,r,t)=>{t.r(r),t.d(r,{config:()=>p,default:()=>d,routeModule:()=>m});var o={};t.r(o),t.d(o,{default:()=>f});var n=t(9150),a=t(1631),i=t(6835),s=t(2954),l=t.n(s),u=t(9927);let f=async(e,r)=>{let t=(0,u.Z)(e);try{l().info("visit - request",{meta:t}),r.status(200).send(!0)}catch(o){let e=o instanceof Error?o.message:"Unknown error";l().error("visit - error",{error:o,meta:t}),r.status(500).send({error:"Server error",message:e})}},d=(0,i.l)(o,"default"),p=(0,i.l)(o,"config"),m=new n.PagesAPIRouteModule({definition:{kind:a.x.PAGES_API,page:"/api/visit",pathname:"/api/visit",bundlePath:"",filename:""},userland:o})},9927:(e,r,t)=>{t.d(r,{Z:()=>o});let o=e=>({origin:e.headers.origin,referer:e.headers.referer,userAgent:e.headers["user-agent"],xForwardedFor:e.headers["x-forwarded-for"],xRealIp:e.headers["x-real-ip"]})},1631:(e,r)=>{var t;Object.defineProperty(r,"x",{enumerable:!0,get:function(){return t}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(t||(t={}))},9150:(e,r,t)=>{e.exports=t(145)},8793:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.OUTPUT_DIRECTORY=void 0;let n=o(t(2037)),a=o(t(1017));r.OUTPUT_DIRECTORY=a.default.resolve(n.default.homedir(),".scrabble-solver","logs")},2954:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.default=void 0;var n=t(6730);Object.defineProperty(r,"default",{enumerable:!0,get:function(){return o(n).default}})},6730:function(e,r,t){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});let n=o(t(1017)),a=t(7773),i=t(8793),s=(0,a.createLogger)({level:"info",format:a.format.combine(a.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),a.format.errors({stack:!0}),a.format.splat(),a.format.json(),a.format.prettyPrint()),transports:[new a.transports.File({filename:n.default.resolve(i.OUTPUT_DIRECTORY,"error.log"),level:"error"}),new a.transports.File({filename:n.default.resolve(i.OUTPUT_DIRECTORY,"all.log")}),new a.transports.Console({format:a.format.combine(a.format.colorize(),a.format.simple()),level:"error"})]});r.default=s}};var r=require("../../webpack-api-runtime.js");r.C(e);var t=r(r.s=5633);module.exports=t})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../webpack-api-runtime.js","../../chunks/50.js","../../chunks/987.js","../../../package.json","../../../../package.json"]}
1
+ {"version":1,"files":["../../../../package.json","../../../package.json","../../webpack-api-runtime.js"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/4e8b47fe382a8a8f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/4e8b47fe382a8a8f.css" data-n-g=""/><link rel="preload" href="/_next/static/css/cfae5256f1689f57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cfae5256f1689f57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer=""></script><script src="/_next/static/chunks/framework-2c29dc3cd933590b.js" defer=""></script><script src="/_next/static/chunks/main-4dcb7f9b52833aba.js" defer=""></script><script src="/_next/static/chunks/pages/_app-122dc8ecfa0220d5.js" defer=""></script><script src="/_next/static/chunks/pages/index-f56eaa969a831c70.js" defer=""></script><script src="/_next/static/16S6EJJ0_LRmtRPwnUIw5/_buildManifest.js" defer=""></script><script src="/_next/static/16S6EJJ0_LRmtRPwnUIw5/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.13.1"},"__N_SSG":true},"page":"/","query":{},"buildId":"16S6EJJ0_LRmtRPwnUIw5","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/c80ebc6fd13311f1.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/c80ebc6fd13311f1.css" crossorigin="" data-n-g=""/><link rel="preload" href="/_next/static/css/8fa2fb99b90e109e.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/8fa2fb99b90e109e.css" crossorigin="" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-6ef43a8d4a395f49.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/framework-1728d40275bc359a.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/main-5fb7abbfc135de15.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_app-b95404c40a0092e6.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/index-59d569ef79bc2580.js" defer="" crossorigin=""></script><script src="/_next/static/jyVoCYlAT5PMzOeavr5AX/_buildManifest.js" defer="" crossorigin=""></script><script src="/_next/static/jyVoCYlAT5PMzOeavr5AX/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble &amp; Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish &amp; Spanish. Source code is available on GitHub - contributions are welcome!</p></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{"version":"v2.13.3"},"__N_SSG":true},"page":"/","query":{},"buildId":"jyVoCYlAT5PMzOeavr5AX","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>