Replies: 5 comments 3 replies
-
Incidentally, really like the fact that WXT formats the |
Beta Was this translation helpful? Give feedback.
-
Thanks for the feedback! I haven't used plasmo for an extended period of time, so it's good to hear positive feedback from someone who has used it for longer. I could add |
Beta Was this translation helpful? Give feedback.
-
WXT is the best tool I've found for developing browser extensions. Previously, I had to set up EVERYTHING manually, from hot reloading to building the extension. When I decided to write my own extension, I came across WXT, and from start to finish, I had NO issues during development. Special thanks for the detailed documentation. |
Beta Was this translation helpful? Give feedback.
-
Moving from plasmo to wxt has the benefits of decreasing my bundled extension (I mean the zip file) from 5MB to 500KB. I guess the tree shaking is effective here, and wasn't using plasmo |
Beta Was this translation helpful? Give feedback.
-
We also migrated our browser extension from Plasmo to WXT and wrote about our migration process, including the challenges we faced and how we resolved them. Here's the article for anyone looking to migrate as well: https://chatgptwriter.ai/blog/migrate-plasmo-to-wxt |
Beta Was this translation helpful? Give feedback.
-
TL;DR
This is the conclusion I got after spending a day migrating my extension from Plasmo to WXT:
Plasmo takes extension development out of the primitive world, and WXT really brings it into the modern world!
Something better than plasmo in WXT.
Effective HMR
Plasmo's HMR is not "React-only", in fact in the extensions I've written using React, HMR only works when the page is very small, 99%+ of the time I don't experience any HMR at all.
But WXT's HMR is very effective, and that's the strongest point I think WXT has over Plasmo.
Based on Vite
No Parcel.
Anyone familiar with plasmo will have encountered a bunch of Parcel bugs upstream, yet I can't do anything but sidestep them with some ugly code, and I haven't encountered any weird Vite bugs tripping me up in my time with WXT!
Vite's documentation is much better than Parcel, and I know how to do something with Vite, but Parcel I don't.
Vite is one of the most popular tools out there and many people are willing to invest in it, but Parcel's usage is not.
This is probably Plasmo's biggest mistake.
Better maintenance of the status quo
I haven't seen any major DX improvements in Plasmo in almost a year, just bug fixes.
I can trust WXT, right?
Expose UI framework mount process
Just using vue as an example, plasmo completely hides the
app.mount
process, the problem is that many libraries rely onapp.use(...)
, hiding this makes it impossible for developers to use these libraries smoothly, especially component libraries.WXT will add some boilerplate code by exposing this process, but I think it's worth it compared to the flexibility it brings.
Hooks and Assets
Plasmo doesn't make any hooks public, nor does it have a
public
directory, and can't even do the simple function of adding a few files to the build product, whereas that flexibility should be necessary.Manifest Override
Plamso doesn't support
plasmo.config.ts
,manifest.json
overrides can only be written inpackage.json
, andwxt.config.ts
lets me utilize TypeScript to prevent spelling errors and more:I'll be able to utilize
Command
type inbackground/index.ts
.Something WXT is missing.
Some details Plasmo did better.
assets/icon.png
of 512*512 size is needed, plasmo will automatically generate images of other sizes.contents/*.ts
to*.content.ts
directory structure.Beta Was this translation helpful? Give feedback.
All reactions