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 start
The 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.