Add Chrome extension to built in Pinegrow-Chrome-browser


I realized that the browser in pinegrow is a chrome browser. As I am using vue.js, I am also using the chrome extension:

  1. When I go to Pinegrow-Chrome Console
  2. Then to Console-Tab typing: this.document.location = “chrome://extensions”
  3. Then I see one extension
    Here I would like to add an additional extension: vuejs-devtools (see 1st link)
    (I added the points 1 to 3 to a screenshot below)

How is this possible? Does anybody have an idea?

Thank you

Not sure if we can add chrome extensions ourselves…

Instead use the vue-devtools electron client, works great for me, esp having it as a separate window outside pinegrow.

All the best!

@Akayy Thanks for your message. Always curious about the other setups around.

Your approach doesn’t allow to select the HTML elements and showing the Pinegrow classes, properties in Pinegrow at the same time, right?
(What I mean is that the built-in Pinegrow-Browser gives Pinegrow-details from an element clicked within Pinegrow)

Thank you … Have a great week start :slight_smile:

My pleasure!

Are you asking if element selection works from pinegrow-tree (or) pinegrow-canvas → vue-devtools?

no. Within the pinegrow-canvas we have the preview. I understand the preview to be just a chrome-browser-window with additional features. Within this browser-window we have the possibility to select elements (see Point 1 in screenshot) … The question is, if you can, in your electron solution, still do that or if you have to save your css, html, js file and refresh your browser-page?

What I ment originally with this post, was to be able to use the highlighted feature in Point 2 of the screenshot. If this feature is activated, we can simulate the behaviour like the real end-user. With the vue-dev-tools available in chrome-console you leverage that feature.

I’m not really well qualified with the Pinegrow lexicons, but this is what I call them personally (marked on the below screenshot)…

  1. Canvas - where you can drag and drop and visually build your page
  2. Tree - source/dom mode of the page
  3. Preview externally - opens the page in an external browser at port 40000
  4. Preview internally / Click mode - preview the page internally within pinegrow (like in pt-3 above), so you can interact with the page just like in an external browser

If I understand your question correctly, you are asking if in Click mode (like in pt-4 above), you can interact with the page just like how you would in an external browser and if it talks nicely with the vue-devtools electron app running outside pinegrow?

Also, is your site a vue-cli based SPA served using vue-cli-service at 8080 (or) cdn-based single html page using dom-template?

Hi @_Peter,
So the “browser” in Pinegrow is not straight Chrome. It uses the Chromium engine - the same one that is in chrome and many other browsers. However, the browser is not a full Chrome implementation. It only supports part of the Chrome extensions API - check it out here. So, I don’t think there is any way to run most extensions on Pinegrow. Having said that, I do want poke around the package since NWJS does support the chrome.tabs which runs devtools.

1 Like

Hi Rob,

Vue/react devtool extensions on nwjs in the link below, not sure if you could make it available on pinegrow, may be have a flag in the settings to activate them… as not all users might want to see them when opening the pinegrow devtools…

Again, my personal opinion is to not add the framework specific extensions in pinegrow devtools, as the electron apps are already available as an alternate solution for major frameworks - DevTools Extension | Electron

… and also due to the level of support pinegrow currently offers for vue/react apps which are mostly rendered via javascript funnelled through webpack-based dev servers!

Oh cool, @Akayy,
Totally missed that in the docs. I was hoping that the --load-extension could be run without a recompile. I agree with you that there are some good apps out there to help with JS framework builds, plus it is hard to tell what specific elements a particular dev will need.

1 Like