scrabble-solver 2.11.3 → 2.11.5

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 (162) hide show
  1. package/lerna.json +1 -1
  2. package/package.json +7 -7
  3. package/packages/configs/package.json +3 -3
  4. package/packages/constants/build/index.js +2 -30
  5. package/packages/constants/package.json +1 -1
  6. package/packages/constants/src/index.ts +3 -31
  7. package/packages/dictionaries/.scrabble-solver/dictionaries/de-DE.txt +1 -0
  8. package/packages/dictionaries/.scrabble-solver/dictionaries/en-GB.txt +1 -0
  9. package/packages/dictionaries/.scrabble-solver/dictionaries/en-US.txt +1 -0
  10. package/packages/dictionaries/.scrabble-solver/dictionaries/es-ES.txt +1 -0
  11. package/packages/dictionaries/.scrabble-solver/dictionaries/fa-IR.txt +1 -0
  12. package/packages/dictionaries/.scrabble-solver/dictionaries/fr-FR.txt +1 -0
  13. package/packages/dictionaries/.scrabble-solver/dictionaries/pl-PL.txt +1 -0
  14. package/packages/dictionaries/package-lock.json +3 -10
  15. package/packages/dictionaries/package.json +4 -4
  16. package/packages/logger/package-lock.json +3 -224
  17. package/packages/logger/package.json +1 -1
  18. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  19. package/packages/scrabble-solver/.next/build-manifest.json +7 -7
  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/next-server.js.nft.json +1 -1
  23. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  24. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  25. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  26. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +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/export-marker.json +1 -1
  30. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  31. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  32. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  33. package/packages/scrabble-solver/.next/server/chunks/131.js +1 -1
  34. package/packages/scrabble-solver/.next/server/chunks/277.js +736 -913
  35. package/packages/scrabble-solver/.next/server/chunks/44.js +2 -30
  36. package/packages/scrabble-solver/.next/server/chunks/636.js +286 -0
  37. package/packages/scrabble-solver/.next/server/chunks/675.js +550 -0
  38. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  39. package/packages/scrabble-solver/.next/server/pages/404.html +2 -2
  40. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  41. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  42. package/packages/scrabble-solver/.next/server/pages/_app.js +73 -9
  43. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  44. package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
  45. package/packages/scrabble-solver/.next/server/pages/_error.js +1 -280
  46. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  47. package/packages/scrabble-solver/.next/server/pages/api/solve.js +22 -2
  48. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  49. package/packages/scrabble-solver/.next/server/pages/index.js +382 -313
  50. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  51. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  52. package/packages/scrabble-solver/.next/static/UzQCOB6CHhyOupkEq8oZM/_buildManifest.js +1 -0
  53. package/packages/scrabble-solver/.next/static/chunks/pages/{404-448ba28510855455.js → 404-d30fe85d005ce32b.js} +1 -1
  54. package/packages/scrabble-solver/.next/static/chunks/pages/_app-e27464a187a58684.js +28 -0
  55. package/packages/scrabble-solver/.next/static/chunks/pages/index-3fd280f406cc00fd.js +1 -0
  56. package/packages/scrabble-solver/.next/static/css/4bd04cebe207859c.css +1 -0
  57. package/packages/scrabble-solver/.next/static/css/5b3b78170f4c5875.css +2 -0
  58. package/packages/scrabble-solver/.next/trace +50 -53
  59. package/packages/scrabble-solver/next.config.js +1 -0
  60. package/packages/scrabble-solver/package-lock.json +137 -5220
  61. package/packages/scrabble-solver/package.json +11 -12
  62. package/packages/scrabble-solver/src/@types/svg.d.ts +1 -1
  63. package/packages/scrabble-solver/src/components/Board/Board.tsx +48 -44
  64. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.tsx +4 -2
  65. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +59 -1
  66. package/packages/scrabble-solver/src/components/Board/hooks/useGrid.ts +5 -3
  67. package/packages/scrabble-solver/src/components/Button/Button.module.scss +1 -1
  68. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss +1 -1
  69. package/packages/scrabble-solver/src/components/Loading/Loading.tsx +1 -1
  70. package/packages/scrabble-solver/src/components/Logo/Logo.tsx +10 -12
  71. package/packages/scrabble-solver/src/components/Logo/LogoBlueprint.tsx +21 -0
  72. package/packages/scrabble-solver/src/components/Logo/index.ts +1 -1
  73. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss +1 -6
  74. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +15 -8
  75. package/packages/scrabble-solver/src/components/NavButtons/NavButtons.tsx +2 -2
  76. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss +59 -0
  77. package/packages/scrabble-solver/src/components/Results/HeaderButton.tsx +6 -6
  78. package/packages/scrabble-solver/src/components/Results/Results.module.scss +3 -0
  79. package/packages/scrabble-solver/src/components/Results/Results.tsx +7 -7
  80. package/packages/scrabble-solver/src/components/Results/useColumns.ts +2 -5
  81. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +6 -23
  82. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +2 -1
  83. package/packages/scrabble-solver/src/components/Tile/Tile.tsx +8 -4
  84. package/packages/scrabble-solver/src/components/index.ts +0 -3
  85. package/packages/scrabble-solver/src/hooks/index.ts +6 -0
  86. package/packages/scrabble-solver/src/hooks/useAppLayout.ts +62 -12
  87. package/packages/scrabble-solver/src/hooks/useEffectOnce.ts +5 -0
  88. package/packages/scrabble-solver/src/hooks/useIsTouchDevice.ts +1 -1
  89. package/packages/scrabble-solver/src/hooks/useLatest.ts +13 -0
  90. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +51 -0
  91. package/packages/scrabble-solver/src/hooks/useMedia.ts +36 -0
  92. package/packages/scrabble-solver/src/hooks/useMediaQueries.ts +13 -0
  93. package/packages/scrabble-solver/src/hooks/useMediaQuery.ts +2 -1
  94. package/packages/scrabble-solver/src/hooks/useOnWindowResize.ts +13 -0
  95. package/packages/scrabble-solver/src/hooks/useViewportSize.ts +19 -0
  96. package/packages/scrabble-solver/src/i18n/constants.ts +14 -14
  97. package/packages/scrabble-solver/src/i18n/de.json +2 -2
  98. package/packages/scrabble-solver/src/i18n/en.json +2 -2
  99. package/packages/scrabble-solver/src/i18n/es.json +2 -2
  100. package/packages/scrabble-solver/src/i18n/fa.json +1 -1
  101. package/packages/scrabble-solver/src/i18n/fr.json +2 -2
  102. package/packages/scrabble-solver/src/i18n/pl.json +2 -2
  103. package/packages/scrabble-solver/src/lib/arrayEquals.ts +5 -0
  104. package/packages/scrabble-solver/src/lib/index.ts +1 -0
  105. package/packages/scrabble-solver/src/lib/zipCharactersAndTiles.ts +3 -1
  106. package/packages/scrabble-solver/src/modals/DictionaryModal/DictionaryModal.tsx +2 -2
  107. package/packages/scrabble-solver/src/modals/KeyMapModal/KeyMapModal.tsx +2 -2
  108. package/packages/scrabble-solver/src/modals/KeyMapModal/keys.tsx +0 -2
  109. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +28 -4
  110. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +4 -4
  111. package/packages/scrabble-solver/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +2 -2
  112. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss +1 -5
  113. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.tsx +10 -2
  114. package/packages/scrabble-solver/src/modals/SettingsModal/SettingsModal.tsx +2 -2
  115. package/packages/scrabble-solver/src/modals/SettingsModal/components/AutoGroupTilesSetting/lib.ts +3 -1
  116. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -1
  117. package/packages/scrabble-solver/src/modals/WordsModal/WordsModal.tsx +2 -2
  118. package/packages/scrabble-solver/src/pages/index.module.scss +3 -21
  119. package/packages/scrabble-solver/src/pages/index.tsx +51 -67
  120. package/packages/scrabble-solver/src/parameters/index.ts +29 -2
  121. package/packages/scrabble-solver/src/state/localStorage.ts +13 -2
  122. package/packages/scrabble-solver/src/state/sagas.ts +16 -8
  123. package/packages/scrabble-solver/src/state/slices/boardInitialState.ts +5 -1
  124. package/packages/scrabble-solver/src/state/slices/boardSlice.ts +2 -2
  125. package/packages/scrabble-solver/src/state/slices/rackInitialState.ts +8 -2
  126. package/packages/scrabble-solver/src/state/slices/rackSlice.ts +16 -13
  127. package/packages/scrabble-solver/src/state/slices/settingsInitialState.ts +9 -4
  128. package/packages/scrabble-solver/src/state/slices/settingsSlice.ts +3 -1
  129. package/packages/scrabble-solver/src/styles/animations.scss +0 -20
  130. package/packages/scrabble-solver/src/styles/global.scss +0 -7
  131. package/packages/scrabble-solver/src/styles/mixins.scss +0 -59
  132. package/packages/scrabble-solver/src/styles/variables.scss +11 -0
  133. package/packages/scrabble-solver/src/types/index.ts +4 -0
  134. package/packages/solver/package-lock.json +3 -10
  135. package/packages/solver/package.json +5 -5
  136. package/packages/types/package.json +2 -2
  137. package/packages/word-definitions/package-lock.json +3 -153
  138. package/packages/word-definitions/package.json +2 -2
  139. package/packages/word-lists/package-lock.json +9 -401
  140. package/packages/word-lists/package.json +2 -2
  141. package/packages/scrabble-solver/.next/static/USLkKOoHbITebIEHkMGX_/_buildManifest.js +0 -1
  142. package/packages/scrabble-solver/.next/static/chunks/pages/_app-21c83ddb81fc09d0.js +0 -28
  143. package/packages/scrabble-solver/.next/static/chunks/pages/index-0858deea02b2a417.js +0 -1
  144. package/packages/scrabble-solver/.next/static/css/885da289cec275b3.css +0 -1
  145. package/packages/scrabble-solver/.next/static/css/ea1c8134fe9a143e.css +0 -2
  146. package/packages/scrabble-solver/src/components/LogoSplashScreen/LogoSplashScreen.module.scss +0 -65
  147. package/packages/scrabble-solver/src/components/LogoSplashScreen/LogoSplashScreen.tsx +0 -31
  148. package/packages/scrabble-solver/src/components/LogoSplashScreen/index.ts +0 -1
  149. package/packages/scrabble-solver/src/components/Sizer/Sizer.module.scss +0 -10
  150. package/packages/scrabble-solver/src/components/Sizer/Sizer.tsx +0 -10
  151. package/packages/scrabble-solver/src/components/Sizer/index.ts +0 -1
  152. package/packages/scrabble-solver/src/components/SplashScreen/SplashScreen.module.scss +0 -14
  153. package/packages/scrabble-solver/src/components/SplashScreen/SplashScreen.tsx +0 -19
  154. package/packages/scrabble-solver/src/components/SplashScreen/index.ts +0 -1
  155. package/packages/scrabble-solver/src/hooks/useLocalStorage/index.ts +0 -1
  156. package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorage.ts +0 -13
  157. package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageBoard.ts +0 -29
  158. package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageConfigId.ts +0 -29
  159. package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageLocale.ts +0 -32
  160. package/packages/scrabble-solver/src/hooks/useLocalStorage/useLocalStorageRack.ts +0 -29
  161. /package/packages/scrabble-solver/.next/static/{USLkKOoHbITebIEHkMGX_ → UzQCOB6CHhyOupkEq8oZM}/_ssgManifest.js +0 -0
  162. /package/packages/scrabble-solver/{src/components/Logo/Logo.svg → public/logo.svg} +0 -0
@@ -1,9 +1,10 @@
1
1
  import { createSlice, PayloadAction } from '@reduxjs/toolkit';
2
2
  import { Tile } from '@scrabble-solver/types';
3
3
 
4
- import { createNullMovingComparator, inverseDirection, zipCharactersAndTiles } from 'lib';
4
+ import { arrayEquals, createNullMovingComparator, inverseDirection, zipCharactersAndTiles } from 'lib';
5
+ import { AutoGroupTiles, Rack } from 'types';
5
6
 
6
- import rackInitialState from './rackInitialState';
7
+ import rackInitialState, { rackDefaultState } from './rackInitialState';
7
8
 
8
9
  const rackSlice = createSlice({
9
10
  initialState: rackInitialState,
@@ -14,28 +15,30 @@ const rackSlice = createSlice({
14
15
  return [...state.slice(0, index), character, ...state.slice(index + 1)];
15
16
  },
16
17
 
17
- changeCharacters: (state, action: PayloadAction<{ characters: (string | null)[]; index: number }>) => {
18
+ changeCharacters: (state, action: PayloadAction<{ characters: Rack; index: number }>) => {
18
19
  const { characters, index } = action.payload;
20
+
21
+ if (characters.length === 0) {
22
+ return state;
23
+ }
24
+
19
25
  const expectedRackLength = state.length;
20
26
  const rack = [...state.slice(0, index), ...characters, ...state.slice(index + characters.length)];
21
27
  return rack.slice(0, expectedRackLength);
22
28
  },
23
29
 
24
- groupTiles: (state, action: PayloadAction<'left' | 'right' | null>) => {
25
- const direction = action.payload;
26
-
27
- if (direction === null) {
30
+ groupTiles: (state, action: PayloadAction<AutoGroupTiles>) => {
31
+ if (action.payload === null) {
28
32
  return state;
29
33
  }
30
34
 
31
- const nullMovingComparator = createNullMovingComparator(inverseDirection(direction));
35
+ const nullMovingComparator = createNullMovingComparator(inverseDirection(action.payload));
32
36
  const sortedTiles = [...state].sort(nullMovingComparator);
33
- return sortedTiles;
37
+ return arrayEquals(state, sortedTiles) ? state : sortedTiles;
34
38
  },
35
39
 
36
- init: (_state, action: PayloadAction<(string | null)[]>) => {
37
- const rack = action.payload;
38
- return rack;
40
+ init: (state, action: PayloadAction<Rack>) => {
41
+ return arrayEquals(state, action.payload) ? state : action.payload;
39
42
  },
40
43
 
41
44
  removeTiles: (state, action: PayloadAction<Tile[]>) => {
@@ -45,7 +48,7 @@ const rackSlice = createSlice({
45
48
  return charactersWithoutMatchingTiles;
46
49
  },
47
50
 
48
- reset: () => rackInitialState,
51
+ reset: () => rackDefaultState,
49
52
  },
50
53
  });
51
54
 
@@ -2,17 +2,22 @@ import { literaki, scrabble } from '@scrabble-solver/configs';
2
2
  import { Locale } from '@scrabble-solver/types';
3
3
 
4
4
  import { guessLocale } from 'lib';
5
+ import { AutoGroupTiles } from 'types';
6
+
7
+ import localStorage from '../localStorage';
5
8
 
6
9
  export interface SettingsState {
7
- autoGroupTiles: 'left' | 'right' | null;
10
+ autoGroupTiles: AutoGroupTiles;
8
11
  configId: typeof literaki.id | typeof scrabble.id;
9
12
  locale: Locale;
10
13
  }
11
14
 
15
+ const localStorageAutoGroupTiles = localStorage.getAutoGroupTiles();
16
+
12
17
  const settingsInitialState: SettingsState = {
13
- autoGroupTiles: 'left',
14
- configId: scrabble.id,
15
- locale: guessLocale(),
18
+ autoGroupTiles: typeof localStorageAutoGroupTiles === 'undefined' ? 'left' : localStorageAutoGroupTiles,
19
+ configId: localStorage.getConfigId() || scrabble.id,
20
+ locale: localStorage.getLocale() || guessLocale(),
16
21
  };
17
22
 
18
23
  export default settingsInitialState;
@@ -1,13 +1,15 @@
1
1
  import { createSlice, PayloadAction } from '@reduxjs/toolkit';
2
2
  import { Locale } from '@scrabble-solver/types';
3
3
 
4
+ import { AutoGroupTiles } from 'types';
5
+
4
6
  import settingsInitialState from './settingsInitialState';
5
7
 
6
8
  const settingsSlice = createSlice({
7
9
  initialState: settingsInitialState,
8
10
  name: 'settings',
9
11
  reducers: {
10
- changeAutoGroupTiles: (state, action: PayloadAction<'left' | 'right' | null>) => {
12
+ changeAutoGroupTiles: (state, action: PayloadAction<AutoGroupTiles>) => {
11
13
  const autoGroupTiles = action.payload;
12
14
  return { ...state, autoGroupTiles };
13
15
  },
@@ -18,16 +18,6 @@
18
18
  }
19
19
  }
20
20
 
21
- @keyframes progress {
22
- 0% {
23
- clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
24
- }
25
-
26
- 100% {
27
- clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
28
- }
29
- }
30
-
31
21
  @keyframes rotate {
32
22
  0% {
33
23
  transform: rotate(0deg);
@@ -38,16 +28,6 @@
38
28
  }
39
29
  }
40
30
 
41
- @keyframes pulse {
42
- 0% {
43
- transform: scale(1);
44
- }
45
-
46
- 100% {
47
- transform: scale(1.2);
48
- }
49
- }
50
-
51
31
  @keyframes wave {
52
32
  $offset: 6px;
53
33
 
@@ -23,13 +23,6 @@ body {
23
23
  font-family: var(--font--family);
24
24
  font-size: var(--font--size--m);
25
25
  line-height: var(--line-height);
26
- overflow: hidden;
27
- }
28
-
29
- html,
30
- body,
31
- #__next {
32
- height: 100%;
33
26
  }
34
27
 
35
28
  a {
@@ -110,62 +110,3 @@ $media-expressions: (
110
110
  text-shadow: $size 0 $color, (-$size) 0 $color, 0 $size $color, 0 (-$size) $color, (-$size) (-$size) $color,
111
111
  (-$size) $size $color, $size (-$size) $color, $size $size $color;
112
112
  }
113
-
114
- @mixin lighthouse-input-size-hack {
115
- // Hack for this Lighthouse warning:
116
- // > Interactive elements like buttons and links should be large enough (48x48px), and have
117
- // > enough space around them, to be easy enough to tap without overlapping onto other elements.
118
-
119
- input {
120
- position: absolute;
121
- top: -100%;
122
- right: -100%;
123
- left: -100%;
124
- bottom: -100%;
125
- width: 300%;
126
- height: 300%;
127
- clip-path: inset((100% / 3));
128
- }
129
-
130
- [dir='ltr'] & {
131
- &:nth-child(1),
132
- &:nth-child(2),
133
- &:nth-child(3) {
134
- input {
135
- left: 0;
136
- clip-path: polygon(0 (100% / 3), (100% / 3) (100% / 3), (100% / 3) (200% / 3), 0 (200% / 3));
137
- }
138
- }
139
-
140
- &:nth-last-child(1),
141
- &:nth-last-child(2),
142
- &:nth-last-child(3) {
143
- input {
144
- left: -200%;
145
- clip-path: polygon((200% / 3) (100% / 3), 100% (100% / 3), 100% (200% / 3), (200% / 3) (200% / 3));
146
- }
147
- }
148
- }
149
-
150
- [dir='rtl'] & {
151
- &:nth-child(1),
152
- &:nth-child(2),
153
- &:nth-child(3) {
154
- input {
155
- left: -200%;
156
- right: 0;
157
- clip-path: polygon((200% / 3) (100% / 3), 100% (100% / 3), 100% (200% / 3), (200% / 3) (200% / 3));
158
- }
159
- }
160
-
161
- &:nth-last-child(1),
162
- &:nth-last-child(2),
163
- &:nth-last-child(3) {
164
- input {
165
- left: 0;
166
- right: -200%;
167
- clip-path: polygon(0 (100% / 3), (100% / 3) (100% / 3), (100% / 3) (200% / 3), 0 (200% / 3));
168
- }
169
- }
170
- }
171
- }
@@ -108,13 +108,24 @@ $easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
108
108
 
109
109
  --button--icon--size: 24px;
110
110
  --dictionary--height: 260px;
111
+ --dictionary--height--mobile: 110px;
112
+ --logo--aspect-ratio: 682 / 166;
113
+ --logo--height: 60px;
111
114
  --modal--width: 370px;
115
+ --nav--height: calc(var(--logo--height) + var(--nav--padding));
116
+ --nav--padding: var(--spacing--l);
112
117
  --solver-column--width: 580px;
113
118
  --square-button--size: 32px;
114
119
  --text-input--height: 40px;
115
120
 
121
+ @include media('<l') {
122
+ --dictionary--height: var(--dictionary--height--mobile);
123
+ --logo--height: 48px;
124
+ }
125
+
116
126
  @include media('<s') {
117
127
  --box-shadow--blur: 5px;
128
+ --modal--width: 100%;
118
129
  }
119
130
 
120
131
  @include media('<xs') {
@@ -1,5 +1,7 @@
1
1
  export type Comparator<T> = (a: T, B: T) => number;
2
2
 
3
+ export type AutoGroupTiles = 'left' | 'right' | null;
4
+
3
5
  export type Direction = 'horizontal' | 'vertical';
4
6
 
5
7
  export interface Point {
@@ -7,6 +9,8 @@ export interface Point {
7
9
  y: number;
8
10
  }
9
11
 
12
+ export type Rack = (string | null)[];
13
+
10
14
  export interface Sort {
11
15
  column: ResultColumn;
12
16
  direction: SortDirection;
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@scrabble-solver/solver",
3
- "version": "2.11.3",
4
- "lockfileVersion": 2,
3
+ "version": "2.11.5",
4
+ "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/solver",
9
- "version": "2.11.3",
9
+ "version": "2.11.5",
10
10
  "license": "CC-BY-NC-ND-4.0",
11
11
  "dependencies": {
12
12
  "@kamilmielnik/trie": "^2.0.1"
@@ -20,12 +20,5 @@
20
20
  "node": ">=16"
21
21
  }
22
22
  }
23
- },
24
- "dependencies": {
25
- "@kamilmielnik/trie": {
26
- "version": "2.0.1",
27
- "resolved": "https://registry.npmjs.org/@kamilmielnik/trie/-/trie-2.0.1.tgz",
28
- "integrity": "sha512-6Ulw5/xgFRadHsx0uVnpOxB2E2ZO2osnaakI26yS3RMlww580JiaQEfXUmQjXZcmOjcO+HrZ0CWjRDhoDYKHbg=="
29
- }
30
23
  }
31
24
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/solver",
3
- "version": "2.11.3",
3
+ "version": "2.11.5",
4
4
  "description": "Scrabble Solver 2 - Solver",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -25,12 +25,12 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@kamilmielnik/trie": "^2.0.1",
28
- "@scrabble-solver/types": "^2.11.3"
28
+ "@scrabble-solver/types": "^2.11.5"
29
29
  },
30
30
  "devDependencies": {
31
- "@scrabble-solver/configs": "^2.11.3",
32
- "@scrabble-solver/constants": "^2.11.3",
33
- "@scrabble-solver/dictionaries": "^2.11.3"
31
+ "@scrabble-solver/configs": "^2.11.5",
32
+ "@scrabble-solver/constants": "^2.11.5",
33
+ "@scrabble-solver/dictionaries": "^2.11.5"
34
34
  },
35
35
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
36
36
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/types",
3
- "version": "2.11.3",
3
+ "version": "2.11.5",
4
4
  "description": "Scrabble Solver 2 - Types",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -24,7 +24,7 @@
24
24
  "clean:force": "npm run clean && rimraf package-lock.json"
25
25
  },
26
26
  "dependencies": {
27
- "@scrabble-solver/constants": "^2.11.3"
27
+ "@scrabble-solver/constants": "^2.11.5"
28
28
  },
29
29
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
30
30
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.11.3",
4
- "lockfileVersion": 2,
3
+ "version": "2.11.5",
4
+ "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/word-definitions",
9
- "version": "2.11.3",
9
+ "version": "2.11.5",
10
10
  "license": "CC-BY-NC-ND-4.0",
11
11
  "dependencies": {
12
12
  "cheerio": "^1.0.0-rc.12",
@@ -237,155 +237,5 @@
237
237
  "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz",
238
238
  "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
239
239
  }
240
- },
241
- "dependencies": {
242
- "@types/follow-redirects": {
243
- "version": "1.14.1",
244
- "resolved": "https://registry.npmjs.org/@types/follow-redirects/-/follow-redirects-1.14.1.tgz",
245
- "integrity": "sha512-THBEFwqsLuU/K62B5JRwab9NW97cFmL4Iy34NTMX0bMycQVzq2q7PKOkhfivIwxdpa/J72RppgC42vCHfwKJ0Q==",
246
- "dev": true,
247
- "requires": {
248
- "@types/node": "*"
249
- }
250
- },
251
- "@types/node": {
252
- "version": "18.15.3",
253
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
254
- "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
255
- "dev": true
256
- },
257
- "boolbase": {
258
- "version": "1.0.0",
259
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
260
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
261
- },
262
- "cheerio": {
263
- "version": "1.0.0-rc.12",
264
- "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
265
- "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
266
- "requires": {
267
- "cheerio-select": "^2.1.0",
268
- "dom-serializer": "^2.0.0",
269
- "domhandler": "^5.0.3",
270
- "domutils": "^3.0.1",
271
- "htmlparser2": "^8.0.1",
272
- "parse5": "^7.0.0",
273
- "parse5-htmlparser2-tree-adapter": "^7.0.0"
274
- }
275
- },
276
- "cheerio-select": {
277
- "version": "2.1.0",
278
- "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
279
- "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
280
- "requires": {
281
- "boolbase": "^1.0.0",
282
- "css-select": "^5.1.0",
283
- "css-what": "^6.1.0",
284
- "domelementtype": "^2.3.0",
285
- "domhandler": "^5.0.3",
286
- "domutils": "^3.0.1"
287
- }
288
- },
289
- "css-select": {
290
- "version": "5.1.0",
291
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
292
- "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
293
- "requires": {
294
- "boolbase": "^1.0.0",
295
- "css-what": "^6.1.0",
296
- "domhandler": "^5.0.2",
297
- "domutils": "^3.0.1",
298
- "nth-check": "^2.0.1"
299
- }
300
- },
301
- "css-what": {
302
- "version": "6.1.0",
303
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
304
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
305
- },
306
- "dom-serializer": {
307
- "version": "2.0.0",
308
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
309
- "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
310
- "requires": {
311
- "domelementtype": "^2.3.0",
312
- "domhandler": "^5.0.2",
313
- "entities": "^4.2.0"
314
- }
315
- },
316
- "domelementtype": {
317
- "version": "2.3.0",
318
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
319
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
320
- },
321
- "domhandler": {
322
- "version": "5.0.3",
323
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
324
- "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
325
- "requires": {
326
- "domelementtype": "^2.3.0"
327
- }
328
- },
329
- "domutils": {
330
- "version": "3.0.1",
331
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
332
- "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
333
- "requires": {
334
- "dom-serializer": "^2.0.0",
335
- "domelementtype": "^2.3.0",
336
- "domhandler": "^5.0.1"
337
- }
338
- },
339
- "entities": {
340
- "version": "4.4.0",
341
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
342
- "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA=="
343
- },
344
- "follow-redirects": {
345
- "version": "1.15.2",
346
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
347
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
348
- },
349
- "htmlparser2": {
350
- "version": "8.0.1",
351
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
352
- "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
353
- "requires": {
354
- "domelementtype": "^2.3.0",
355
- "domhandler": "^5.0.2",
356
- "domutils": "^3.0.1",
357
- "entities": "^4.3.0"
358
- }
359
- },
360
- "nth-check": {
361
- "version": "2.1.1",
362
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
363
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
364
- "requires": {
365
- "boolbase": "^1.0.0"
366
- }
367
- },
368
- "parse5": {
369
- "version": "7.1.2",
370
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
371
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
372
- "requires": {
373
- "entities": "^4.4.0"
374
- }
375
- },
376
- "parse5-htmlparser2-tree-adapter": {
377
- "version": "7.0.0",
378
- "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
379
- "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
380
- "requires": {
381
- "domhandler": "^5.0.2",
382
- "parse5": "^7.0.0"
383
- }
384
- },
385
- "striptags": {
386
- "version": "3.2.0",
387
- "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz",
388
- "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw=="
389
- }
390
240
  }
391
241
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.11.3",
3
+ "version": "2.11.5",
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/ node_modules/ package-lock.json"
24
24
  },
25
25
  "dependencies": {
26
- "@scrabble-solver/types": "^2.11.3",
26
+ "@scrabble-solver/types": "^2.11.5",
27
27
  "cheerio": "^1.0.0-rc.12",
28
28
  "follow-redirects": "^1.15.2",
29
29
  "striptags": "^3.2.0"