Thank you for considering contributing to lightfeed/extractor! This document outlines the process for contributing to the project and releasing new versions.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests to ensure everything works:
npm run test:unit- Run unit testsnpm run test:integration- Run integration tests (requires API keys)npm run test:html2md- Run HTML to Markdown tests
- 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 uses GitHub Actions for continuous integration and deployment:
The testing workflow runs automatically:
- On each push to the
mainbranch - On each pull request to the
mainbranch - Weekly on Monday at midnight UTC
The workflow includes:
- Unit tests - Run across multiple Node.js versions
- Integration tests - Run on Node.js 20.x using provided API secrets
This project uses semantic versioning. To create a new release, tag main and push:
git tag v0.5.0
git push origin v0.5.0When the tag is pushed, GitHub Actions will automatically:
- Set the version in
package.jsonfrom the tag - Build the package and run tests
- Create a GitHub Release with notes generated from git history
- Publish the package to npm