Commit graph

4185 commits

Author SHA1 Message Date
Jordan Eldredge
e593cc12da Upgrade redux-thunk to v3 and tinyqueue to v3
Both now ship ESM. Updated imports to use named exports
(redux-thunk v3 dropped the default export).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 12:36:18 -07:00
Jordan Eldredge
e534b8e10c Remove unused devDependencies
Remove style-loader, url-loader (Webpack-era), canvas-mock,
react-test-renderer, glob, http-server, and @types/lodash-es.
None were imported anywhere in the codebase.

Replace http-server serve script with vite preview.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 12:23:52 -07:00
Jordan Eldredge
a4895b26fd
Migrate from Jest to Vitest (#1350)
- Replace Jest with Vitest for unit tests
- Remove integration tests (not used in CI, relied on puppeteer)
- Remove .babelrc (no longer needed — was only used for Jest transform)
- Remove jest-puppeteer, jest-image-snapshot, and related deps
- Replace jest.fn() with vi.fn() in test files
- Add vitest.config.ts with jsdom environment

All 224 unit tests pass. The postcss plugin test remains skipped
as before.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 12:20:29 -07:00
Jordan Eldredge
41d6ae0568 Remove Babel from library build pipeline
The rollup build already uses @rollup/plugin-typescript for type
stripping and JSX. Babel was running after it as a no-op for modern
targets. Now Babel is only used by Jest for ESM→CJS conversion.

Also removes @babel/preset-env since it's no longer needed.
Bundle size decreased by ~1.7KB.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:54:42 -07:00
Jordan Eldredge
a901afcff9 Move milkdrop-preset-converter-aws to devDependencies
The demo site still imports it, so it needs to remain as a dev
dependency for the Vite build. Consumers don't need it since it's
not used in the library bundle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:37:17 -07:00
Jordan Eldredge
65a1cd4461 Remove unused milkdrop-preset-converter-aws dependency
Not imported anywhere in the source. It was pulling in babel-runtime@6
and core-js@2 as transitive dependencies for consumers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:31:05 -07:00
Jordan Eldredge
81420f4487 Remove useBuiltIns/corejs config from Babel
These options told preset-env to inject core-js polyfills, but with
modern browser targets nothing was being polyfilled. Removes the
transitive core-js dependency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:21:18 -07:00
Jordan Eldredge
20b60ce3e3 Update lockfile and remove @types/fscreen
The lockfile was out of sync after dependency changes, causing CI
to fail with --frozen-lockfile.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:11:08 -07:00
Jordan Eldredge
4679f432c5 Replace fscreen with native Fullscreen API
The fscreen library was a vendor-prefix shim for the Fullscreen API.
All target browsers now support the unprefixed standard API natively.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:09:42 -07:00
Jordan Eldredge
115fc88f52 Remove unused Babel proposal plugins
These plugins handled class properties, optional chaining, nullish
coalescing, object rest spread, and dynamic import syntax — all of
which are natively supported by our target browsers. Bundle size is
unchanged, confirming they were no-ops.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 11:04:09 -07:00
Jordan Eldredge
622f945646 Move winamp-eqf to devDependencies
Same issue as ani-cursor: bundled at build time via rollup, so
consumers don't need it installed. The workspace:* protocol caused
install failures for users outside the workspace.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 10:55:19 -07:00
Jordan Eldredge
42314430d1 Fix docs to reference webamp@next instead of @main
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 10:51:47 -07:00
Jordan Eldredge
9fcc48bd8d Move ani-cursor to devDependencies
It's bundled at build time via rollup, so consumers don't need it
at install time. Having it as a dependency with workspace:* caused
install failures for users since the workspace protocol isn't
resolved during npm publish.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-07 10:50:46 -07:00
Jordan Eldredge
3a898b46d7
Remove unused RichText import from bluesky.ts to fix CI lint failure (#1346)
The RichText import from @atproto/api was unused after refactoring the
Bluesky posting logic to use manual facets instead of RichText helpers.
This caused the ESLint no-unused-vars rule to fail in CI.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 21:08:48 -07:00
Jordan Eldredge
247bda11ef Consolidate bluesky posts 2026-02-14 11:44:30 -08:00
Jordan Eldredge
2fe3235d51 Remove contained example and clarify position requirements 2026-01-01 15:44:11 -08:00
Jordan Eldredge
54dbe369d4
Fix TypeScript error in Webamp renderInto call (#1340)
Add non-null assertion operator to ref.current when calling webamp.renderInto()
to match the pattern used elsewhere in the component and resolve the CI type error:
"Argument of type 'HTMLDivElement | null' is not assignable to parameter of type 'HTMLElement'"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2026-01-01 15:19:31 -08:00
Jordan Eldredge
bce845962f Enable Webamp for scroll UI 2025-12-31 15:18:45 -08:00
Jordan Eldredge
4b784b6eaf Start wiring up Webamp in scroller museum UI 2025-12-31 15:00:16 -08:00
Jordan Eldredge
52f12327fa Persist search query in URL 2025-12-31 15:00:16 -08:00
Jordan Eldredge
1d10f7a1f4 Don't wait as long to hint that you can scroll 2025-12-31 15:00:16 -08:00
Jordan Eldredge
99f06d3bfc Remove logging 2025-12-31 15:00:16 -08:00
Lorenzo Stanco
162025f8a0
Webamp optionally fully contained into a DOM element (#1338)
* Webamp optionally fully contained into a DOM element

* Fix spelling

* Reenable updating search index for uploads

* Replace contained flag on renderWhenReady with a new method. Add docs

---------

Co-authored-by: Jordan Eldredge <jordan@jordaneldredge.com>
2025-12-31 14:59:14 -08:00
Jordan Eldredge
f600fb0344 lints 2025-12-30 04:46:47 +00:00
Jordan Eldredge
04c396ed1f Scroll search 2025-12-29 20:22:39 -08:00
Jordan Eldredge
f74d7a6cdf Move search input 2025-12-29 17:38:14 -08:00
Jordan Eldredge
1fb930cd63 New pages for scroll 2025-12-29 17:29:11 -08:00
Jordan Eldredge
8d4ff41f42 Improve scroll UI 2025-12-29 17:03:29 -08:00
Jordan Eldredge
e062a51a88 Improve scroll UI 2025-12-29 15:32:03 -08:00
Jordan Eldredge
0895f9191f Add explicit app routes 2025-12-29 15:17:06 -08:00
Jordan Eldredge
3b4e5b17c3 Remove blocklist of skins with viruses. These are now purged. 2025-12-29 13:15:46 -08:00
Jordan Eldredge
91618c9c6b Block downloading skin that seems to trigger security block 2025-12-29 11:52:11 -08:00
Jordan Eldredge
6c732f8e24 Add bulk download page 2025-12-29 11:35:45 -08:00
Jordan Eldredge
d87cb6ffa3 Switch away from cached api 2025-12-26 19:20:30 +00:00
Jordan Eldredge
6997c852f9 Get uploads working again 2025-12-26 19:20:30 +00:00
Jordan Eldredge
61476591f8 Trusted publishing 2025-12-17 16:51:54 -08:00
Jordan Eldredge
33003a8f8f
Patch butterchurn to use eel-wasm 98 to fix mod bug (#1334) 2025-12-15 22:21:26 -08:00
Jordan Eldredge
50a7c2df49
Fix lints (#1335)
* Fix lints

* Fix typechecking
2025-12-15 22:12:14 -08:00
Jordan Eldredge
1f875a6155 Migrate from pm2 to systemd 2025-12-03 18:20:18 -05:00
Jordan Eldredge
26a6002ce8 Fix deploy 2025-12-03 18:12:43 -05:00
Jordan Eldredge
bd6c978d79 Remove duplicate function 2025-12-03 18:12:43 -05:00
Jordan Eldredge
18ee5418b6 Avoid circular imports 2025-12-03 18:12:43 -05:00
Jordan Eldredge
af21934296 Use node version from nvm 2025-12-03 18:12:43 -05:00
Jordan Eldredge
4b793c30b2 Deploy take 1 2025-12-03 18:12:43 -05:00
Jordan Eldredge
a6b0350a00 Get syncing to the archive working again 2025-12-03 18:12:43 -05:00
Jordan Eldredge
964a7c5f2f
Upgrade next (#1333) 2025-12-03 15:12:22 -08:00
Jordan Eldredge
b00e359a78
Enable more lints (#1330) 2025-11-28 12:19:10 -08:00
Jordan Eldredge
d159308352
Use turbo lint for root lint script (#1329)
This ensures `pnpm run lint` at the monorepo root runs the same
lint tasks as CI (`npx turbo lint`), providing consistent behavior
between local development and CI.
2025-11-28 12:06:41 -08:00
Jordan Eldredge
d687f4b06c
Disable silly lint rule (#1328) 2025-11-28 11:53:25 -08:00
Jordan Eldredge
8fa7701b47
Remove legacy JS files from winamp-eqf package (#1327)
These files were duplicates of the TypeScript source files in src/.
The package builds from src/*.ts to built/*.js, so these root-level
.js files were unused and causing lint failures when running
`pnpm run lint` from the monorepo root.
2025-11-28 11:51:02 -08:00