[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)