scrabble-solver 2.13.10 → 2.13.11
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.
- package/.nx/cache/nx_files.nxt +0 -0
- package/.nx/workspace-data/file-map.json +1311 -1295
- package/.nx/workspace-data/lockfile.hash +1 -1
- package/README.md +1 -1
- package/lerna.json +1 -1
- package/package.json +2 -2
- package/packages/configs/build/games/literaki.d.ts +3 -4
- package/packages/configs/build/games/literaki.js +3 -4
- package/packages/configs/build/games/scrabble.d.ts +3 -4
- package/packages/configs/build/games/scrabble.js +3 -4
- package/packages/configs/build/games/superScrabble.d.ts +3 -4
- package/packages/configs/build/games/superScrabble.js +3 -4
- package/packages/configs/package.json +3 -3
- package/packages/configs/src/games/literaki.ts +3 -4
- package/packages/configs/src/games/scrabble.ts +3 -4
- package/packages/configs/src/games/superScrabble.ts +3 -4
- package/packages/constants/package.json +1 -1
- package/packages/dictionaries/package-lock.json +2 -2
- package/packages/dictionaries/package.json +4 -4
- package/packages/logger/package-lock.json +2 -2
- package/packages/logger/package.json +1 -1
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +6 -6
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/prerender-manifest.js +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/807.js +1 -1
- package/packages/scrabble-solver/.next/server/chunks/911.js +1 -1
- package/packages/scrabble-solver/.next/server/chunks/977.js +1 -1
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/verify.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/static/{0kOqO_aASkcT2xjhiptyo → 5T-kyZzpLLGYA9Qzg0-Sn}/_buildManifest.js +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/{404-b447c5ca188dd7c1.js → 404-0c9f3e0f8b15f487.js} +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-264cd7dc7c7b5cc2.js +17 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/index-65bfe83d121535ab.js +1 -0
- package/packages/scrabble-solver/.next/static/css/{841a5b5f0b2fb131.css → 2f727b21d1331ea5.css} +2 -2
- package/packages/scrabble-solver/.next/trace +45 -44
- package/packages/scrabble-solver/package-lock.json +2 -2
- package/packages/scrabble-solver/package.json +8 -8
- package/packages/scrabble-solver/public/service-worker.js +2 -2
- package/packages/scrabble-solver/public/service-worker.js.map +1 -1
- package/packages/scrabble-solver/src/api/isBoardValid.ts +1 -1
- package/packages/scrabble-solver/src/api/isCellValid.ts +2 -2
- package/packages/scrabble-solver/src/api/isRowValid.ts +1 -1
- package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +15 -3
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +1 -1
- package/packages/scrabble-solver/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +9 -2
- package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +3 -3
- package/packages/scrabble-solver/src/components/Board/hooks/useBoardStyle.ts +3 -5
- package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +13 -9
- package/packages/scrabble-solver/src/components/Key/Key.module.scss +3 -2
- package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.module.scss +41 -0
- package/packages/scrabble-solver/src/components/Keys/Arrows/Arrows.tsx +31 -0
- package/packages/scrabble-solver/src/components/Keys/Arrows/index.ts +1 -0
- package/packages/scrabble-solver/src/components/Keys/index.ts +1 -0
- package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.tsx +1 -1
- package/packages/scrabble-solver/src/components/Results/HeaderButton.tsx +3 -6
- package/packages/scrabble-solver/src/components/Results/Results.module.scss +2 -6
- package/packages/scrabble-solver/src/components/Results/Results.tsx +1 -1
- package/packages/scrabble-solver/src/components/Results/getCoordinatesColumn.ts +0 -1
- package/packages/scrabble-solver/src/components/Results/getLocaleColumns.ts +0 -7
- package/packages/scrabble-solver/src/components/Results/types.ts +0 -1
- package/packages/scrabble-solver/src/components/index.ts +2 -0
- package/packages/scrabble-solver/src/components/keys.tsx +26 -0
- package/packages/scrabble-solver/src/hooks/useAppLayout.ts +8 -8
- package/packages/scrabble-solver/src/i18n/languages/english.json +4 -2
- package/packages/scrabble-solver/src/i18n/languages/french.json +4 -2
- package/packages/scrabble-solver/src/i18n/languages/german.json +4 -2
- package/packages/scrabble-solver/src/i18n/languages/persian.json +4 -2
- package/packages/scrabble-solver/src/i18n/languages/polish.json +4 -2
- package/packages/scrabble-solver/src/i18n/languages/romanian.json +3 -1
- package/packages/scrabble-solver/src/i18n/languages/spanish.json +4 -2
- package/packages/scrabble-solver/src/lib/getCellSize.ts +2 -2
- package/packages/scrabble-solver/src/lib/sortGroupedResults.ts +4 -3
- package/packages/scrabble-solver/src/lib/sortResults.ts +17 -5
- package/packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx +19 -9
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ShowCoordinatesSetting/ShowCoordinatesSetting.tsx +1 -1
- package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +1 -4
- package/packages/scrabble-solver/src/state/sagas.ts +6 -6
- package/packages/scrabble-solver/src/state/selectors.ts +1 -1
- package/packages/scrabble-solver/src/state/slices/boardInitialState.ts +2 -2
- package/packages/scrabble-solver/src/state/slices/boardSlice.ts +2 -2
- package/packages/scrabble-solver/src/styles/variables.scss +2 -2
- package/packages/scrabble-solver/src/types/index.ts +3 -1
- package/packages/solver/build/generateHorizontalPatterns.js +1 -2
- package/packages/solver/build/generateVerticalPatterns.js +1 -2
- package/packages/solver/build/getPatternScore.js +2 -2
- package/packages/solver/package-lock.json +2 -2
- package/packages/solver/package.json +5 -5
- package/packages/solver/src/generateHorizontalPatterns.test.ts +2 -3
- package/packages/solver/src/generateHorizontalPatterns.ts +1 -2
- package/packages/solver/src/generatePatterns.test.ts +1 -1
- package/packages/solver/src/generateVerticalPatterns.test.ts +2 -3
- package/packages/solver/src/generateVerticalPatterns.ts +1 -2
- package/packages/solver/src/getPatternScore.ts +2 -2
- package/packages/types/build/Board.d.ts +1 -1
- package/packages/types/build/Board.js +2 -2
- package/packages/types/build/Config.d.ts +3 -4
- package/packages/types/build/Config.js +7 -10
- package/packages/types/build/ConfigJson.d.ts +3 -4
- package/packages/types/build/Pattern.js +1 -1
- package/packages/types/package.json +2 -2
- package/packages/types/src/Board.ts +2 -2
- package/packages/types/src/Config.ts +8 -12
- package/packages/types/src/ConfigJson.ts +3 -4
- package/packages/types/src/Pattern.ts +1 -1
- package/packages/word-definitions/package-lock.json +2 -2
- package/packages/word-definitions/package.json +2 -2
- package/packages/word-lists/build/languages/spanish.js +1 -1
- package/packages/word-lists/package-lock.json +2 -2
- package/packages/word-lists/package.json +2 -2
- package/packages/word-lists/src/languages/spanish.ts +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-0bbddaa93fde16ea.js +0 -17
- package/packages/scrabble-solver/.next/static/chunks/pages/index-24b84719cf22731c.js +0 -1
- package/packages/scrabble-solver/src/modals/KeyMapModal/keys.tsx +0 -46
- /package/packages/scrabble-solver/.next/static/{0kOqO_aASkcT2xjhiptyo → 5T-kyZzpLLGYA9Qzg0-Sn}/_ssgManifest.js +0 -0
|
@@ -3,16 +3,15 @@ import Game from './Game';
|
|
|
3
3
|
import Locale from './Locale';
|
|
4
4
|
import TileConfig from './TileConfig';
|
|
5
5
|
interface ConfigJson {
|
|
6
|
-
|
|
6
|
+
bingoScore: number;
|
|
7
7
|
blankScore: number;
|
|
8
8
|
blanksCount: number;
|
|
9
|
-
|
|
10
|
-
boardWidth: number;
|
|
9
|
+
boardSize: number;
|
|
11
10
|
bonuses: BonusJson[];
|
|
12
11
|
game: Game;
|
|
13
12
|
locale: Locale;
|
|
14
|
-
maximumCharactersCount: number;
|
|
15
13
|
name: string;
|
|
14
|
+
rackSize: number;
|
|
16
15
|
tiles: TileConfig[];
|
|
17
16
|
}
|
|
18
17
|
export default ConfigJson;
|
|
@@ -7,7 +7,7 @@ class Pattern {
|
|
|
7
7
|
}
|
|
8
8
|
canBePlaced(config) {
|
|
9
9
|
const emptyCellsCount = this.getEmptyCellsCount();
|
|
10
|
-
const isUsedCellsCountInRange = emptyCellsCount >= 1 && emptyCellsCount <= config.
|
|
10
|
+
const isUsedCellsCountInRange = emptyCellsCount >= 1 && emptyCellsCount <= config.rackSize;
|
|
11
11
|
return (isUsedCellsCountInRange &&
|
|
12
12
|
(this.hasAtLeast1NonEmptyCell() || this.collides() || (this.goesThroughBoardCenter() && this.board.isEmpty())));
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/types",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Types",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/constants": "^2.13.
|
|
26
|
+
"@scrabble-solver/constants": "^2.13.11"
|
|
27
27
|
},
|
|
28
28
|
"gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
|
|
29
29
|
}
|
|
@@ -5,8 +5,8 @@ import Cell from './Cell';
|
|
|
5
5
|
import Tile from './Tile';
|
|
6
6
|
|
|
7
7
|
class Board {
|
|
8
|
-
public static create(
|
|
9
|
-
return Board.fromStringArray(Array(
|
|
8
|
+
public static create(size: number): Board {
|
|
9
|
+
return Board.fromStringArray(Array(size).fill(Array(size).fill(' ').join('')));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
public static fromJson(json: BoardJson): Board {
|
|
@@ -28,14 +28,14 @@ class Config {
|
|
|
28
28
|
this.pointsMap = getPointsMap(this.config);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
public get allTilesBonusScore(): number {
|
|
32
|
-
return this.config.allTilesBonusScore;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
31
|
public get alphabet(): string[] {
|
|
36
32
|
return getAlphabet(this.config);
|
|
37
33
|
}
|
|
38
34
|
|
|
35
|
+
public get bingoScore(): number {
|
|
36
|
+
return this.config.bingoScore;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
39
|
public get blankScore(): number {
|
|
40
40
|
return this.config.blankScore;
|
|
41
41
|
}
|
|
@@ -44,12 +44,8 @@ class Config {
|
|
|
44
44
|
return this.config.blanksCount;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
public get
|
|
48
|
-
return this.config.
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
public get boardWidth(): number {
|
|
52
|
-
return this.config.boardWidth;
|
|
47
|
+
public get boardSize(): number {
|
|
48
|
+
return this.config.boardSize;
|
|
53
49
|
}
|
|
54
50
|
|
|
55
51
|
public get game(): Game {
|
|
@@ -108,8 +104,8 @@ class Config {
|
|
|
108
104
|
return typeof this.getTwoCharacterTileByPrefix(character) !== 'undefined';
|
|
109
105
|
}
|
|
110
106
|
|
|
111
|
-
public get
|
|
112
|
-
return this.config.
|
|
107
|
+
public get rackSize(): number {
|
|
108
|
+
return this.config.rackSize;
|
|
113
109
|
}
|
|
114
110
|
|
|
115
111
|
public get tiles(): TileConfig[] {
|
|
@@ -4,16 +4,15 @@ import Locale from './Locale';
|
|
|
4
4
|
import TileConfig from './TileConfig';
|
|
5
5
|
|
|
6
6
|
interface ConfigJson {
|
|
7
|
-
|
|
7
|
+
bingoScore: number;
|
|
8
8
|
blankScore: number;
|
|
9
9
|
blanksCount: number;
|
|
10
|
-
|
|
11
|
-
boardWidth: number;
|
|
10
|
+
boardSize: number;
|
|
12
11
|
bonuses: BonusJson[];
|
|
13
12
|
game: Game;
|
|
14
13
|
locale: Locale;
|
|
15
|
-
maximumCharactersCount: number;
|
|
16
14
|
name: string;
|
|
15
|
+
rackSize: number;
|
|
17
16
|
tiles: TileConfig[];
|
|
18
17
|
}
|
|
19
18
|
|
|
@@ -15,7 +15,7 @@ class Pattern {
|
|
|
15
15
|
|
|
16
16
|
public canBePlaced(config: Config): boolean {
|
|
17
17
|
const emptyCellsCount = this.getEmptyCellsCount();
|
|
18
|
-
const isUsedCellsCountInRange = emptyCellsCount >= 1 && emptyCellsCount <= config.
|
|
18
|
+
const isUsedCellsCountInRange = emptyCellsCount >= 1 && emptyCellsCount <= config.rackSize;
|
|
19
19
|
return (
|
|
20
20
|
isUsedCellsCountInRange &&
|
|
21
21
|
(this.hasAtLeast1NonEmptyCell() || this.collides() || (this.goesThroughBoardCenter() && this.board.isEmpty()))
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.11",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-definitions",
|
|
9
|
-
"version": "2.13.
|
|
9
|
+
"version": "2.13.11",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-definitions",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word definitions",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.13.
|
|
26
|
+
"@scrabble-solver/types": "^2.13.11",
|
|
27
27
|
"cheerio": "^1.0.0-rc.12",
|
|
28
28
|
"follow-redirects": "^1.15.6",
|
|
29
29
|
"striptags": "^3.2.0"
|
|
@@ -7,7 +7,7 @@ exports.getWordList = void 0;
|
|
|
7
7
|
const types_1 = require("@scrabble-solver/types");
|
|
8
8
|
const latinize_1 = __importDefault(require("latinize"));
|
|
9
9
|
const lib_1 = require("../lib");
|
|
10
|
-
const FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/
|
|
10
|
+
const FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/file-2017.txt';
|
|
11
11
|
const N_PLACEHOLDER = '---n---';
|
|
12
12
|
const getWordList = async () => {
|
|
13
13
|
const words = await (0, lib_1.getTxtWordList)(FILE_URL, types_1.Locale.ES_ES);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-lists",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.11",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@scrabble-solver/word-lists",
|
|
9
|
-
"version": "2.13.
|
|
9
|
+
"version": "2.13.11",
|
|
10
10
|
"license": "CC-BY-NC-ND-4.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cheerio": "^1.0.0-rc.12",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/word-lists",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.11",
|
|
4
4
|
"description": "Scrabble Solver 2 - Word lists",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"clean": "rimraf build/"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@scrabble-solver/types": "^2.13.
|
|
26
|
+
"@scrabble-solver/types": "^2.13.11",
|
|
27
27
|
"cheerio": "^1.0.0-rc.12",
|
|
28
28
|
"follow-redirects": "^1.15.6",
|
|
29
29
|
"latinize": "^1.0.0",
|
|
@@ -3,7 +3,7 @@ import latinize from 'latinize';
|
|
|
3
3
|
|
|
4
4
|
import { getTxtWordList } from '../lib';
|
|
5
5
|
|
|
6
|
-
const FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/
|
|
6
|
+
const FILE_URL = 'https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/file-2017.txt';
|
|
7
7
|
const N_PLACEHOLDER = '---n---';
|
|
8
8
|
|
|
9
9
|
export const getWordList = async (): Promise<string[]> => {
|