tiennm99
f7fca073f7
Merge pull request #25 from tiennm99/dependabot/npm_and_yarn/minor-and-patch-4481dc1bf1
...
build(deps-dev): bump svelte from 5.56.7 to 5.56.8 in the minor-and-patch group across 1 directory
2026-07-25 11:48:35 +07:00
dependabot[bot]
ea2540c435
build(deps-dev): bump svelte
...
Bumps the minor-and-patch group with 1 update in the / directory: [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ).
Updates `svelte` from 5.56.7 to 5.56.8
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.56.8/packages/svelte )
---
updated-dependencies:
- dependency-name: svelte
dependency-version: 5.56.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 04:47:36 +00:00
tiennm99
ad7a460025
Merge pull request #23 from tiennm99/dependabot/npm_and_yarn/eslint-10.8.0
...
build(deps-dev): bump eslint from 9.39.5 to 10.8.0
2026-07-25 11:45:28 +07:00
dependabot[bot]
ada8bb1639
build(deps-dev): bump eslint from 9.39.5 to 10.8.0
...
Bumps [eslint](https://github.com/eslint/eslint ) from 9.39.5 to 10.8.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Commits](https://github.com/eslint/eslint/compare/v9.39.5...v10.8.0 )
---
updated-dependencies:
- dependency-name: eslint
dependency-version: 10.8.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-25 04:23:02 +00:00
tiennm99
31988fb8ce
Merge pull request #24 from tiennm99/feat/sveltekit
...
Migrate from Next.js to SvelteKit
2026-07-25 11:20:42 +07:00
tiennm99
b7612c7f64
chore: remove Next.js and repoint CI at the SvelteKit layout
...
sync-data.yml now writes static/champions.json. This is the edit that had to
land with the deletion of public/: the workflow reports success regardless of
which path it writes, so a miss would have left the weekly sync green while
the live game 404'd on data load.
deploy.yml publishes build/ and passes BASE_PATH. Adds ci.yml, which runs
test, lint, and build on pull_request and pushes to main -- the repo had no
PR-triggered workflow before, so 'green before merge' was previously
unenforceable.
Deletes app/, components/, lib/, public/, next.config.mjs and
postcss.config.mjs, drops the Next and React dependencies, and swaps ESLint
onto eslint-plugin-svelte. sharp and unrs-resolver left pnpm's allowBuilds
because both arrived with Next and pnpm why now reports no dependents.
2026-07-25 11:18:58 +07:00
tiennm99
bb4e8ea9b4
feat: rewrite components in Svelte 5 runes
...
Port all six React components. State becomes $state, memos become $derived,
and the gameRef mirror that existed only to dodge a stale closure is gone --
runes read current values at call time, so one $state holds the game.
Initialization moves to onMount rather than $effect: the page is prerendered,
so loadChampions and localStorage must be browser-only, and onMount encodes
that structurally instead of relying on the effect body happening to read no
reactive state.
champion-search becomes a real combobox/listbox: input carries the combobox
role with aria-expanded and aria-activedescendant, options are list items
wrapping buttons, and Escape closes the dropdown. Visual output is unchanged.
next/image becomes plain img -- every usage already passed unoptimized.
2026-07-25 11:14:35 +07:00
tiennm99
f253dfb4b0
refactor: port lib layer to src/lib
...
classic-mode.js moves byte-for-byte. champion-data.js swaps the Next.js
env-var fetch prefix for asset() from $app/paths, which resolves to
/champions.json in dev and /loldle/champions.json in the deployed build.
getChampionImageUrl keeps returning an absolute Data Dragon URL, unwrapped.
Drops three exports with no callers: getAllChampions, getChampionByName,
getGuessedNames.
The characterization suite passes unchanged against the new location -- only
import specifiers moved, no assertions touched.
2026-07-25 11:01:40 +07:00
tiennm99
2990fcc152
build: scaffold SvelteKit alongside the Next.js app
...
Add svelte.config.js (adapter-static, BASE_PATH-driven base), vite.config.js
(Tailwind v4 Vite plugin ahead of sveltekit), the src/ shell, and static/
holding a copy of champions.json plus .nojekyll.
Declares "type": "module" so Vite can load the .js config files; Next.js was
only unaffected because all its configs use .mjs. jsconfig keeps the @/* alias
so pnpm next:build stays runnable for side-by-side comparison during the port.
Next.js scripts move to next:* and both toolchains build from this commit.
2026-07-25 11:00:14 +07:00
tiennm99
f2819ead6d
test: add characterization tests for lib layer
...
Cover classic-mode comparison rules, game-engine state machine and
localStorage persistence, and champion-data search/seeding/loading with
Vitest. Storage keys are asserted literally so returning players' saved
games and stats cannot silently break.
Node environment with a hand-rolled localStorage stub; fixtures are four
hand-written champions so the weekly data sync cannot destabilise the
suite.
2026-07-25 10:54:36 +07:00
tiennm99
673f7b42dc
ci: pull champions data on Thursdays after upstream scrape
...
loldle-data scrapes Thursday 06:00 UTC but GitHub queues it 2-4h late, so pull at 12:00 UTC the same day instead of the following Monday.
2026-07-25 10:07:28 +07:00
github-actions[bot]
93df4fa208
chore(data): sync champions from loldle-data@b62f4f6
2026-07-25 02:52:26 +00:00
tiennm99
8279b16f9a
ci: pull champions data from loldle-data weekly
...
Replaces the upstream push-based fan-out with a scheduled pull, so this repo owns its own data refresh. Deploy is dispatched explicitly because a GITHUB_TOKEN push does not trigger workflows.
2026-07-25 09:52:11 +07:00
tiennm99
d8ba341773
build(deps): update dependencies and patch advisories
...
- bump actions/checkout to v7 and actions/setup-node to v7
- bump next to 16.2.10, react and react-dom to 19.2.7
- bump eslint-config-next to 16.2.10, tailwindcss and
@tailwindcss/postcss to 4.3.3, eslint to 9.39.5
- override @babel/core, js-yaml, and postcss to patched versions
- move pnpm build allowlist to pnpm-workspace.yaml
2026-07-17 17:57:20 +07:00
github-actions[bot]
bd8e03d577
chore(data): sync champions from loldle-data@1989d5f
2026-06-25 08:52:48 +00:00
github-actions[bot]
3029d5bbf6
chore(data): sync champions from loldle-data@0d025b4
2026-06-18 10:13:43 +00:00
github-actions[bot]
29e59208ec
chore(data): sync champions from loldle-data@ddd6924
2026-06-11 10:15:04 +00:00
github-actions[bot]
b8e0115fa8
chore(data): sync champions from loldle-data@cfab4ec
2026-05-28 09:53:12 +00:00
dependabot[bot]
54f2f5ac30
build(deps): bump the minor-and-patch group with 4 updates ( #10 )
...
Bumps the minor-and-patch group with 4 updates: [next](https://github.com/vercel/next.js ), [react](https://github.com/facebook/react/tree/HEAD/packages/react ), [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ) and [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next ).
Updates `next` from 16.2.3 to 16.2.6
- [Release notes](https://github.com/vercel/next.js/releases )
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js )
- [Commits](https://github.com/vercel/next.js/compare/v16.2.3...v16.2.6 )
Updates `react` from 19.2.4 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react )
Updates `react-dom` from 19.2.4 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react-dom )
Updates `eslint-config-next` from 16.2.2 to 16.2.6
- [Release notes](https://github.com/vercel/next.js/releases )
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js )
- [Commits](https://github.com/vercel/next.js/commits/v16.2.6/packages/eslint-config-next )
---
updated-dependencies:
- dependency-name: next
dependency-version: 16.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: react
dependency-version: 19.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: react-dom
dependency-version: 19.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: eslint-config-next
dependency-version: 16.2.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:02:31 +07:00
dependabot[bot]
1112f7e5f0
build(deps): bump pnpm/action-setup from 4 to 6 ( #9 )
...
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup ) from 4 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases )
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: pnpm/action-setup
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:02:26 +07:00
dependabot[bot]
65b00e86a9
build(deps): bump actions/setup-node from 4 to 6 ( #8 )
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 4 to 6.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:02:19 +07:00
dependabot[bot]
041cac4fc0
build(deps): bump actions/upload-pages-artifact from 3 to 5 ( #7 )
...
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact ) from 3 to 5.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases )
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-23 18:02:13 +07:00
dependabot[bot]
323b18a3cd
build(deps): bump actions/checkout from 4 to 6 ( #6 )
...
Squash merge: actions/checkout v4->v6
2026-05-23 18:02:06 +07:00
dependabot[bot]
f5f7f03f07
build(deps): bump actions/deploy-pages from 4 to 5 ( #5 )
...
Squash merge: actions/deploy-pages v4->v5
2026-05-23 18:02:01 +07:00
tiennm99
0716df6d32
chore: add dependabot config ( #4 )
2026-05-23 10:48:39 +07:00
github-actions[bot]
9460eca1da
chore(data): sync champions from loldle-data@07c2e48
2026-05-21 09:30:30 +00:00
github-actions[bot]
72045362ae
chore(data): sync champions from loldle-data@df64f11
2026-05-14 08:32:09 +00:00
tiennm99
aa3365f07b
chore(ci): bump node to 24
2026-05-13 10:52:26 +07:00
tiennm99
bf6946ac65
fix(ci): skip build scripts to avoid pnpm 11 ERR_PNPM_IGNORED_BUILDS
2026-05-13 10:31:03 +07:00
tiennm99
3cc59be0d9
fix(ci): bump node to 22 for pnpm 11 compatibility
2026-05-13 10:29:48 +07:00
tiennm99
b018aae4c9
fix(ci): migrate workflow from npm to pnpm
2026-05-13 10:28:40 +07:00
tiennm99
3d945709d2
Merge remote-tracking branch 'origin/main'
2026-05-13 10:22:10 +07:00
tiennm99
bde6c58224
chore: migrate from npm to pnpm
2026-05-13 10:21:09 +07:00
tiennm99
21606ac595
docs: flesh out README
2026-05-11 20:15:11 +07:00
dependabot[bot]
d7bed48d10
build(deps): bump next from 16.2.2 to 16.2.3 ( #1 )
...
Bumps [next](https://github.com/vercel/next.js ) from 16.2.2 to 16.2.3.
- [Release notes](https://github.com/vercel/next.js/releases )
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js )
- [Commits](https://github.com/vercel/next.js/compare/v16.2.2...v16.2.3 )
---
updated-dependencies:
- dependency-name: next
dependency-version: 16.2.3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 13:33:30 +07:00
github-actions[bot]
03862fa55e
chore(data): sync champions from loldle-data@0258706
2026-04-30 08:12:34 +00:00
github-actions[bot]
3c1e9323b7
chore(data): sync champions from loldle-data@7a9d4f6
2026-04-20 14:31:24 +00:00
github-actions[bot]
819c53885b
chore(data): sync champions from loldle-data@b01967f
2026-04-20 14:19:08 +00:00
tiennm99
f77d3207b6
feat: show newest guess on top of the grid ( #2 )
2026-04-20 18:30:00 +07:00
tiennm99
6c55a39190
update README credits to reference loldle-data repo
2026-04-06 11:04:02 +07:00
github-actions[bot]
1f61c3fddb
chore: update champions.json from loldle-data
2026-04-05 05:18:02 +00:00
tiennm99
29452c9cc6
fix: use local date for daily seed instead of UTC
...
toISOString() returned UTC date, causing the daily game to reset at
UTC midnight rather than local midnight. Users in UTC+ timezones
would see yesterday's completed game until the UTC date rolled over.
2026-04-05 01:14:37 +07:00
tiennm99
be995c4282
feat: clear expired daily game cache from localStorage on app load
2026-04-05 00:55:15 +07:00
tiennm99
4128be36b7
add chrome-dev-tools to gitignore
2026-04-05 00:55:10 +07:00
github-actions[bot]
3bd4a006a5
chore: update champions.json from loldle-data
2026-04-04 17:39:57 +00:00
github-actions[bot]
82b019a1e5
chore: update champions.json from loldle-data
2026-04-04 13:31:22 +00:00
github-actions[bot]
a813d03587
chore: update champions.json from loldle-data
2026-04-04 11:41:57 +00:00
tiennm99
3cfacb94f2
fix: derive basePath from repository name in CI workflow
2026-04-04 12:26:56 +07:00
tiennm99
52d6b03c23
fix: make basePath configurable via NEXT_PUBLIC_BASE_PATH env var
...
Enables platform-agnostic deployment — GitHub Pages sets the env var
in CI, while Vercel/Netlify/local dev default to root path.
2026-04-04 12:24:39 +07:00
tiennm99
8e739f1be2
fix: set basePath for GitHub Pages deployment
...
Assets and routes now correctly resolve under /loldle subdirectory.
2026-04-04 12:23:16 +07:00