Suggestions and pull requests are highly encouraged! Have a look at the open issues.
- You will need to be familiar with npm and TypeScript to build this extension.
- The extension can be loaded into Chrome or Firefox manually (See notes below)
- JSX is used to create DOM elements.
- All the latest DOM APIs and JavaScript features are available because the extension only has to work in the latest Chrome and Firefox. 🎉
- Each JavaScript feature lives in its own file under
source/features
and it's imported insource/refined-zapier.ts
. - See what a feature [looks like]https://github.com/zlwaterfield/refined-zapier/blob/main/source/features/improved-zap-list-styling.tsx).
The simplest usage of feature.add
is the following. This will be run instantly on all page-loads:
import * as pageDetect from 'github-url-detection';
import features from '.';
function init() {
console.log('✨');
}
void features.add(__filebasename, {
include: [
isZaps
],
awaitDomReady: false,
init
});
Node.js version 15 or later is required.
First clone:
git clone https://github.com/zlwaterfield/refined-zapier
cd refined-zapier
yarn install
When working on the extension or checking out branches, use this to have it constantly build your changes:
yarn watch # Listen to file changes and automatically rebuild
Then load or reload it into the browser to see the changes.
Once built, load it in the browser of your choice with web-ext:
npx web-ext run --target=chromium # Open extension in Chrome
npx web-ext run # Open extension in Firefox
Or you can load it manually in Chrome or Firefox.