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>
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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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.
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.