scrabble-solver 2.15.17 → 2.15.19

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 (75) hide show
  1. package/.nx/workspace-data/file-map.json +1213 -1209
  2. package/.nx/workspace-data/lockfile-dependencies.hash +1 -1
  3. package/.nx/workspace-data/lockfile-nodes.hash +1 -1
  4. package/.nx/workspace-data/nx_files.nxt +0 -0
  5. package/.nx/workspace-data/project-graph.json +10 -10
  6. package/README.md +3 -3
  7. package/lerna.json +1 -1
  8. package/package.json +4 -3
  9. package/packages/configs/build/games/crossplay.d.ts +19 -0
  10. package/packages/configs/build/games/crossplay.js +73 -0
  11. package/packages/configs/build/games/index.d.ts +1 -0
  12. package/packages/configs/build/games/index.js +1 -0
  13. package/packages/configs/build/languages/english.d.ts +2 -0
  14. package/packages/configs/build/languages/english.js +65 -1
  15. package/packages/configs/package.json +3 -3
  16. package/packages/configs/src/games/crossplay.ts +87 -0
  17. package/packages/configs/src/games/index.ts +1 -0
  18. package/packages/configs/src/languages/english.ts +67 -1
  19. package/packages/constants/package.json +1 -1
  20. package/packages/dictionaries/package.json +4 -4
  21. package/packages/logger/package.json +1 -1
  22. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  23. package/packages/scrabble-solver/.next/build-manifest.json +3 -3
  24. package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
  25. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  26. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  27. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  28. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  29. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  30. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  31. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  32. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  33. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  34. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  35. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  36. package/packages/scrabble-solver/.next/required-server-files.json +3 -3
  37. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  38. package/packages/scrabble-solver/.next/server/chunks/392.js +1 -1
  39. package/packages/scrabble-solver/.next/server/chunks/712.js +1 -1
  40. package/packages/scrabble-solver/.next/server/chunks/812.js +1 -1
  41. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  42. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  43. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  44. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  45. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  46. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  47. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  48. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  49. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  50. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  51. package/packages/scrabble-solver/.next/server/pages/not-found.html +1 -1
  52. package/packages/scrabble-solver/.next/server/pages/not-found.js.nft.json +1 -1
  53. package/packages/scrabble-solver/.next/server/pages-manifest.json +1 -1
  54. package/packages/scrabble-solver/.next/static/chunks/pages/_app-e333add311d76325.js +3 -0
  55. package/packages/scrabble-solver/.next/trace +21 -21
  56. package/packages/scrabble-solver/.next/trace-build +1 -1
  57. package/packages/scrabble-solver/package.json +8 -8
  58. package/packages/scrabble-solver/public/service-worker.js +2 -2
  59. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +2 -2
  60. package/packages/scrabble-solver/src/components/Rack/Rack.tsx +2 -2
  61. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.tsx +2 -2
  62. package/packages/scrabble-solver/src/components/SeoMessage/SeoMessage.tsx +3 -3
  63. package/packages/scrabble-solver/src/pages/_app.tsx +3 -1
  64. package/packages/solver/package.json +5 -5
  65. package/packages/types/build/Config.js +1 -1
  66. package/packages/types/build/Game.d.ts +1 -0
  67. package/packages/types/build/Game.js +1 -0
  68. package/packages/types/package.json +2 -2
  69. package/packages/types/src/Config.ts +1 -1
  70. package/packages/types/src/Game.ts +1 -0
  71. package/packages/word-definitions/package.json +2 -2
  72. package/packages/word-lists/package.json +2 -2
  73. package/packages/scrabble-solver/.next/static/chunks/pages/_app-34d868ee8cde5436.js +0 -3
  74. /package/packages/scrabble-solver/.next/static/{ImexeOQ5dPSQb-9vZkego → Q1QbM4B3kGvZD0KCKFv6H}/_buildManifest.js +0 -0
  75. /package/packages/scrabble-solver/.next/static/{ImexeOQ5dPSQb-9vZkego → Q1QbM4B3kGvZD0KCKFv6H}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- 13761355300572765555
1
+ 18220483856304336883
@@ -1 +1 @@
1
- 13761355300572765555
1
+ 18220483856304336883
Binary file
@@ -19,7 +19,7 @@
19
19
  "description": "Scrabble Solver 2 - Word definitions",
20
20
  "js": {
21
21
  "packageName": "@scrabble-solver/word-definitions",
22
- "packageVersion": "2.15.16",
22
+ "packageVersion": "2.15.18",
23
23
  "packageMain": "build/index.js",
24
24
  "isInPackageManagerWorkspaces": true
25
25
  }
@@ -80,7 +80,7 @@
80
80
  "description": "Scrabble Solver 2 - App",
81
81
  "js": {
82
82
  "packageName": "@scrabble-solver/scrabble-solver",
83
- "packageVersion": "2.15.16",
83
+ "packageVersion": "2.15.18",
84
84
  "isInPackageManagerWorkspaces": true
85
85
  }
86
86
  },
@@ -186,7 +186,7 @@
186
186
  "description": "Scrabble Solver 2 - Dictionaries",
187
187
  "js": {
188
188
  "packageName": "@scrabble-solver/dictionaries",
189
- "packageVersion": "2.15.16",
189
+ "packageVersion": "2.15.18",
190
190
  "packageMain": "build/index.js",
191
191
  "isInPackageManagerWorkspaces": true
192
192
  }
@@ -267,7 +267,7 @@
267
267
  "description": "Scrabble Solver 2 - Word lists",
268
268
  "js": {
269
269
  "packageName": "@scrabble-solver/word-lists",
270
- "packageVersion": "2.15.16",
270
+ "packageVersion": "2.15.18",
271
271
  "packageMain": "build/index.js",
272
272
  "isInPackageManagerWorkspaces": true
273
273
  }
@@ -324,7 +324,7 @@
324
324
  "description": "Scrabble Solver 2 - Constants",
325
325
  "js": {
326
326
  "packageName": "@scrabble-solver/constants",
327
- "packageVersion": "2.15.16",
327
+ "packageVersion": "2.15.18",
328
328
  "packageMain": "build/index.js",
329
329
  "isInPackageManagerWorkspaces": true
330
330
  }
@@ -381,7 +381,7 @@
381
381
  "description": "Scrabble Solver 2 - Configs",
382
382
  "js": {
383
383
  "packageName": "@scrabble-solver/configs",
384
- "packageVersion": "2.15.16",
384
+ "packageVersion": "2.15.18",
385
385
  "packageMain": "build/index.js",
386
386
  "isInPackageManagerWorkspaces": true
387
387
  }
@@ -439,7 +439,7 @@
439
439
  "description": "Scrabble Solver 2 - Logger",
440
440
  "js": {
441
441
  "packageName": "@scrabble-solver/logger",
442
- "packageVersion": "2.15.16",
442
+ "packageVersion": "2.15.18",
443
443
  "packageMain": "build/index.js",
444
444
  "isInPackageManagerWorkspaces": true
445
445
  }
@@ -508,7 +508,7 @@
508
508
  "description": "Scrabble Solver 2 - Solver",
509
509
  "js": {
510
510
  "packageName": "@scrabble-solver/solver",
511
- "packageVersion": "2.15.16",
511
+ "packageVersion": "2.15.18",
512
512
  "packageMain": "build/index.js",
513
513
  "isInPackageManagerWorkspaces": true
514
514
  }
@@ -565,7 +565,7 @@
565
565
  "description": "Scrabble Solver 2 - Types",
566
566
  "js": {
567
567
  "packageName": "@scrabble-solver/types",
568
- "packageVersion": "2.15.16",
568
+ "packageVersion": "2.15.18",
569
569
  "packageMain": "build/index.js",
570
570
  "isInPackageManagerWorkspaces": true
571
571
  }
@@ -35661,5 +35661,5 @@
35661
35661
  },
35662
35662
  "version": "6.0",
35663
35663
  "errors": [],
35664
- "computedAt": 1765570719240
35664
+ "computedAt": 1769965169473
35665
35665
  }
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  </p>
7
7
 
8
8
  <p>
9
- Free, open-source, cross-platform, multi-language analysis tool for <a href="https://en.wikipedia.org/wiki/Scrabble">Scrabble</a>, <a href="https://www.scopely.com/en/games/scrabble-go">Scrabble Duel</a>, <a href="https://en.wikipedia.org/wiki/Super_Scrabble">Super Scrabble</a>, <a href="https://support-apps.discord.com/hc/en-us/articles/26502196674583-Letter-League-FAQ">Letter League</a>, <a href="https://pl.wikipedia.org/wiki/Literaki">Literaki</a> &amp; <a href="https://play.google.com/store/apps/details?id=com.he2apps.kelimelik">Kelimelik</a>
9
+ Free, open-source, cross-platform, multi-language analysis tool for <a href="https://en.wikipedia.org/wiki/Scrabble">Scrabble</a>, <a href="https://www.scopely.com/en/games/scrabble-go">Scrabble Duel</a>, <a href="https://en.wikipedia.org/wiki/Super_Scrabble">Super Scrabble</a>, <a href="https://support-apps.discord.com/hc/en-us/articles/26502196674583-Letter-League-FAQ">Letter League</a>, <a href="https://www.nytimes.com/games/crossplay">Crossplay</a>, <a href="https://pl.wikipedia.org/wiki/Literaki">Literaki</a> &amp; <a href="https://play.google.com/store/apps/details?id=com.he2apps.kelimelik">Kelimelik</a>
10
10
  </p>
11
11
 
12
12
  <p>
@@ -71,8 +71,8 @@
71
71
 
72
72
  | Language | Word list | Word definitions | [Highest-scoring word](https://codesandbox.io/s/highest-scoring-words-in-scrabble-vbj1ns?file=/src/index.js) |
73
73
  | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
74
- | 🇬🇧 English | [💾](https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/sowpods.txt) [SOWPODS](https://en.wikipedia.org/wiki/Collins_Scrabble_Words) | [Merriam-Webster](https://www.merriam-webster.com/) | oxyphenbutazone (1458) |
75
- | 🇺🇸 English | [💾](https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/twl06.txt) [TWL06](https://en.wikipedia.org/wiki/NASPA_Word_List) | [Merriam-Webster](https://www.merriam-webster.com/) | oxyphenbutazone (1458) |
74
+ | 🇬🇧 English | [💾](https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/sowpods.txt) [SOWPODS](https://en.wikipedia.org/wiki/Collins_Scrabble_Words) | [Merriam-Webster](https://www.merriam-webster.com/) | oxyphenbutazone (1458) |
75
+ | 🇺🇸 English | [💾](https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/twl06.txt) [TWL06](https://en.wikipedia.org/wiki/NASPA_Word_List) | [Merriam-Webster](https://www.merriam-webster.com/) | oxyphenbutazone (1458) |
76
76
  | 🇫🇷 French | [💾](https://raw.githubusercontent.com/Thecoolsim/French-Scrabble-ODS8/main/French%20ODS%20dictionary.txt) [ODS8](https://github.com/Thecoolsim/French-Scrabble-ODS8) | [CNRTL](https://www.cnrtl.fr/) | schizothymiques (1566) |
77
77
  | 🇩🇪 German | [💾](https://raw.githubusercontent.com/hippler/german-wordlist/master/words.txt) [hippler/german-wordlist](https://github.com/hippler/german-wordlist) | [DWDS](https://www.dwds.de) | polytoxikomanem (1512) |
78
78
  | 🇮🇷 Persian | [💾](https://raw.githubusercontent.com/MansourM/persian-to-persian-dictionary/main/moein/words.txt) [MansourM/persian-to-persian-dictionary](https://github.com/MansourM/persian-to-persian-dictionary) | [واژه یاب](https://vajehyab.com) | ‏(756) اگزیستانسیالیست |
package/lerna.json CHANGED
@@ -6,6 +6,6 @@
6
6
  "access": "public"
7
7
  },
8
8
  "tagVersionPrefix": "",
9
- "version": "2.15.17",
9
+ "version": "2.15.19",
10
10
  "$schema": "node_modules/lerna/schemas/lerna-schema.json"
11
11
  }
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "scrabble-solver",
3
- "version": "2.15.17",
4
- "description": "Scrabble Solver 2 - Free, open-source, cross-platform, multi-language analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Literaki, and Kelimelik. Quickly find the top-scoring words using the given board and tiles.",
3
+ "version": "2.15.19",
4
+ "description": "Scrabble Solver 2 - Free, open-source, cross-platform, multi-language analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find the top-scoring words using the given board and tiles.",
5
5
  "keywords": [
6
6
  "Scrabble",
7
7
  "Scrabble Duel",
8
8
  "Super Scrabble",
9
9
  "Kelimelik",
10
10
  "Letter League",
11
+ "Crossplay",
11
12
  "Literaki",
12
13
  "Solver",
13
14
  "Finder",
@@ -95,7 +96,7 @@
95
96
  "packages/scrabble-solver"
96
97
  ],
97
98
  "dependencies": {
98
- "@scrabble-solver/scrabble-solver": "^2.15.17",
99
+ "@scrabble-solver/scrabble-solver": "^2.15.19",
99
100
  "concurrently": "^9.2.1",
100
101
  "open-cli": "^8.0.0",
101
102
  "wait-on": "^9.0.3"
@@ -0,0 +1,19 @@
1
+ import { Game } from '@scrabble-solver/types';
2
+ export declare const crossplay: {
3
+ bingo: {
4
+ score: number;
5
+ };
6
+ blankScore: number;
7
+ blanksCount: number;
8
+ boardHeight: number;
9
+ boardWidth: number;
10
+ game: Game;
11
+ name: string;
12
+ rackSize: number;
13
+ bonuses: {
14
+ multiplier: number;
15
+ type: string;
16
+ x: number;
17
+ y: number;
18
+ }[];
19
+ };
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.crossplay = void 0;
4
+ const constants_1 = require("@scrabble-solver/constants");
5
+ const types_1 = require("@scrabble-solver/types");
6
+ exports.crossplay = {
7
+ bingo: { score: 40 },
8
+ blankScore: 0,
9
+ blanksCount: 3,
10
+ boardHeight: 15,
11
+ boardWidth: 15,
12
+ game: types_1.Game.Crossplay,
13
+ name: 'Crossplay',
14
+ rackSize: 7,
15
+ bonuses: [
16
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 0, y: 0 },
17
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 14, y: 0 },
18
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 0, y: 14 },
19
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 14, y: 14 },
20
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 6, y: 1 },
21
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 1 },
22
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 6, y: 13 },
23
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 8, y: 13 },
24
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 6 },
25
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 13, y: 6 },
26
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 1, y: 8 },
27
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 13, y: 8 },
28
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 4 },
29
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 4 },
30
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 5, y: 10 },
31
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 9, y: 10 },
32
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 4, y: 5 },
33
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 10, y: 5 },
34
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 4, y: 9 },
35
+ { multiplier: 3, type: constants_1.BONUS_CHARACTER, x: 10, y: 9 },
36
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 4, y: 2 },
37
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 2 },
38
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 4, y: 12 },
39
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 10, y: 12 },
40
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 4 },
41
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 4 },
42
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 2, y: 10 },
43
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 12, y: 10 },
44
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 3 },
45
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 3 },
46
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 3, y: 11 },
47
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 11, y: 11 },
48
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 0, y: 7 },
49
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 14, y: 7 },
50
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 0 },
51
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 14 },
52
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 5 },
53
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 7, y: 9 },
54
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 5, y: 7 },
55
+ { multiplier: 2, type: constants_1.BONUS_CHARACTER, x: 9, y: 7 },
56
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 1 },
57
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 1 },
58
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 1, y: 13 },
59
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 13, y: 13 },
60
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 3, y: 7 },
61
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 11, y: 7 },
62
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 7, y: 3 },
63
+ { multiplier: 2, type: constants_1.BONUS_WORD, x: 7, y: 11 },
64
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 3, y: 0 },
65
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 11, y: 0 },
66
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 3, y: 14 },
67
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 11, y: 14 },
68
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 3 },
69
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 3 },
70
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 0, y: 11 },
71
+ { multiplier: 3, type: constants_1.BONUS_WORD, x: 14, y: 11 },
72
+ ],
73
+ };
@@ -1,3 +1,4 @@
1
+ export * from './crossplay';
1
2
  export * from './kelimelik';
2
3
  export * from './letterLeague';
3
4
  export * from './literaki';
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./crossplay"), exports);
17
18
  __exportStar(require("./kelimelik"), exports);
18
19
  __exportStar(require("./letterLeague"), exports);
19
20
  __exportStar(require("./literaki"), exports);
@@ -1,9 +1,11 @@
1
1
  import { Config } from '@scrabble-solver/types';
2
+ export declare const englishGbCrossplay: Config;
2
3
  export declare const englishGbLetterLeague: Config;
3
4
  export declare const englishGbLiteraki: Config;
4
5
  export declare const englishGbScrabble: Config;
5
6
  export declare const englishGbScrabbleDuel: Config;
6
7
  export declare const englishGbSuperScrabble: Config;
8
+ export declare const englishUsCrossplay: Config;
7
9
  export declare const englishUsLetterLeague: Config;
8
10
  export declare const englishUsLiteraki: Config;
9
11
  export declare const englishUsScrabble: Config;
@@ -1,9 +1,41 @@
1
1
  "use strict";
2
2
  /* eslint-disable max-lines */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.englishUsSuperScrabble = exports.englishUsScrabbleDuel = exports.englishUsScrabble = exports.englishUsLiteraki = exports.englishUsLetterLeague = exports.englishGbSuperScrabble = exports.englishGbScrabbleDuel = exports.englishGbScrabble = exports.englishGbLiteraki = exports.englishGbLetterLeague = void 0;
4
+ exports.englishUsSuperScrabble = exports.englishUsScrabbleDuel = exports.englishUsScrabble = exports.englishUsLiteraki = exports.englishUsLetterLeague = exports.englishUsCrossplay = exports.englishGbSuperScrabble = exports.englishGbScrabbleDuel = exports.englishGbScrabble = exports.englishGbLiteraki = exports.englishGbLetterLeague = exports.englishGbCrossplay = void 0;
5
5
  const types_1 = require("@scrabble-solver/types");
6
6
  const games_1 = require("../games");
7
+ exports.englishGbCrossplay = new types_1.Config({
8
+ ...games_1.crossplay,
9
+ locale: types_1.Locale.EN_GB,
10
+ tiles: [
11
+ { character: 'a', score: 1 },
12
+ { character: 'b', score: 4 },
13
+ { character: 'c', score: 3 },
14
+ { character: 'd', score: 2 },
15
+ { character: 'e', score: 1 },
16
+ { character: 'f', score: 4 },
17
+ { character: 'g', score: 4 },
18
+ { character: 'h', score: 3 },
19
+ { character: 'i', score: 1 },
20
+ { character: 'j', score: 10 },
21
+ { character: 'k', score: 6 },
22
+ { character: 'l', score: 2 },
23
+ { character: 'm', score: 3 },
24
+ { character: 'n', score: 1 },
25
+ { character: 'o', score: 1 },
26
+ { character: 'p', score: 3 },
27
+ { character: 'q', score: 10 },
28
+ { character: 'r', score: 1 },
29
+ { character: 's', score: 1 },
30
+ { character: 't', score: 1 },
31
+ { character: 'u', score: 2 },
32
+ { character: 'v', score: 6 },
33
+ { character: 'w', score: 5 },
34
+ { character: 'x', score: 8 },
35
+ { character: 'y', score: 4 },
36
+ { character: 'z', score: 10 },
37
+ ],
38
+ });
7
39
  exports.englishGbLetterLeague = new types_1.Config({
8
40
  ...games_1.letterLeague,
9
41
  locale: types_1.Locale.EN_GB,
@@ -165,6 +197,38 @@ exports.englishGbSuperScrabble = new types_1.Config({
165
197
  { character: 'z', count: 2, score: 10 },
166
198
  ],
167
199
  });
200
+ exports.englishUsCrossplay = new types_1.Config({
201
+ ...games_1.crossplay,
202
+ locale: types_1.Locale.EN_US,
203
+ tiles: [
204
+ { character: 'a', score: 1 },
205
+ { character: 'b', score: 4 },
206
+ { character: 'c', score: 3 },
207
+ { character: 'd', score: 2 },
208
+ { character: 'e', score: 1 },
209
+ { character: 'f', score: 4 },
210
+ { character: 'g', score: 4 },
211
+ { character: 'h', score: 3 },
212
+ { character: 'i', score: 1 },
213
+ { character: 'j', score: 10 },
214
+ { character: 'k', score: 6 },
215
+ { character: 'l', score: 2 },
216
+ { character: 'm', score: 3 },
217
+ { character: 'n', score: 1 },
218
+ { character: 'o', score: 1 },
219
+ { character: 'p', score: 3 },
220
+ { character: 'q', score: 10 },
221
+ { character: 'r', score: 1 },
222
+ { character: 's', score: 1 },
223
+ { character: 't', score: 1 },
224
+ { character: 'u', score: 2 },
225
+ { character: 'v', score: 6 },
226
+ { character: 'w', score: 5 },
227
+ { character: 'x', score: 8 },
228
+ { character: 'y', score: 4 },
229
+ { character: 'z', score: 10 },
230
+ ],
231
+ });
168
232
  exports.englishUsLetterLeague = new types_1.Config({
169
233
  ...games_1.letterLeague,
170
234
  locale: types_1.Locale.EN_US,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/configs",
3
- "version": "2.15.17",
3
+ "version": "2.15.19",
4
4
  "description": "Scrabble Solver 2 - Configs",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -23,8 +23,8 @@
23
23
  "clean": "rimraf build/"
24
24
  },
25
25
  "dependencies": {
26
- "@scrabble-solver/constants": "^2.15.17",
27
- "@scrabble-solver/types": "^2.15.17"
26
+ "@scrabble-solver/constants": "^2.15.19",
27
+ "@scrabble-solver/types": "^2.15.19"
28
28
  },
29
29
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
30
30
  }
@@ -0,0 +1,87 @@
1
+ import { BONUS_CHARACTER, BONUS_WORD } from '@scrabble-solver/constants';
2
+ import { Game } from '@scrabble-solver/types';
3
+
4
+ export const crossplay = {
5
+ bingo: { score: 40 },
6
+ blankScore: 0,
7
+ blanksCount: 3,
8
+ boardHeight: 15,
9
+ boardWidth: 15,
10
+ game: Game.Crossplay,
11
+ name: 'Crossplay',
12
+ rackSize: 7,
13
+ bonuses: [
14
+ { multiplier: 3, type: BONUS_CHARACTER, x: 0, y: 0 },
15
+ { multiplier: 3, type: BONUS_CHARACTER, x: 14, y: 0 },
16
+ { multiplier: 3, type: BONUS_CHARACTER, x: 0, y: 14 },
17
+ { multiplier: 3, type: BONUS_CHARACTER, x: 14, y: 14 },
18
+
19
+ { multiplier: 3, type: BONUS_CHARACTER, x: 6, y: 1 },
20
+ { multiplier: 3, type: BONUS_CHARACTER, x: 8, y: 1 },
21
+ { multiplier: 3, type: BONUS_CHARACTER, x: 6, y: 13 },
22
+ { multiplier: 3, type: BONUS_CHARACTER, x: 8, y: 13 },
23
+
24
+ { multiplier: 3, type: BONUS_CHARACTER, x: 1, y: 6 },
25
+ { multiplier: 3, type: BONUS_CHARACTER, x: 13, y: 6 },
26
+ { multiplier: 3, type: BONUS_CHARACTER, x: 1, y: 8 },
27
+ { multiplier: 3, type: BONUS_CHARACTER, x: 13, y: 8 },
28
+
29
+ { multiplier: 3, type: BONUS_CHARACTER, x: 5, y: 4 },
30
+ { multiplier: 3, type: BONUS_CHARACTER, x: 9, y: 4 },
31
+ { multiplier: 3, type: BONUS_CHARACTER, x: 5, y: 10 },
32
+ { multiplier: 3, type: BONUS_CHARACTER, x: 9, y: 10 },
33
+
34
+ { multiplier: 3, type: BONUS_CHARACTER, x: 4, y: 5 },
35
+ { multiplier: 3, type: BONUS_CHARACTER, x: 10, y: 5 },
36
+ { multiplier: 3, type: BONUS_CHARACTER, x: 4, y: 9 },
37
+ { multiplier: 3, type: BONUS_CHARACTER, x: 10, y: 9 },
38
+
39
+ { multiplier: 2, type: BONUS_CHARACTER, x: 4, y: 2 },
40
+ { multiplier: 2, type: BONUS_CHARACTER, x: 10, y: 2 },
41
+ { multiplier: 2, type: BONUS_CHARACTER, x: 4, y: 12 },
42
+ { multiplier: 2, type: BONUS_CHARACTER, x: 10, y: 12 },
43
+
44
+ { multiplier: 2, type: BONUS_CHARACTER, x: 2, y: 4 },
45
+ { multiplier: 2, type: BONUS_CHARACTER, x: 12, y: 4 },
46
+ { multiplier: 2, type: BONUS_CHARACTER, x: 2, y: 10 },
47
+ { multiplier: 2, type: BONUS_CHARACTER, x: 12, y: 10 },
48
+
49
+ { multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 3 },
50
+ { multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 3 },
51
+ { multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 11 },
52
+ { multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 11 },
53
+
54
+ { multiplier: 2, type: BONUS_CHARACTER, x: 0, y: 7 },
55
+ { multiplier: 2, type: BONUS_CHARACTER, x: 14, y: 7 },
56
+
57
+ { multiplier: 2, type: BONUS_CHARACTER, x: 7, y: 0 },
58
+ { multiplier: 2, type: BONUS_CHARACTER, x: 7, y: 14 },
59
+
60
+ { multiplier: 2, type: BONUS_CHARACTER, x: 7, y: 5 },
61
+ { multiplier: 2, type: BONUS_CHARACTER, x: 7, y: 9 },
62
+
63
+ { multiplier: 2, type: BONUS_CHARACTER, x: 5, y: 7 },
64
+ { multiplier: 2, type: BONUS_CHARACTER, x: 9, y: 7 },
65
+
66
+ { multiplier: 2, type: BONUS_WORD, x: 1, y: 1 },
67
+ { multiplier: 2, type: BONUS_WORD, x: 13, y: 1 },
68
+ { multiplier: 2, type: BONUS_WORD, x: 1, y: 13 },
69
+ { multiplier: 2, type: BONUS_WORD, x: 13, y: 13 },
70
+
71
+ { multiplier: 2, type: BONUS_WORD, x: 3, y: 7 },
72
+ { multiplier: 2, type: BONUS_WORD, x: 11, y: 7 },
73
+
74
+ { multiplier: 2, type: BONUS_WORD, x: 7, y: 3 },
75
+ { multiplier: 2, type: BONUS_WORD, x: 7, y: 11 },
76
+
77
+ { multiplier: 3, type: BONUS_WORD, x: 3, y: 0 },
78
+ { multiplier: 3, type: BONUS_WORD, x: 11, y: 0 },
79
+ { multiplier: 3, type: BONUS_WORD, x: 3, y: 14 },
80
+ { multiplier: 3, type: BONUS_WORD, x: 11, y: 14 },
81
+
82
+ { multiplier: 3, type: BONUS_WORD, x: 0, y: 3 },
83
+ { multiplier: 3, type: BONUS_WORD, x: 14, y: 3 },
84
+ { multiplier: 3, type: BONUS_WORD, x: 0, y: 11 },
85
+ { multiplier: 3, type: BONUS_WORD, x: 14, y: 11 },
86
+ ],
87
+ };
@@ -1,3 +1,4 @@
1
+ export * from './crossplay';
1
2
  export * from './kelimelik';
2
3
  export * from './letterLeague';
3
4
  export * from './literaki';
@@ -2,7 +2,40 @@
2
2
 
3
3
  import { Config, Locale } from '@scrabble-solver/types';
4
4
 
5
- import { letterLeague, literaki, scrabble, scrabbleDuel, superScrabble } from '../games';
5
+ import { crossplay, letterLeague, literaki, scrabble, scrabbleDuel, superScrabble } from '../games';
6
+
7
+ export const englishGbCrossplay = new Config({
8
+ ...crossplay,
9
+ locale: Locale.EN_GB,
10
+ tiles: [
11
+ { character: 'a', score: 1 },
12
+ { character: 'b', score: 4 },
13
+ { character: 'c', score: 3 },
14
+ { character: 'd', score: 2 },
15
+ { character: 'e', score: 1 },
16
+ { character: 'f', score: 4 },
17
+ { character: 'g', score: 4 },
18
+ { character: 'h', score: 3 },
19
+ { character: 'i', score: 1 },
20
+ { character: 'j', score: 10 },
21
+ { character: 'k', score: 6 },
22
+ { character: 'l', score: 2 },
23
+ { character: 'm', score: 3 },
24
+ { character: 'n', score: 1 },
25
+ { character: 'o', score: 1 },
26
+ { character: 'p', score: 3 },
27
+ { character: 'q', score: 10 },
28
+ { character: 'r', score: 1 },
29
+ { character: 's', score: 1 },
30
+ { character: 't', score: 1 },
31
+ { character: 'u', score: 2 },
32
+ { character: 'v', score: 6 },
33
+ { character: 'w', score: 5 },
34
+ { character: 'x', score: 8 },
35
+ { character: 'y', score: 4 },
36
+ { character: 'z', score: 10 },
37
+ ],
38
+ });
6
39
 
7
40
  export const englishGbLetterLeague = new Config({
8
41
  ...letterLeague,
@@ -170,6 +203,39 @@ export const englishGbSuperScrabble = new Config({
170
203
  ],
171
204
  });
172
205
 
206
+ export const englishUsCrossplay = new Config({
207
+ ...crossplay,
208
+ locale: Locale.EN_US,
209
+ tiles: [
210
+ { character: 'a', score: 1 },
211
+ { character: 'b', score: 4 },
212
+ { character: 'c', score: 3 },
213
+ { character: 'd', score: 2 },
214
+ { character: 'e', score: 1 },
215
+ { character: 'f', score: 4 },
216
+ { character: 'g', score: 4 },
217
+ { character: 'h', score: 3 },
218
+ { character: 'i', score: 1 },
219
+ { character: 'j', score: 10 },
220
+ { character: 'k', score: 6 },
221
+ { character: 'l', score: 2 },
222
+ { character: 'm', score: 3 },
223
+ { character: 'n', score: 1 },
224
+ { character: 'o', score: 1 },
225
+ { character: 'p', score: 3 },
226
+ { character: 'q', score: 10 },
227
+ { character: 'r', score: 1 },
228
+ { character: 's', score: 1 },
229
+ { character: 't', score: 1 },
230
+ { character: 'u', score: 2 },
231
+ { character: 'v', score: 6 },
232
+ { character: 'w', score: 5 },
233
+ { character: 'x', score: 8 },
234
+ { character: 'y', score: 4 },
235
+ { character: 'z', score: 10 },
236
+ ],
237
+ });
238
+
173
239
  export const englishUsLetterLeague = new Config({
174
240
  ...letterLeague,
175
241
  locale: Locale.EN_US,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/constants",
3
- "version": "2.15.17",
3
+ "version": "2.15.19",
4
4
  "description": "Scrabble Solver 2 - Constants",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/dictionaries",
3
- "version": "2.15.17",
3
+ "version": "2.15.19",
4
4
  "description": "Scrabble Solver 2 - Dictionaries",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -30,9 +30,9 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@kamilmielnik/trie": "^4.0.0",
33
- "@scrabble-solver/logger": "^2.15.17",
34
- "@scrabble-solver/types": "^2.15.17",
35
- "@scrabble-solver/word-lists": "^2.15.17"
33
+ "@scrabble-solver/logger": "^2.15.19",
34
+ "@scrabble-solver/types": "^2.15.19",
35
+ "@scrabble-solver/word-lists": "^2.15.19"
36
36
  },
37
37
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
38
38
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/logger",
3
- "version": "2.15.17",
3
+ "version": "2.15.19",
4
4
  "description": "Scrabble Solver 2 - Logger",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1 +1 @@
1
- ImexeOQ5dPSQb-9vZkego
1
+ Q1QbM4B3kGvZD0KCKFv6H
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "devFiles": [],
6
6
  "lowPriorityFiles": [
7
- "static/ImexeOQ5dPSQb-9vZkego/_buildManifest.js",
8
- "static/ImexeOQ5dPSQb-9vZkego/_ssgManifest.js"
7
+ "static/Q1QbM4B3kGvZD0KCKFv6H/_buildManifest.js",
8
+ "static/Q1QbM4B3kGvZD0KCKFv6H/_ssgManifest.js"
9
9
  ],
10
10
  "rootMainFiles": [],
11
11
  "rootMainFilesTree": {},
@@ -22,7 +22,7 @@
22
22
  "static/chunks/framework-b0eb9848ae080201.js",
23
23
  "static/chunks/main-c39f9bc6f9d4143e.js",
24
24
  "static/css/500cdc9a24075d91.css",
25
- "static/chunks/pages/_app-34d868ee8cde5436.js"
25
+ "static/chunks/pages/_app-e333add311d76325.js"
26
26
  ],
27
27
  "/_error": [
28
28
  "static/chunks/webpack-06b4b4da58317e44.js",
@@ -1 +1 @@
1
- {"previewModeId":"62c1adab4ed2caf92515f6cadf9c565b","previewModeSigningKey":"c1635665a5aec04f60e9be2c677f40104255aef091ddcb6443b4401856e05686","previewModeEncryptionKey":"a12db828a1e8e16c1687cf5a65719d051a1697d669135c2690e3b7feee1d290c","expireAt":1766780307055}
1
+ {"previewModeId":"1968b5f29e505838a7fbed6d382478b3","previewModeSigningKey":"3b657139a445c18c5d7f2ec2e52174c631f852e0bab957c3a0b107fe36e4da8a","previewModeEncryptionKey":"62200161c9b43d9625989bc4f3377f17c5781c02410adb5f26bd5c235aae8533","expireAt":1771174757791}
@@ -1 +1 @@
1
- {"encryption.key":"mol+42F/AeG/ocFywHNtS5jJ70RI3ve86d8B0+4yHVs=","encryption.expire_at":1766780307048}
1
+ {"encryption.key":"wFmOf4Fyx8s5/2NI/MRZFjq+Mwi5LD6GR1LqVUk7C/I=","encryption.expire_at":1771174757784}