|author||Antoine Musso <firstname.lastname@example.org>||Wed Nov 23 17:52:07 2022 +0100|
|committer||Antoine Musso <email@example.com>||Thu Nov 24 20:44:16 2022 +0100|
Slightly enhance the README.md Changed the point of contact from Tao Zhou to Dhruv Srivastava. No specific change, I have fixed a few links, added formatting and rephrased a few sentences. Change-Id: I8999de07289b4f786da7838775f36bb5147696a5
Gerrit FE Dev helper is a Chrome extension that will focus on helping frontend developers on Gerrit development.
As mentioned in readme from polygerrit-ui, we already support to start your local host for developing / debugging / testing, but it has quite a few restrictions:
To solve these pain points, Tao Zhou created this Chrome extension. It proxies all assets requests or any requests to a local HTTP server, and has the ability to inject any plugins exposed by the local HTTP server.
See in release notes and Features below.
The easiest is to install from the Chrome web store here: https://chrome.google.com/webstore/detail/gerrit-fe-dev-helper/jimgomcnodkialnpmienbomamgomglkd.
After you have installed and enabled the extension, you should see something similar to demo.png.
To build from source:
npm install npm run build
Then you should have
gerrit_fe_dev_helper.zip that you can test with.
Or if you are developing a plugin, serve your plugin via a local HTTP server via any means.
npx http-server -c-1 --cors
Gerrit dev helper is enabled, and now your Gerrit assets should be loaded from your local HTTP server
The extension comes with a set of default rules, but you can change the rules by clicking the extension icon again.
The extension supports six different type of rules:
The two options to inject any plugins (
injectHtmlPlugin) are meant to help you develop your plugins for your Gerrit sites. As they are served from your local HTTP server, you do not need to deploy them on the target Gerrit server.
injectHtmlPlugin rule or use
redirect rule if its an existing html plugin.
For single-file js plugins, use
injectJsPlugin rule or use
redirect if its an exising js plugin.
For multi-file modularized js plugins (you have import / export in source code), you have two options:
injectJsModule, this will load the js with
type="module", and due to restriction of
type="module", Gerrit won't be able to recognize the plugin without a proper url set when calling
Gerrit.install, so you also need to tweak your code to call
Gerrit.install(callback, undefined, 'http://localhost:8081/plugins_/checks/gr-checks/gr-checks.js')to let Gerrit treat it as a legit plugin
type="module", and then treat it as a html plugin
Either way, you need to
block the existing plugin if its already on the page.
Please don't hesitate to contact firstname.lastname@example.org for support on this extension.