Report broken websites using the "Report Broken Site" link on the extension popup.
There are two ways to submit feedback:
- You can send anonymous feedback using the "Send feedback" link on the extension's options page.
- You can submit your request as an issue. First check to see if the feature has not already been suggested.
Right now all new feature development is handled internally.
Most bug fixes are handled internally, but we will except pull requests for bug fixes if you first:
- Create an issue describing the bug. see Reporting bugs
- Get approval from DDG staff before working on it. Since most bug fixes and feature development are handled internally, we want to make sure that your work doesn't conflict with any current projects.
- Node.js installation
- Grunt
- Tests use Selenium Webdriver.
- Firefox
- Run
npm run dev-firefox
- Load the extension in Firefox from the
build/firefox/dev
directory Temporary installation in Firefox - Mozilla | MDN
- Chrome
- Run
npm run dev-chrome
- Load the extension in Chrome from the
build/chrome/dev
directory Getting Started: Building a Chrome Extension - Google Chrome
-
Safari
The Safari extension is no longer supported.
The shared
directory contains JS, CSS, and images that are shared by all browsers.
The popup UI is in shared/js/ui
The background JS is in shared/js/
Browser specific files, including manifest files, are located in browsers/<browser-name>
Run the dev build task for your browser from the 'Build' section above. The generated build files are located in /build/<browser>/dev
.
After running the build task it will continue watching for changes to any of the source files. After saving any changes to these files it will automatically rebuild the dev
directory for you.
- Unit tests:
npm test
- Integration Tests
- Local, requires Chrome:
npm run test-int
- Headless, requires xvfb:
npm run test-ci
- Local, requires Chrome:
Setup
- For remote linux machine, first setup xvfb:
source selenium-test/setup.sh
npm install
grunt
Testing Single Site ./selenium-test/ratings.js -u https://website.com
Testing Top 500 ./selenium-test/ratings.js -n 2
(where n = [1 - 500])
Testing Multiple Sites ./selenium-test/ratings.js -f urls.txt
(file should have 1 url on each line)
Using XVFB To test on a remote server with XVBF installed, add -x
flag: ./selenium-test/ratings.js -x -u https://website.com