🧩 Plasmo Developers

PD

🧩 Plasmo Developers

Join the community to ask questions about 🧩 Plasmo Developers and get answers from other members.

Join

👾extension

👟framework

🔰newbie

🦉pallas

Javascript react starter

I want to use Plasmo with javascript react and not typescript is there any way i can do that without ts, because all of my tech stack is js based and i do not want to write ts in extension. Is there any way i can setup plasmo with js only

Issue: "Extension runtime is not available" with PlasmoCSConfig in Content Script

Hi everyone,
I’m encountering an issue while working with a framework extension. My goal is to inject a content script on a specific website and enable communication between the content script and the background script. Here's the flow I want to achieve:
1. When the user visits https://xyz.com/abc/*, the content script is injected.
2. The script adds a button to the page. ...

Login sync between popup and content using firebase auth

Can you please explain how I can manage to sync the state of login between popup.tsx and content.tsx using firebase auth? I am working with the framework --with-firebase-auth , and the login there works, however I would like to inject button in the main world (using content.tsx), and onclick save data to firestore, and I need to be authenticated from in the content.tsx. From some reason the popup and content does not share the state of auth....

SOC 2 Compliance for Itero TestBed

Just wondering if it is SOC 2-compliant

Stylesheets in Panels

I have this issue where the bundler isn't including a stylesheet I need into the HEAD if it is a panel. Others have the same issue so I know it's not just me. https://github.com/PlasmoHQ/plasmo/issues/1135 As a workaround, I hardcoded in the link to the jsdelivr in my HTML, but I was wondering if there is a way to load the stylesheet inline or whatnot with React (sorry, I'm not very good at all the rules around CSS), because my jsdelivr link needs a version as a part of it to align with the table and I'd rather be pulling it from my build info rather than forgetting to update it and getting a weird subtle break. ...

Independent extension maintainer and developer looking for guidance

I currently independently develop and maintain my commercial browser extension, and came across this project. I use react tailwind in my extension, and I use typescript with this bun based transpiler. I was wondering if I should make the switch to plasma and what the pricing would look like? I was a little confused on the pricing on the website.

Is there anyway to get the plasmo dev server working in a docker container? pnpm dev works on host

The server is all up and running using node:18-bullseye. However when i load unpacked into chrome it says that it cannot connect with the websockets running on ws://localhost:1815 and ws://localhost:1816. ``` function A(e) { if (typeof globalThis.WebSocket > "u") return;...

No supported UI library found.

``` pnpx plasmo init --with-svelte example cd example pnpm up -L '*' pnpm run dev...

SWC not resolving

Realized I should have probably put this here. I had been using CRXjs, but recent chrome updates have made that extension framework unusable. Working on learning plasmo so I can convert my project to it. Trying to setup a basic options page example following the with-options example. When I run plasmo dev, I get the following:...

How to Dynamically Mount/Unmount Plasmo Components without Page Refresh?

Problem: In a SPA app, components matched to specific URLs don’t consistently mount/unmount on soft navigations (client-side routing). Components either appear only after a page refresh or fail to unmount without one. The goal is to achieve dynamic mounting and unmounting of components in response to soft navigations without loading content scripts on all pages, especially in large extensions with numerous features. Question:...

What is 'plasmo-mount-container'?

In the plasmo with svelte example here https://github.com/PlasmoHQ/examples/blob/main/with-svelte/contents/plasmo-overlay.css there's a #plasmo-mount-container target, but it's not clear to me what that is. I am not seeing this id anywhere in the codebase, and I am not seeing it in the rendered component either? I understand that the #plasmo-shadow-container is basically a secondary wrapper inside the shadowRoot, but I am not sure what the #plasmo-mount-container is. Maybe it's just some shorthand for targeting the framework's (svelte) own top-level element / mountpoint to plasmo, but I am not sure. You don't see this in the react example here: https://github.com/PlasmoHQ/examples/blob/main/with-content-scripts-ui/contents/plasmo-overlay.css Instead here, the .hw-top class is targetted directly. Any clues?...

sendToBackground in MAIN world doesn't work even with extensionId provided

Hello, thanks for the great framework! I've almost got my MVP done but have run into a brick wall with content scripts. Following the example on https://docs.plasmo.com/framework/messaging#message-flow, this snippet is what i'm after:
To send a message from a content script thats in the main world you'll have to include your extension's id in the request. Your extension's id can be found in chrome's extension manager window once you've built and added it to your browser....

Requesting microphone permissions

Is there an easy way to request and use microphone permissions for a chrome extension? Everywhere I've looked has given workarounds that I can't seem to successfully implement. Thanks!...

Pass custom props to CSUI component

Hello, Because I am generating multiple plasmo-csui within getInlineAnchorList and fetching data in it, I would like to cache that data and maybe pass it as props to the react csui component. The data will be fetched asynchronously...

Using getInlineAnchorList but having plasmocsui into a child

Hey, I am trying to do a web extension for a website which contains that structure ```...

Custom MutationObserver

Hello, Thank you for this great framework! I am trying to have a custom MutationObserver, however the doc mentionned it without giving an example, can someone explains how to do it please?...

How to send messages from content to content?

I am building an extension which injects multiple content script UIs in a single page (in order to have different mount points) and I am looking for a way to get them to pass messages efficiently. I managed to do it via the messaging API, but that takes 5ms on average and isn't exactly snappy. Apparently the chrome.tabs API isn't available to content scripts for some reason, and as far as I can tell you can't use the chrome.runtime API to send directly between content scripts because although th...

Create child components for ContentScript

I'm trying to create child components for the main component in Contents, if I create the component directly in the Components folder it is seen as a separate element and is imported randomly into the DOM, while if I put it in a Contents/Components folder it isn't imported at all from the parent component. Do you have solutions?
Next