scrabble-solver 2.11.5 → 2.11.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +2 -2
  2. package/lerna.json +1 -1
  3. package/nx.json +19 -0
  4. package/package.json +1 -1
  5. package/packages/configs/package.json +3 -3
  6. package/packages/constants/package.json +1 -1
  7. package/packages/dictionaries/package-lock.json +2 -2
  8. package/packages/dictionaries/package.json +4 -4
  9. package/packages/logger/package-lock.json +2 -2
  10. package/packages/logger/package.json +1 -1
  11. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  12. package/packages/scrabble-solver/.next/build-manifest.json +11 -11
  13. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  14. package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
  15. package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
  16. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  17. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  18. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
  19. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  20. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  21. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  22. package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
  23. package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
  24. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  25. package/packages/scrabble-solver/.next/server/chunks/277.js +778 -746
  26. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  27. package/packages/scrabble-solver/.next/server/pages/404.html +1 -5
  28. package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
  29. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  30. package/packages/scrabble-solver/.next/server/pages/_app.js +9 -2
  31. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  32. package/packages/scrabble-solver/.next/server/pages/api/solve.js +29 -1
  33. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  34. package/packages/scrabble-solver/.next/server/pages/index.js +10 -4
  35. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  36. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  37. package/packages/scrabble-solver/.next/static/chunks/framework-2c5cac93e8c637b5.js +49 -0
  38. package/packages/scrabble-solver/.next/static/chunks/pages/{404-d30fe85d005ce32b.js → 404-ca203fa27afc37d8.js} +1 -1
  39. package/packages/scrabble-solver/.next/static/chunks/pages/_app-e89a3c225b87516a.js +28 -0
  40. package/packages/scrabble-solver/.next/static/chunks/pages/index-58744f49bf6b891f.js +1 -0
  41. package/packages/scrabble-solver/.next/static/css/34adfcf12a7d9bb6.css +1 -0
  42. package/packages/scrabble-solver/.next/static/css/edaeaa48321b4cf2.css +2 -0
  43. package/packages/scrabble-solver/.next/static/uhB6d-q63uRC6RubwepLq/_buildManifest.js +1 -0
  44. package/packages/scrabble-solver/.next/trace +50 -50
  45. package/packages/scrabble-solver/package-lock.json +2 -2
  46. package/packages/scrabble-solver/package.json +8 -8
  47. package/packages/scrabble-solver/src/components/Board/Board.module.scss +2 -59
  48. package/packages/scrabble-solver/src/components/Board/Board.tsx +22 -10
  49. package/packages/scrabble-solver/src/components/Board/BoardPure.tsx +13 -8
  50. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +8 -144
  51. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +18 -37
  52. package/packages/scrabble-solver/src/components/Board/hooks/index.ts +1 -0
  53. package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +170 -0
  54. package/packages/scrabble-solver/src/components/Board/lib/getBonusColor.ts +18 -0
  55. package/packages/scrabble-solver/src/components/Board/lib/index.ts +1 -0
  56. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +0 -1
  57. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.tsx +5 -3
  58. package/packages/scrabble-solver/src/components/EmptyState/EmptyState.module.scss +0 -1
  59. package/packages/scrabble-solver/src/components/Key/Key.module.scss +1 -1
  60. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.tsx +0 -10
  61. package/packages/scrabble-solver/src/components/PlainTiles/Tile.tsx +1 -4
  62. package/packages/scrabble-solver/src/components/Results/Cell.tsx +2 -2
  63. package/packages/scrabble-solver/src/components/Results/Result.tsx +4 -8
  64. package/packages/scrabble-solver/src/components/Results/Results.module.scss +5 -4
  65. package/packages/scrabble-solver/src/components/Solver/Solver.tsx +2 -2
  66. package/packages/scrabble-solver/src/components/Tooltip/Tooltip.module.scss +2 -0
  67. package/packages/scrabble-solver/src/components/index.ts +0 -2
  68. package/packages/scrabble-solver/src/hooks/useAppLayout.ts +1 -0
  69. package/packages/scrabble-solver/src/hooks/useDirection.ts +2 -2
  70. package/packages/scrabble-solver/src/hooks/useLanguage.ts +2 -2
  71. package/packages/scrabble-solver/src/i18n/constants.ts +25 -16
  72. package/packages/scrabble-solver/src/i18n/de.json +2 -2
  73. package/packages/scrabble-solver/src/i18n/en.json +2 -2
  74. package/packages/scrabble-solver/src/i18n/es.json +2 -2
  75. package/packages/scrabble-solver/src/i18n/fa.json +2 -2
  76. package/packages/scrabble-solver/src/i18n/fr.json +2 -2
  77. package/packages/scrabble-solver/src/i18n/pl.json +2 -2
  78. package/packages/scrabble-solver/src/lib/dataUrlToBlob.ts +20 -0
  79. package/packages/scrabble-solver/src/lib/index.ts +1 -0
  80. package/packages/scrabble-solver/src/modals/KeyMapModal/components/Mapping/Mapping.module.scss +0 -1
  81. package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.module.scss +0 -1
  82. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +0 -5
  83. package/packages/scrabble-solver/src/pages/_app.tsx +1 -3
  84. package/packages/scrabble-solver/src/pages/index.tsx +1 -3
  85. package/packages/scrabble-solver/src/parameters/index.ts +33 -2
  86. package/packages/scrabble-solver/src/state/index.ts +1 -1
  87. package/packages/scrabble-solver/src/state/sagas.ts +3 -4
  88. package/packages/scrabble-solver/src/state/store.ts +34 -0
  89. package/packages/scrabble-solver/src/styles/global.scss +4 -8
  90. package/packages/scrabble-solver/src/styles/mixins.scss +0 -1
  91. package/packages/scrabble-solver/src/styles/variables.scss +5 -5
  92. package/packages/solver/package-lock.json +2 -2
  93. package/packages/solver/package.json +5 -5
  94. package/packages/types/package.json +2 -2
  95. package/packages/word-definitions/package-lock.json +156 -6
  96. package/packages/word-definitions/package.json +2 -2
  97. package/packages/word-lists/package-lock.json +2 -2
  98. package/packages/word-lists/package.json +2 -2
  99. package/screencast.gif +0 -0
  100. package/img/screencast.gif +0 -0
  101. package/packages/scrabble-solver/.next/static/UzQCOB6CHhyOupkEq8oZM/_buildManifest.js +0 -1
  102. package/packages/scrabble-solver/.next/static/chunks/framework-2c79e2a64abdb08b.js +0 -33
  103. package/packages/scrabble-solver/.next/static/chunks/pages/_app-e27464a187a58684.js +0 -28
  104. package/packages/scrabble-solver/.next/static/chunks/pages/index-3fd280f406cc00fd.js +0 -1
  105. package/packages/scrabble-solver/.next/static/css/4bd04cebe207859c.css +0 -1
  106. package/packages/scrabble-solver/.next/static/css/5b3b78170f4c5875.css +0 -2
  107. package/packages/scrabble-solver/src/components/Board/components/Cell/CellPure.tsx +0 -93
  108. package/packages/scrabble-solver/src/components/Board/components/Cell/lib.ts +0 -59
  109. package/packages/scrabble-solver/src/components/SvgFontCss/SvgFontCss.tsx +0 -14
  110. package/packages/scrabble-solver/src/components/SvgFontCss/createCss.ts +0 -11
  111. package/packages/scrabble-solver/src/components/SvgFontCss/createStyle.ts +0 -9
  112. package/packages/scrabble-solver/src/components/SvgFontCss/createSvg.ts +0 -10
  113. package/packages/scrabble-solver/src/components/SvgFontCss/index.ts +0 -1
  114. package/packages/scrabble-solver/src/components/SvgFontFix/SvgFontFix.module.scss +0 -5
  115. package/packages/scrabble-solver/src/components/SvgFontFix/SvgFontFix.tsx +0 -21
  116. package/packages/scrabble-solver/src/components/SvgFontFix/index.ts +0 -1
  117. package/packages/scrabble-solver/src/state/createAppStore.ts +0 -38
  118. /package/packages/scrabble-solver/.next/static/{UzQCOB6CHhyOupkEq8oZM → uhB6d-q63uRC6RubwepLq}/_ssgManifest.js +0 -0
@@ -0,0 +1,20 @@
1
+ const dataUrlToBlob = (dataUrl: string): Blob => {
2
+ const [mime = '', data] = dataUrl.split(',');
3
+ const [, type] = mime.match(/:(.*?);/) || [];
4
+
5
+ if (typeof type !== 'string') {
6
+ throw new Error('Unsupported data URL');
7
+ }
8
+
9
+ const byteString = globalThis.atob(data);
10
+ const u8arr = new Uint8Array(byteString.length);
11
+ let index = byteString.length;
12
+
13
+ while (index--) {
14
+ u8arr[index] = byteString.charCodeAt(index);
15
+ }
16
+
17
+ return new Blob([u8arr], { type });
18
+ };
19
+
20
+ export default dataUrlToBlob;
@@ -8,6 +8,7 @@ export { default as createKeyComparator } from './createKeyComparator';
8
8
  export { default as createNullMovingComparator } from './createNullMovingComparator';
9
9
  export { default as createRegExp } from './createRegExp';
10
10
  export { default as createStringComparator } from './createStringComparator';
11
+ export { default as dataUrlToBlob } from './dataUrlToBlob';
11
12
  export { default as detectLocale } from './detectLocale';
12
13
  export { default as extractCharacters } from './extractCharacters';
13
14
  export { default as extractInputValue } from './extractInputValue';
@@ -9,7 +9,6 @@
9
9
  .description {
10
10
  margin-bottom: var(--spacing--m);
11
11
  font-size: var(--font--size--h3);
12
- font-family: var(--font--family--title);
13
12
  font-weight: 300;
14
13
  }
15
14
 
@@ -9,5 +9,4 @@
9
9
  .label {
10
10
  display: flex;
11
11
  align-items: center;
12
- font-family: var(--font--family--latin);
13
12
  }
@@ -10,11 +10,6 @@
10
10
  display: flex;
11
11
  align-items: center;
12
12
  gap: var(--spacing--l);
13
- font-family: var(--font--family--latin);
14
-
15
- &.fa {
16
- font-family: var(--font--family--arabic);
17
- }
18
13
  }
19
14
 
20
15
  .flag {
@@ -4,7 +4,7 @@ import { FunctionComponent } from 'react';
4
4
  import { Provider } from 'react-redux';
5
5
 
6
6
  import { SeoMessage } from 'components';
7
- import { createAppStore } from 'state';
7
+ import { store } from 'state';
8
8
 
9
9
  import 'styles/global.scss';
10
10
 
@@ -40,8 +40,6 @@ const KEYWORDS = [
40
40
  'Kamil Mielnik',
41
41
  ].join(',');
42
42
 
43
- const store = createAppStore();
44
-
45
43
  const App: FunctionComponent<AppProps> = ({ Component, pageProps }) => (
46
44
  <>
47
45
  <Head>
@@ -4,7 +4,7 @@ import { FunctionComponent, useCallback, useState } from 'react';
4
4
  import ReactModal from 'react-modal';
5
5
  import { useDispatch } from 'react-redux';
6
6
 
7
- import { Logo, NavButtons, Solver, SvgFontFix } from 'components';
7
+ import { Logo, NavButtons, Solver } from 'components';
8
8
  import { useDirection, useEffectOnce, useLanguage, useLocalStorage } from 'hooks';
9
9
  import { LOCALE_FEATURES } from 'i18n';
10
10
  import {
@@ -75,8 +75,6 @@ const Index: FunctionComponent<Props> = ({ version }) => {
75
75
 
76
76
  return (
77
77
  <>
78
- <SvgFontFix />
79
-
80
78
  <nav className={styles.nav}>
81
79
  <div className={styles.navContent}>
82
80
  <div className={styles.navLogo}>
@@ -19,6 +19,34 @@ export const COLOR_GREEN = '#bae3ba';
19
19
  export const COLOR_RED = '#f7c2aa';
20
20
  export const COLOR_YELLOW = '#efe3ae';
21
21
 
22
+ export const COLOR_BONUS_CHARACTER_1 = '#f7f1d6';
23
+ export const COLOR_BONUS_CHARACTER_2 = '#d6ebd6';
24
+ export const COLOR_BONUS_CHARACTER_3 = '#dde4f6';
25
+ export const COLOR_BONUS_CHARACTER_5 = '#fbe0d4';
26
+ export const COLOR_BONUS_CHARACTER_MULTIPLIER_2 = '#b8d5ed';
27
+ export const COLOR_BONUS_CHARACTER_MULTIPLIER_3 = '#86aed1';
28
+ export const COLOR_BONUS_START = '#b284b8';
29
+ export const COLOR_BONUS_WORD_MULTIPLIER_2 = '#fbc997';
30
+ export const COLOR_BONUS_WORD_MULTIPLIER_3 = '#f19393';
31
+ export const COLOR_FILTERED = '#444';
32
+
33
+ export const COLOR_BONUS_CHARACTER: Record<number, string> = {
34
+ 1: COLOR_BONUS_CHARACTER_1,
35
+ 2: COLOR_BONUS_CHARACTER_2,
36
+ 3: COLOR_BONUS_CHARACTER_3,
37
+ 5: COLOR_BONUS_CHARACTER_5,
38
+ };
39
+
40
+ export const COLOR_BONUS_CHARACTER_MULTIPLIER: Record<number, string> = {
41
+ 2: COLOR_BONUS_CHARACTER_MULTIPLIER_2,
42
+ 3: COLOR_BONUS_CHARACTER_MULTIPLIER_3,
43
+ };
44
+
45
+ export const COLOR_BONUS_WORD: Record<number, string> = {
46
+ 2: COLOR_BONUS_WORD_MULTIPLIER_2,
47
+ 3: COLOR_BONUS_WORD_MULTIPLIER_3,
48
+ };
49
+
22
50
  export const SPACING_XS = 2;
23
51
  export const SPACING_S = 5;
24
52
  export const SPACING_M = 10;
@@ -40,6 +68,9 @@ export const BOARD_TILE_SIZE_MAX = 64;
40
68
  */
41
69
  export const BOARD_TILE_SIZE_MIN = 20;
42
70
 
71
+ export const BORDER_COLOR = '#cdcdcd';
72
+ export const BORDER_COLOR_LIGHT = '#d9d9d9';
73
+ export const BORDER_RADIUS = 5;
43
74
  export const BORDER_WIDTH = 1;
44
75
 
45
76
  export const BUTTON_ICON_SIZE = 24;
@@ -90,10 +121,10 @@ export const RACK_TILE_SIZE_MAX = 80;
90
121
 
91
122
  export const REMAINING_TILES_TILE_SIZE = 50;
92
123
 
93
- export const RESULTS_HEADER_HEIGHT = 35;
94
-
95
124
  export const RESULTS_ITEM_HEIGHT = 40;
96
125
 
126
+ export const RESULTS_HEADER_HEIGHT = RESULTS_ITEM_HEIGHT;
127
+
97
128
  export const SOLVER_COLUMN_WIDTH = 580;
98
129
 
99
130
  export const TEXT_INPUT_HEIGHT = 40;
@@ -1,7 +1,7 @@
1
1
  export * from './actions';
2
- export { default as createAppStore } from './createAppStore';
3
2
  export { default as localStorage } from './localStorage';
4
3
  export * from './selectors';
5
4
  export * from './slices';
5
+ export { default as store } from './store';
6
6
  export { default as useTranslate } from './useTranslate';
7
7
  export { default as useTypedSelector } from './useTypedSelector';
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable max-lines */
2
2
 
3
3
  import { PayloadAction } from '@reduxjs/toolkit';
4
- import { COMMA_ARABIC, COMMA_LATIN } from '@scrabble-solver/constants';
5
4
  import { Locale, Result } from '@scrabble-solver/types';
6
5
  import { call, delay, put, select, takeEvery, takeLatest } from 'redux-saga/effects';
7
6
 
7
+ import { LOCALE_FEATURES } from 'i18n';
8
8
  import { memoize } from 'lib';
9
9
  import { findWordDefinitions, solve, verify, visit } from 'sdk';
10
10
 
@@ -144,9 +144,8 @@ function* onLocaleChange(): AnyGenerator {
144
144
 
145
145
  function* onResultCandidateChange({ payload: result }: PayloadAction<Result | null>): AnyGenerator {
146
146
  if (result) {
147
- const locale = yield select(selectLocale);
148
- const comma = locale === Locale.FA_IR ? ` ${COMMA_ARABIC}` : `${COMMA_LATIN} `;
149
- yield put(dictionarySlice.actions.changeInput(result.words.join(comma)));
147
+ const locale: Locale = yield select(selectLocale);
148
+ yield put(dictionarySlice.actions.changeInput(result.words.join(LOCALE_FEATURES[locale].separator)));
150
149
  yield put(dictionarySlice.actions.submit());
151
150
  }
152
151
  }
@@ -0,0 +1,34 @@
1
+ import { configureStore } from '@reduxjs/toolkit';
2
+ import reduxSaga from 'redux-saga';
3
+
4
+ import { rootSaga } from './sagas';
5
+ import {
6
+ boardSlice,
7
+ cellFilterSlice,
8
+ dictionarySlice,
9
+ rackSlice,
10
+ resultsSlice,
11
+ settingsSlice,
12
+ solveSlice,
13
+ verifySlice,
14
+ } from './slices';
15
+
16
+ const sagaMiddleware = reduxSaga();
17
+
18
+ const store = configureStore({
19
+ reducer: {
20
+ board: boardSlice.reducer,
21
+ cellFilter: cellFilterSlice.reducer,
22
+ dictionary: dictionarySlice.reducer,
23
+ rack: rackSlice.reducer,
24
+ results: resultsSlice.reducer,
25
+ settings: settingsSlice.reducer,
26
+ solve: solveSlice.reducer,
27
+ verify: verifySlice.reducer,
28
+ },
29
+ middleware: [sagaMiddleware],
30
+ });
31
+
32
+ sagaMiddleware.run(rootSaga);
33
+
34
+ export default store;
@@ -1,5 +1,3 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Open+Sans:wght@400;700&family=Vazirmatn:wght@300;400;700&family=Roboto+Mono&display=swap');
2
-
3
1
  @import '~normalize.css';
4
2
 
5
3
  @import './mixins';
@@ -11,6 +9,10 @@
11
9
  box-sizing: border-box;
12
10
  }
13
11
 
12
+ * {
13
+ font-family: var(--font--family);
14
+ }
15
+
14
16
  html,
15
17
  body {
16
18
  margin: 0 auto;
@@ -20,7 +22,6 @@ body {
20
22
  body {
21
23
  background-color: var(--color--background);
22
24
  color: var(--color--foreground);
23
- font-family: var(--font--family);
24
25
  font-size: var(--font--size--m);
25
26
  line-height: var(--line-height);
26
27
  }
@@ -44,8 +45,3 @@ h4 {
44
45
  -webkit-margin-after: 0;
45
46
  margin: 0;
46
47
  }
47
-
48
- [lang='fa-IR'] {
49
- --font--family: 'Vazirmatn', sans-serif;
50
- --font--family--title: var(--font--family);
51
- }
@@ -103,7 +103,6 @@ $media-expressions: (
103
103
  padding: 0 var(--spacing--l);
104
104
  transition: var(--transition);
105
105
  font-size: var(--font--size--m);
106
- font-family: var(--font--family);
107
106
  }
108
107
 
109
108
  @mixin text-stroke($color, $size: 1px) {
@@ -60,11 +60,9 @@ $easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
60
60
  --color--tooltip--background: #222;
61
61
  --color--tooltip--foreground: var(--color--white);
62
62
 
63
- --font--family: 'Open Sans', sans-serif;
64
- --font--family--latin: 'Open Sans', sans-serif;
65
- --font--family--arabic: 'Vazirmatn', sans-serif;
66
- --font--family--monospace: 'Roboto Mono', monospace;
67
- --font--family--title: 'Lato', sans-serif;
63
+ --font--family: system-ui, sans-serif;
64
+ --font--family--monospace: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono',
65
+ monospace;
68
66
  --font--size--h1: 30px;
69
67
  --font--size--h2: 22px;
70
68
  --font--size--h3: 18px;
@@ -114,9 +112,11 @@ $easeOutSine: cubic-bezier(0.61, 1, 0.88, 1);
114
112
  --modal--width: 370px;
115
113
  --nav--height: calc(var(--logo--height) + var(--nav--padding));
116
114
  --nav--padding: var(--spacing--l);
115
+ --results--item--height: 40px;
117
116
  --solver-column--width: 580px;
118
117
  --square-button--size: 32px;
119
118
  --text-input--height: 40px;
119
+ --tooltip--max-width: 360px;
120
120
 
121
121
  @include media('<l') {
122
122
  --dictionary--height: var(--dictionary--height--mobile);
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@scrabble-solver/solver",
3
- "version": "2.11.5",
3
+ "version": "2.11.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/solver",
9
- "version": "2.11.5",
9
+ "version": "2.11.7",
10
10
  "license": "CC-BY-NC-ND-4.0",
11
11
  "dependencies": {
12
12
  "@kamilmielnik/trie": "^2.0.1"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/solver",
3
- "version": "2.11.5",
3
+ "version": "2.11.7",
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.5"
28
+ "@scrabble-solver/types": "^2.11.7"
29
29
  },
30
30
  "devDependencies": {
31
- "@scrabble-solver/configs": "^2.11.5",
32
- "@scrabble-solver/constants": "^2.11.5",
33
- "@scrabble-solver/dictionaries": "^2.11.5"
31
+ "@scrabble-solver/configs": "^2.11.7",
32
+ "@scrabble-solver/constants": "^2.11.7",
33
+ "@scrabble-solver/dictionaries": "^2.11.7"
34
34
  },
35
35
  "gitHead": "1e2d1ad49a288d4a44196d8e3336740da132c637"
36
36
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/types",
3
- "version": "2.11.5",
3
+ "version": "2.11.7",
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.5"
27
+ "@scrabble-solver/constants": "^2.11.7"
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.5",
4
- "lockfileVersion": 3,
3
+ "version": "2.11.7",
4
+ "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/word-definitions",
9
- "version": "2.11.5",
9
+ "version": "2.11.7",
10
10
  "license": "CC-BY-NC-ND-4.0",
11
11
  "dependencies": {
12
12
  "cheerio": "^1.0.0-rc.12",
@@ -27,9 +27,9 @@
27
27
  }
28
28
  },
29
29
  "node_modules/@types/node": {
30
- "version": "18.15.3",
31
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz",
32
- "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==",
30
+ "version": "18.15.5",
31
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz",
32
+ "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==",
33
33
  "dev": true
34
34
  },
35
35
  "node_modules/boolbase": {
@@ -237,5 +237,155 @@
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.5",
253
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.5.tgz",
254
+ "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==",
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
+ }
240
390
  }
241
391
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-definitions",
3
- "version": "2.11.5",
3
+ "version": "2.11.7",
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.5",
26
+ "@scrabble-solver/types": "^2.11.7",
27
27
  "cheerio": "^1.0.0-rc.12",
28
28
  "follow-redirects": "^1.15.2",
29
29
  "striptags": "^3.2.0"
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@scrabble-solver/word-lists",
3
- "version": "2.11.5",
3
+ "version": "2.11.7",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@scrabble-solver/word-lists",
9
- "version": "2.11.5",
9
+ "version": "2.11.7",
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.11.5",
3
+ "version": "2.11.7",
4
4
  "description": "Scrabble Solver 2 - Word lists",
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/types": "^2.11.5",
27
+ "@scrabble-solver/types": "^2.11.7",
28
28
  "cheerio": "^1.0.0-rc.12",
29
29
  "follow-redirects": "^1.15.2",
30
30
  "unzipper": "^0.10.11"
package/screencast.gif ADDED
Binary file
Binary file
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/css/4bd04cebe207859c.css","static/chunks/pages/index-3fd280f406cc00fd.js"],"/404":["static/chunks/pages/404-d30fe85d005ce32b.js"],"/_error":["static/chunks/pages/_error-54de1933a164a1ff.js"],sortedPages:["/","/404","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();