[HN Gopher] Show HN: Bedframe - open-source Browser Extension De...
___________________________________________________________________
Show HN: Bedframe - open-source Browser Extension Development
framework
Author : JoeyDoey
Score : 91 points
Date : 2023-09-05 16:33 UTC (6 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| dataviz1000 wrote:
| Nice. Thank you for making this. There is a huge benefit to using
| Turbo Repo. I was frustrated with adding any other extension
| framework to my monorepo. My extensions don't live in isolation
| but connect to other web, electron, and server apps. With this I
| can refactor types and design systems easily across the apps.
| artisin wrote:
| Definitely a much-needed area for development. However, having
| gone down the browser extension rabbit hole, I've largely shifted
| my focus to user scripts. Granted, there will always be a need
| for specialized browser extensions like ad blockers (uBlock[1]),
| keyboard shortcuts (Vimium-C[2]), and password managers
| (Bitwarden[3]).
|
| That said, I find user scripts superior for most tasks, despite
| some lacking UI niceties. They are easier to share, use, and
| crucially, audit--be it in terms of scope, permissions, or code
| updates. Plus if Manifest V3 is any indicator, the future for
| browser extensions looks bleak. While I don't agree with this
| direction, it's probably for the best for the majority of users,
| like my mom.
|
| Your effort is commendable; however, should you find yourself
| looking for a viable pivot in the future, I believe the user
| script space is primed for innovation and could offer a good
| alternative.
|
| [1] https://github.com/gorhill/uBlock [2]
| https://github.com/gdh1995/vimium-c [3]
| https://addons.mozilla.org/en-US/firefox/addon/bitwarden-pas...
| gsuuon wrote:
| What's the correct way to.. use.. userscripts? Do you still
| need to install a third party extension?
| jwong_ wrote:
| Do you have any user scripts you find handy or use often?
| madacol wrote:
| I recently started to have the same ideas, and I have created
| 3 bookmarklets and 1 userscript
| https://github.com/madacol/web-automation
| madacol wrote:
| To give you an example
|
| This is a bookmarklet to edit any text on a web page
| javascript: (function() { document.body.contentEditable =
| true; document.body.spellcheck = false; })();
|
| Very useful when I want to grab a screenshot and I want to
| REDACT personal information
| jwong_ wrote:
| Hey that's neat! Super annoying having to dig through the
| dynamically-generated DOM.
| [deleted]
| mancuso5 wrote:
| wow this look awesome!
| kwerk wrote:
| How does this position with something like plasma.dev?
|
| I've been happy with it, especially the testing / beta deployment
| and messaging libraries.
| JoeyDoey wrote:
| Plasmo? They're certainly further along in dev and doing great
| work. Bedframe is a slightly differing approach to the same
| pretty much.
| endigma wrote:
| Does the name of this organization seem suspicious to anyone
| else?
| gsuuon wrote:
| Looks like it's the author's last name
| notpushkin wrote:
| Your honor, that was a Neco Arc reference and totally not the
| word you thought it was :D
| felipesabino wrote:
| I just recently came across Plasmo [1], which is very mature and
| a good entry point for anyone starting on the browser extension
| environment (like I am). It would be nice to see some comparisons
| in the future when Bedframe's docs are published
|
| [1] https://docs.plasmo.com/framework
| FeroTheFox wrote:
| What's the theme used in the readme screenshot? I would love to
| use it myself :)
| JoeyDoey wrote:
| VS Code is "Community Material Theme" - hight contrast:
| https://marketplace.visualstudio.com/items?itemName=Equinuso...
| mightyham wrote:
| I'm somewhat confused about what problem this is solving, but I
| also have a lot of questions.
|
| Does the dev mode use HMR? Can the cli upload bundles extensions
| to respective browser's stores? Does it work with any web
| framework supported by vite? Does it work with all vite/roll-up
| plugins?
|
| This project is very interesting to me because I currently have a
| published Firefox extension that uses Vite, NPM, and Solid.js.
| JoeyDoey wrote:
| Yes to all this. But the project is super new so supports just
| React right now. The idea is to support all officially
| supported vite templates in ts and js, so: vue, react, preact,
| lit, svelte, solid, qwik.
|
| > what its trying to solve:
|
| I want a Next.js + Vercel dev experience but for building
| browser extensions: push to main > run a workflow > determine
| if it should publish > publish (to all my chosen web stores)
|
| I want an actual dev workflow (like I'm used to in regular
| web/app development in 2023) but again, tailored for browser
| extensions.
|
| Basically I wanted something that doesn't abstract the usual
| Vite setup. Just give me the usual niceties of working with
| client-side react w/ Vite. So yes, you get the vite/rollup
| plugins as usual.
| wbobeirne wrote:
| This is a much needed area for development, most of my extension
| projects are held together by glue. However, I'm not entirely
| sure what Bedframe does at first glance. The docs page says
| coming soon and just 404s, the homepage is just a splash page
| with an email form (that does not actually seem to submit!) I'll
| read through the code at some point, and it looks like the
| individual project READMEs are more fleshed out, but definitely
| needs a better upfront explanation of what aspects of extension
| development it's trying to solve.
|
| EDIT: It's also very unclear what state this project is in. The
| README has instructions for getting started with the CLI, but
| also says that I should sign up to join early access? Is this
| ready to use? What aspect of this project requires membership? Is
| there a hosted component or subscription model hidden in here?
| yuppiepuppie wrote:
| I'm in the same boat. I got in the world of extension
| development last year, and oh my, what a crazy mess. Apart from
| browser compatibility, I was really hoping for some product to
| help out with the operational stuff.
| JoeyDoey wrote:
| Ooof!! It is an... interesting time right now in extensions
| land. The switch from MV2 to MV3 is a bit chaotic but
| hopefully tools like this (Bedframe) and tools like
| [Plasmo](https://github.com/PlasmoHQ/plasmo) start to inject
| some freshness in the space.
| civilitty wrote:
| How does Bedframe compare with Plasmo? What are your plans
| moving forward?
| JoeyDoey wrote:
| Author here! the project is super new. alpha, at best.
|
| Basically if you wanted to build browser extensions using
| modern stack, bedframe lets you do that. Specifically it uses
| Vite under the hood so you can write e.g. a chrome extension in
| e.g. React w/ TypeScript, Tailwind, and all that good stuff.
|
| I think the CLI readme has a bit more useful info:
| https://github.com/nyaggah/bedframe/tree/main/packages/cli
|
| The notable bit is the mvp.yml workflow you get in your
| project. It'll let you publish to chrome, firefox and edge
| automatically (ci/cd).
|
| > It's also very unclear what state this project is in.
|
| fair enough! Wanted to get something out there first; I'll get
| the docs out soon
___________________________________________________________________
(page generated 2023-09-05 23:00 UTC)