A Firefox browser extension that allows users to download files from websites.
- Clone the repository:
git clone https://github.com/RemakingEden/site-downloader
cd site-downloader- Install dependencies:
npm install- Run the extension locally:
npm startThe extension will be available on the Firefox Add-ons store (coming soon).
npm test- Run all testsnpm run test:watch- Run tests in watch modenpm run test:ui- Run UI testsnpm run test:unit- Run unit testsnpm run test:integration- Run integration testsnpm run test:coverage- Generate test coverage reportnpm run build- Build the extensionnpm start- Run the extension locallynpm run web-ext-lint- Lint the extension using web-extnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issues automatically
firefox-download-js/
├── background/ # Background scripts
├── popup/ # Popup UI files
├── ui/ # Shared UI components
├── icons/ # Extension icons
├── tests/ # Test files
├── assets/ # Static assets
└── manifest.json # Extension manifest
The project uses Vitest for testing. Tests are categorized into:
- Unit tests
- Integration tests
Run all tests with npm test or specific test suites using the appropriate npm script.
To build the extension:
- Run
npm run build - The built extension will be available in the
web-ext-artifacts/directory
The project uses GitHub Actions for CI/CD with the following checks:
- Linting
- Testing
- Building
- Security audit
- Web-ext validation
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.