PWA and browser extension shows historical prices for biggest czech and slovak e-commerce websites.
- Chrome extension - also works in Edge, Brave and Opera
- Firefox extension
- Safari extension
- Progressive Web Application
We are using
yarn run for a list) for project automation.
You will need:
- Node.js 14
- XCode Command Line Tools (for Safari and iOS development)
- Pulumi (for Infrastructure and backend development)
scripts folder for install scripts for your system.
All extensions (except Safari version) will be build to
./dist folder by calling the
npm build script.
Firefox supports Dark and Light themes for action icons and we are optimising action icons for these.
Chrome doesn't support action icons theming via
manifest.json so we use
background.js script to
add support for themes programmatically. We are removing
background.js script, and
it's entry in manifest, in build step with other unnecessary files.
content.js is written in ESM, but ESM is not widely supported in content scripts.
So we use simple bundle script
yarn build:extension to convert ESM to IIFE bundle.
To build Firefox extension run
yarn build:firefox. It will create
for development time and packaged extension in
To build Chrome extension run
yarn build:chrome. It will create package in
yarn build:safarito get latest bundle script, domains (eshops) permissions and current version for Safari
- Distribute app by XCode:
yarn start:safari> Product > Archive > Distribute App*
- Manually send new app version to Review on Itunes Connect - you will need to be logged in as TopMonks developer (credentials in 1Password)
* Use autosigning feature and use the TopMonks s.r.o Apple developer team account. If this fails with missing private key, download one named "itunes Mac App Distribution mac_app.cer" from TopMonks 1Password.
Updating extension version
To check current version in
Update to new version run
For seamless development experience we have
yarn watch:extension script with incremental builds
on source files changes.
We also have convenient script
yarn start:chrome and
yarn start:firefox to start browsers with
already registered extension and automatic reloading on changes.
For visual testing at scale, there is
./scripts/screenshotter.mjs. This will run Chrome with installed extension
and take a screenshot of embedded widget on every supported e-shop. You can find resulting pictures in
© 2018-2020 TopMonks s.r.o.; Licensed under EPL-2.0