Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explore modern chrome extension boilerplates / frameworks / etc #17

Open
0xdevalias opened this issue Jul 15, 2024 · 0 comments
Open

Explore modern chrome extension boilerplates / frameworks / etc #17

0xdevalias opened this issue Jul 15, 2024 · 0 comments
Assignees

Comments

@0xdevalias
Copy link
Owner

0xdevalias commented Jul 15, 2024

It would be good to explore what the modern options for Chrome Extension boilerplates / frameworks / bundlers / supporting tooling are; ideally something that supports TypeScript, and probably that uses Vite or similar. Being able to automatically build/bundle/deploy updates from GitHub actions would be useful too.

Resources

A few non-exhaustive resources that may be worth looking into deeper.

Lists / Blogs / etc

Extension Frameworks

  • https://www.plasmo.com/
    • Plasmo helps you build, test, and deploy powerful, cutting-edge products on top of the web browser.

    • https://github.com/PlasmoHQ/plasmo (~8.9k ⭐'s)
      • plasmo
        The Browser Extension Framework

  • https://wxt.dev/
    • WXT
      Next-gen Web Extension Framework
      An open source tool that makes Chrome Extension development faster than ever before.

    • Supported Browsers
      WXT will build extensions for Chrome, Firefox, Edge, Safari, and any Chromium based browser.

      • https://wxt.dev/get-started/publishing.html
        • Safari
          🚧 Not supported yet

          WXT does not currently support automated publishing for Safari. Safari extensions require a native MacOS or iOS app wrapper, which WXT does not create yet. For now, if you want to publish to Safari, follow this guide:

    • https://wxt.dev/get-started/compare.html
      • Compare
        Lets compare the features of WXT vs Plasmo (another framework) and CRXJS (a bundler plugin).

    • https://github.com/wxt-dev/wxt (~3.3k ⭐'s)
      • WXT
        Next-gen framework for developing web extensions.
        It's like Nuxt, but for Chrome Extensions

      • MV2 and MV3
        Build Manifest V2 or V3 extensions for any browser using the same codebase.

      • File Based Entrypoints
        Manifest is generated based on files in the project with inline configuration.

      • TypeScript
        Create large projects with confidence using TS by default.

      • Automated Publishing
        Automatically zip, upload, submit, and publish extensions.

      • Frontend Framework Agnostic
        Works with any front-end framework with a Vite plugin.

      • Bootstrap a New Project
        Get started quickly with several awesome project templates.

      • Bundle Analysis
        Tools for analyzing the final extension bundle and minimizing your extension's size.

      • WXT's simplifies the chrome extension development process by providing tools for zipping and publishing, the best-in-class dev mode, an opinionated project structure, and more. Iterate faster, develop features not build scripts, and use everything the JS ecosystem has to offer.

  • https://crxjs.dev/vite-plugin/
    • CRXJS Vite Plugin is a tool that helps you make Chrome Extensions using modern web development technology.

    • https://github.com/crxjs/chrome-extension-tools (~2.6k ⭐'s)
      • CRXJS
        Bundling Chrome Extensions can be pretty complex. It doesn't have to be.

  • https://github.com/mozilla/web-ext (~2.6k ⭐'s)
    • Web-ext
      A command line tool to help build, run, and test web extensions

  • https://www.bedframe.dev/

Extension Store Submission

Boilerplates

Bundlers (non browser extension specific)

Etc

See Also

@0xdevalias 0xdevalias self-assigned this Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant