A monorepo of simple, well-designed JavaScript packages focused primarily on Next.js and modern web development.
This repository hosts a collection of open-source packages designed to solve common problems in web development with a focus on simplicity, security, and developer experience. By using a monorepo structure, we maintain consistent quality, configuration, and dependency management across all packages.
| Package | Description |
|---|---|
| @simple-csrf | A suite of CSRF protection packages for JavaScript applications using the signed double submit cookie pattern |
The @simple-csrf collection includes:
- @simple-csrf/core: Core CSRF protection functionality for Node.js and edge runtimes
- @simple-csrf/express: Express.js middleware for CSRF protection
- @simple-csrf/next: Next.js middleware, components, and hooks for CSRF protection
This project uses a monorepo structure for several key benefits:
- Simplified dependency management: Share dependencies across packages and update them in one place
- Consistent configuration: Use the same linting, testing, and build configurations for all packages
- Atomic changes: Make changes across multiple packages in a single commit
- Coordinated versioning: Easily manage inter-package dependencies
- Streamlined CI/CD: Run tests and deployments for all packages from a single pipeline
While the repository includes packages for various JavaScript frameworks, our primary focus is on Next.js and its ecosystem. Future packages will prioritize Next.js integration while maintaining compatibility with other frameworks where appropriate.
Each package has its own README with installation instructions and usage examples. Navigate to the specific package directories to learn more.
Contributions are welcome! To contribute:
- Fork the repository
- Create a 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
See the CONTRIBUTING.md file for more details.