* Upgrade ESLint to v9 with flat config
- Upgrade eslint from v8 to v9.18.0
- Migrate from .eslintrc.js to eslint.config.mjs (flat config)
- Upgrade typescript-eslint to v8.20.0 (unified package)
- Replace eslint-plugin-import with eslint-plugin-import-x for flat config support
- Add globals package for environment globals
- Update eslint-plugin-bsky-internal with proper meta objects for ESLint v9
- Fix deprecated context.getScope() API usage
- Update bskyembed to use flat config
- Remove deprecated --ext flag from lint scripts
- Configure rules to maintain previous behavior while using new ESLint version
* Fix varsIgnorePattern to require character after underscore
Restore the original pattern `^_.+` instead of `^_` so that lingui's
`const { _ } = useLingui()` will still be flagged when unused.
* Update ESLint rule tests for flat config format
- Update RuleTester to use flat config languageOptions instead of
eslintrc parser format
- Remove duplicate test case that ESLint v9 now detects
- Add Jest globals for test files
* update eslint package versions
* lint android a11y
* enable typechecked rules, switch them to warn
* fix yarn lock ci
* Fix CI failure
* Remove unused globals?
* Organize a bit, add quiet to main lint command
* Allow ternary
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Eric Bailey <git@esb.lol>
* update vite+typescript
* update atproto api to latest, split out utils
* add checkmark to post
* add checkie to embed
* revert change to example post
* fix ext link color
* enhance(embed): add ability to pin color mode
* fix: Move color mode dropdown to the root section
* auto -> system
* style tweaks
* default to light theme
* try and fix eslint
* fix dropdown styles on other browsers
* rm unnecessary eslintrc change
* more explicit color mode select
* make light explicit
---------
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
* chore: handle built css assets
* chore: let prettier handle css code
* refactor: let webpack build css assets
* chore: prettier on bskyembed
* chore: touch empty.txt on css directory
* chore: do the same to the workflow
* update @atproto/api
* add starter pack embed
* update depreciated BskyAgent to AtpAgent
* unrelated, but avoid direct import of type
* nits
* rm commented out code
---------
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
* skeleton of embedr service, based on bskyweb
* embedr container setup
* builds on this branch
* actual routes
* fix embedr go:embed
* tweak embedr dockerfile
* progress on embedr
* fix path params
* tweaks to build process
* try to get embedr dockerfile to install embed deps
* build this branch
* updates to match sam's output HTML
* try to unbreak embedr dockerfile
* small embedr tweak
* docker hack
* get embed.js copied over to embedr
* don't x-frame-options for embed.bsky.app
* bskyembed: remove a console.log
* use html/template for golang snippet generation
* simplify embedr API fetches
* missing file
* Rm console.log fully
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* get outer location and pass in to the iframe
* enable post.html in dev
* only add ref_url if starts with http
* Revert "enable post.html in dev"
This reverts commit 6f224c6e2c.
---------
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
* Don't reuse DOM when changing embed
* add skeleton loading state 💀
* autoselect text
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com>
* move info to its own file
* Revert "move info to its own file"
This reverts commit 1d45a2f403.
* better way
* all cases
* pass labelInfo to ImageEmbed
* blur avatars
* add back as string
* one more as string
* external embed
* add back as string again