scrabble-solver 2.15.24 → 2.16.0-alpha.0

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 (143) hide show
  1. package/.claude/settings.local.json +12 -1
  2. package/.github/workflows/build.yml +3 -5
  3. package/.github/workflows/{npx.yml → bunx.yml} +7 -11
  4. package/.github/workflows/deploy.yml +2 -2
  5. package/.github/workflows/{cypress.yml → e2e-tests.yml} +7 -7
  6. package/.github/workflows/oxfmt.yml +4 -6
  7. package/.github/workflows/{eslint.yml → oxlint.yml} +6 -8
  8. package/.github/workflows/{jest.yml → unit-tests.yml} +6 -8
  9. package/.nx/workspace-data/d/server-process.json +5 -0
  10. package/.nx/workspace-data/file-map.json +614 -602
  11. package/.nx/workspace-data/lockfile-dependencies.hash +1 -1
  12. package/.nx/workspace-data/lockfile-nodes.hash +1 -1
  13. package/.nx/workspace-data/nx_files.nxt +0 -0
  14. package/.nx/workspace-data/parsed-lock-file.dependencies.json +5297 -11117
  15. package/.nx/workspace-data/parsed-lock-file.nodes.json +16371 -7676
  16. package/.nx/workspace-data/project-graph.json +25734 -20117
  17. package/.nx/workspace-data/source-maps.json +96 -0
  18. package/.oxlintrc.json +314 -0
  19. package/CLAUDE.md +120 -0
  20. package/README.md +27 -25
  21. package/bin/scrabble-solver.js +1 -1
  22. package/bump-version.js +3 -4
  23. package/bun-test-globals.d.ts +1 -0
  24. package/bun.lock +3984 -0
  25. package/bun.test.preload.ts +21 -0
  26. package/bunfig.toml +2 -0
  27. package/lerna.json +1 -1
  28. package/package.json +28 -38
  29. package/packages/configs/build/games/literaki.d.ts +1 -1
  30. package/packages/configs/package.json +4 -4
  31. package/packages/constants/package.json +2 -2
  32. package/packages/dictionaries/package.json +5 -5
  33. package/packages/logger/package.json +2 -2
  34. package/packages/scrabble-solver/.next/BUILD_ID +1 -1
  35. package/packages/scrabble-solver/.next/build-manifest.json +9 -9
  36. package/packages/scrabble-solver/.next/cache/.previewinfo +1 -1
  37. package/packages/scrabble-solver/.next/cache/.rscinfo +1 -1
  38. package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
  39. package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
  40. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
  41. package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack.old +0 -0
  42. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
  43. package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
  44. package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
  45. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
  46. package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack.old +0 -0
  47. package/packages/scrabble-solver/.next/diagnostics/framework.json +1 -1
  48. package/packages/scrabble-solver/.next/prerender-manifest.json +4 -4
  49. package/packages/scrabble-solver/.next/required-server-files.js +2 -1
  50. package/packages/scrabble-solver/.next/required-server-files.json +2 -1
  51. package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
  52. package/packages/scrabble-solver/.next/server/chunks/30.js +1 -1
  53. package/packages/scrabble-solver/.next/server/chunks/712.js +1 -1
  54. package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
  55. package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
  56. package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
  57. package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
  58. package/packages/scrabble-solver/.next/server/pages/_error.js.nft.json +1 -1
  59. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
  60. package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
  61. package/packages/scrabble-solver/.next/server/pages/api/solve.js +1 -1
  62. package/packages/scrabble-solver/.next/server/pages/api/solve.js.nft.json +1 -1
  63. package/packages/scrabble-solver/.next/server/pages/api/verify.js.nft.json +1 -1
  64. package/packages/scrabble-solver/.next/server/pages/api/visit.js.nft.json +1 -1
  65. package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
  66. package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
  67. package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
  68. package/packages/scrabble-solver/.next/server/pages/not-found.html +1 -1
  69. package/packages/scrabble-solver/.next/server/webpack-api-runtime.js +1 -1
  70. package/packages/scrabble-solver/.next/static/{f_g0t0jBAscXxDrNYOuV0 → HFiEUpdZIGYd_XKb5mCLZ}/_buildManifest.js +1 -1
  71. package/packages/scrabble-solver/.next/static/chunks/{main-ca07941c8a544c9a.js → main-65a5015b46ca9827.js} +1 -1
  72. package/packages/scrabble-solver/.next/static/chunks/pages/{_app-369e5cb907606ad4.js → _app-9c9aaea7b6881765.js} +4 -4
  73. package/packages/scrabble-solver/.next/static/chunks/pages/{index-08b3b0a754095919.js → index-e9ea63e97865edcf.js} +1 -1
  74. package/packages/scrabble-solver/.next/static/css/{500cdc9a24075d91.css → 78726ae7cf7a5497.css} +1 -1
  75. package/packages/scrabble-solver/.next/trace +21 -21
  76. package/packages/scrabble-solver/.next/trace-build +1 -1
  77. package/packages/scrabble-solver/README.md +3 -3
  78. package/packages/scrabble-solver/next.config.js +1 -0
  79. package/packages/scrabble-solver/package.json +11 -10
  80. package/packages/scrabble-solver/public/service-worker.js +1 -1
  81. package/packages/scrabble-solver/src/@types/scss.d.ts +5 -0
  82. package/packages/scrabble-solver/src/components/Board/Board.module.scss +2 -2
  83. package/packages/scrabble-solver/src/components/Board/components/Actions/Actions.module.scss +1 -1
  84. package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +26 -6
  85. package/packages/scrabble-solver/src/components/Board/components/InputPrompt/InputPrompt.module.scss +1 -1
  86. package/packages/scrabble-solver/src/components/Button/Button.module.scss +1 -1
  87. package/packages/scrabble-solver/src/components/Dictionary/Dictionary.module.scss +1 -1
  88. package/packages/scrabble-solver/src/components/DictionaryInput/DictionaryInput.module.scss +1 -1
  89. package/packages/scrabble-solver/src/components/IconButton/IconButton.module.scss +1 -1
  90. package/packages/scrabble-solver/src/components/Loading/Loading.module.scss +1 -1
  91. package/packages/scrabble-solver/src/components/Modal/Modal.module.scss +1 -1
  92. package/packages/scrabble-solver/src/components/Modal/Modal.tsx +0 -1
  93. package/packages/scrabble-solver/src/components/NotFound/NotFound.module.scss +1 -1
  94. package/packages/scrabble-solver/src/components/PlainTiles/PlainTiles.module.scss +1 -1
  95. package/packages/scrabble-solver/src/components/Rack/Rack.module.scss +11 -6
  96. package/packages/scrabble-solver/src/components/Rack/components/InputPrompt/InputPrompt.module.scss +1 -1
  97. package/packages/scrabble-solver/src/components/Rack/components/RackTile/RackTile.module.scss +1 -1
  98. package/packages/scrabble-solver/src/components/Radio/Radio.module.scss +1 -1
  99. package/packages/scrabble-solver/src/components/Results/Results.module.scss +1 -1
  100. package/packages/scrabble-solver/src/components/ResultsInput/ResultsInput.module.scss +1 -1
  101. package/packages/scrabble-solver/src/components/Solver/Solver.module.scss +1 -1
  102. package/packages/scrabble-solver/src/components/Solver/components/InsertButton/InsertButton.module.scss +1 -1
  103. package/packages/scrabble-solver/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.module.scss +1 -1
  104. package/packages/scrabble-solver/src/components/Spinner/Spinner.module.scss +1 -1
  105. package/packages/scrabble-solver/src/components/Tile/Tile.module.scss +1 -1
  106. package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +4 -52
  107. package/packages/scrabble-solver/src/hooks/useMedia.ts +0 -1
  108. package/packages/scrabble-solver/src/lib/isMac.ts +1 -1
  109. package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +1 -1
  110. package/packages/scrabble-solver/src/modals/RemainingTilesModal/components/Character/Character.module.scss +1 -1
  111. package/packages/scrabble-solver/src/modals/ResultsModal/ResultsModal.module.scss +1 -1
  112. package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -1
  113. package/packages/scrabble-solver/src/pages/_app.tsx +0 -1
  114. package/packages/scrabble-solver/src/parameters/index.ts +48 -47
  115. package/packages/scrabble-solver/src/sdk/fetchJson.ts +3 -7
  116. package/packages/scrabble-solver/src/service-worker/index.ts +0 -1
  117. package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +18 -12
  118. package/packages/scrabble-solver/src/state/board/slice.ts +6 -4
  119. package/packages/scrabble-solver/src/state/localStorage.ts +42 -52
  120. package/packages/scrabble-solver/src/state/sagas.ts +1 -2
  121. package/packages/scrabble-solver/src/state/settings/initialState.ts +7 -7
  122. package/packages/scrabble-solver/src/styles/_tokens.scss +59 -0
  123. package/packages/scrabble-solver/src/styles/global.scss +3 -3
  124. package/packages/scrabble-solver/src/styles/mixins.scss +13 -12
  125. package/packages/scrabble-solver/src/styles/variables.module.scss +53 -0
  126. package/packages/scrabble-solver/src/styles/variables.scss +44 -41
  127. package/packages/scrabble-solver/tsconfig.json +0 -1
  128. package/packages/scrabble-solver/tsconfig.tsbuildinfo +1 -1
  129. package/packages/solver/build/fillPattern.d.ts +1 -3
  130. package/packages/solver/package.json +8 -7
  131. package/packages/types/build/Result.d.ts +1 -1
  132. package/packages/types/package.json +3 -3
  133. package/packages/word-definitions/build/languages/english.js +1 -3
  134. package/packages/word-definitions/package.json +5 -4
  135. package/packages/word-definitions/src/languages/english.ts +0 -1
  136. package/packages/word-definitions/src/parse.test.ts +7 -2
  137. package/packages/word-lists/package.json +3 -3
  138. package/tsconfig.json +2 -1
  139. package/eslint.config.mjs +0 -722
  140. package/jest.config.js +0 -15
  141. package/jest.setup.js +0 -6
  142. package/tsconfig.jest.json +0 -11
  143. /package/packages/scrabble-solver/.next/static/{f_g0t0jBAscXxDrNYOuV0 → HFiEUpdZIGYd_XKb5mCLZ}/_ssgManifest.js +0 -0
@@ -21,7 +21,18 @@
21
21
  "Bash(npx jest *)",
22
22
  "Bash(xargs sed *)",
23
23
  "Bash(gh api *)",
24
- "Bash(find cypress/support -name \"index*\" -exec cat {} \\\\;)"
24
+ "Bash(find cypress/support -name \"index*\" -exec cat {} \\\\;)",
25
+ "Bash(npx eslint *)",
26
+ "Bash(file *.avif)",
27
+ "Bash(which convert *)",
28
+ "Bash(convert \"/home/kamil/desktop/ss/scrabble-word-game-pieces-arranged-grid-from-isolated-white-background_506134-13355.avif\" -resize 400x /tmp/ss3.png)",
29
+ "Read(//tmp/**)",
30
+ "Bash(du -b /tmp/rect-*.png)",
31
+ "Bash(convert \"/tmp/rect-il_1080xN.4271871875_3ays.jpg.png\" -resize 600x /tmp/rect1-small.png)",
32
+ "Bash(convert \"/tmp/rect-they-finished-scrabble-board-game-using-the-letters-made-out-of-tiles-S37FPF.jpg.png\" -resize 600x /tmp/rect2-small.png)",
33
+ "Bash(convert *)",
34
+ "Bash(xargs -I {} dirname {})",
35
+ "Bash(xargs -I {} ls -1 {}/)"
25
36
  ]
26
37
  }
27
38
  }
@@ -11,8 +11,6 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v6
14
- - uses: actions/setup-node@v6
15
- with:
16
- node-version: 24.x
17
- - run: npm ci
18
- - run: npm run build
14
+ - uses: oven-sh/setup-bun@v2
15
+ - run: bun install --frozen-lockfile
16
+ - run: bun run build
@@ -1,28 +1,24 @@
1
- name: npx
1
+ name: bunx
2
2
 
3
3
  on:
4
4
  push:
5
5
  branches: [master]
6
- pull_request:
7
- branches: [master]
8
6
  schedule:
9
7
  - cron: '0 0 * * *' # every day at 00:00 UTC
10
8
  workflow_dispatch: # allow manual triggering
11
9
 
12
10
  jobs:
13
- npx:
11
+ bunx:
14
12
  runs-on: ubuntu-latest
15
- if: github.ref == 'refs/heads/master'
16
13
  steps:
17
14
  - uses: actions/checkout@v6
18
- - uses: actions/setup-node@v6
19
- with:
20
- node-version: 24.x
21
- - run: npm ci
22
- - run: npm run build
15
+ - uses: oven-sh/setup-bun@v2
16
+ - run: bun install --frozen-lockfile
17
+ - run: bun run build
23
18
  - uses: cypress-io/github-action@v7
24
19
  with:
25
- build: npm install --global scrabble-solver@latest
20
+ install: false
21
+ build: bun add --global scrabble-solver@latest
26
22
  start: scrabble-solver
27
23
  wait-on: 'http://localhost:3333'
28
24
  env:
@@ -23,6 +23,6 @@ jobs:
23
23
  cd /projects/scrabble-solver
24
24
  git checkout ${{ inputs.branch }}
25
25
  git pull origin ${{ inputs.branch }}
26
- npm install
27
- npm run build
26
+ bun install
27
+ bun run build
28
28
  sudo systemctl restart scrabble-solver.service
@@ -1,4 +1,4 @@
1
- name: Cypress
1
+ name: E2E tests
2
2
 
3
3
  on:
4
4
  push:
@@ -7,17 +7,17 @@ on:
7
7
  branches: [master]
8
8
 
9
9
  jobs:
10
- cypress:
10
+ e2e-tests:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v6
14
- - uses: actions/setup-node@v6
15
- with:
16
- node-version: 24.x
14
+ - uses: oven-sh/setup-bun@v2
15
+ - run: bun install --frozen-lockfile
17
16
  - uses: cypress-io/github-action@v6
18
17
  with:
19
- build: npm run build
20
- start: npm start
18
+ install: false
19
+ build: bun run build
20
+ start: bun start
21
21
  env:
22
22
  CYPRESS_BASE_URL: http://localhost:3333
23
23
  - uses: actions/upload-artifact@v7
@@ -1,4 +1,4 @@
1
- name: oxfmt
1
+ name: Format
2
2
 
3
3
  on:
4
4
  push:
@@ -11,10 +11,8 @@ jobs:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v6
14
- - uses: actions/setup-node@v6
15
- with:
16
- node-version: 24.x
17
- - run: npm ci
18
- - run: npm run oxfmt
14
+ - uses: oven-sh/setup-bun@v2
15
+ - run: bun install --frozen-lockfile
16
+ - run: bun run format
19
17
  env:
20
18
  CI: true
@@ -1,4 +1,4 @@
1
- name: ESLint
1
+ name: Lint
2
2
 
3
3
  on:
4
4
  push:
@@ -7,15 +7,13 @@ on:
7
7
  branches: [master]
8
8
 
9
9
  jobs:
10
- eslint:
10
+ oxlint:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v6
14
- - uses: actions/setup-node@v6
15
- with:
16
- node-version: 24.x
17
- - run: npm ci
18
- - run: npm run build
19
- - run: npm run lint
14
+ - uses: oven-sh/setup-bun@v2
15
+ - run: bun install --frozen-lockfile
16
+ - run: bun run build
17
+ - run: bun run lint
20
18
  env:
21
19
  CI: true
@@ -1,4 +1,4 @@
1
- name: Jest
1
+ name: Unit tests
2
2
 
3
3
  on:
4
4
  push:
@@ -7,15 +7,13 @@ on:
7
7
  branches: [master]
8
8
 
9
9
  jobs:
10
- jest:
10
+ unit-tests:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
13
  - uses: actions/checkout@v6
14
- - uses: actions/setup-node@v6
15
- with:
16
- node-version: 24.x
17
- - run: npm ci
18
- - run: npm run build
19
- - run: npm run test-jest
14
+ - uses: oven-sh/setup-bun@v2
15
+ - run: bun install --frozen-lockfile
16
+ - run: bun run build
17
+ - run: bun run test-unit
20
18
  env:
21
19
  CI: true
@@ -0,0 +1,5 @@
1
+ {
2
+ "processId": 91678,
3
+ "socketPath": "/tmp/858849413673719d1fee/d.sock",
4
+ "nxVersion": "22.6.5"
5
+ }