This monorepo brings together cutting-edge tools and libraries that supercharge your Azure Functions development experience:
- ✨ Type-Safe APIs - Full TypeScript support with automatic type inference
- 📚 Auto-Generated Documentation - OpenAPI/Swagger specs generated from your code
- 🔒 Built-in Security - Multiple authentication strategies out of the box
- 🎯 Developer Experience - Intuitive APIs that feel natural and productive
- ⚡ Production Ready - Battle-tested code designed for enterprise use
- 🔧 Extensible - Plugin architecture for custom integrations
Version 2.0 - A complete rewrite with improved TypeScript support, automatic type inference, and enhanced Azure integration.
A powerful extension for Azure Functions V4 that automatically generates and serves OpenAPI documentation for your serverless APIs. Built on top of @asteasolutions/zod-to-openapi and leveraging Zod schemas for validation, it ensures your API is always type-safe, well-documented, and easy to explore.
- 🎯 Zero Configuration - Works out of the box with sensible defaults
- 📝 Automatic OpenAPI Generation - Generate specs from your function definitions
- 🔍 Interactive Swagger UI - Explore and test APIs directly in the browser
- 🛡️ Multiple Auth Strategies - Support for API keys, Bearer tokens, OAuth2, and more
- 🎨 Customizable - Full control over your OpenAPI specification
- 📊 Zod Integration - Leverage Zod for runtime validation and type safety
A comprehensive sample application demonstrating the usage of the OpenAPI library with a complete Todo API implementation. This project serves as both a working example and a testbed for the OpenAPI library.
- ✅ Complete CRUD Operations - Full Todo API with Create, Read, Update, Delete
- 🔐 Security Examples - Multiple authentication strategies implemented
- 📝 Best Practices - Production-ready code structure and patterns
- 🧪 Real-World Scenarios - Webhook handlers, batch operations, and more
- 📚 Learning Resource - Well-commented code to help you get started
- Node.js 18.x or higher
- Azure Functions Core Tools v4
- TypeScript 5.0 or higher
# Clone the repository
git clone https://github.com/apvee/azure-functions-nodejs-monorepo.git
cd azure-functions-nodejs-monorepo
# Install dependencies
npm install
# Build all packages
npm run build# Navigate to the test functions
cd packages/test-functions
# Start the Azure Functions runtime
npm start
# Access the Swagger UI at
# http://localhost:7071/api/docsEach project contains detailed documentation in its respective directory:
- @apvee/azure-functions-openapi - Complete API reference and guides
- test-functions - Sample code and usage examples
This monorepo uses a modern development setup:
- Package Manager: npm workspaces
- Language: TypeScript 5.0+
- Build Tool: Native TypeScript compiler
- Runtime: Azure Functions V4 (Node.js 18+)
azure-functions-nodejs-monorepo/
├── packages/
│ ├── azure-functions-openapi/ # Main OpenAPI library
│ └── test-functions/ # Example implementation
├── package.json # Workspace configuration
└── README.md # This file
We welcome contributions! Whether it's:
- 🐛 Bug reports
- 💡 Feature requests
- 📝 Documentation improvements
- 🔧 Code contributions
Please feel free to open an issue or submit a pull request.
- 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
We're constantly working to improve this monorepo. Here's what's coming:
- 🔄 More Packages - Additional tools and utilities for Azure Functions
- 🧪 Testing Utilities - Helpers for testing Azure Functions
- 📊 Monitoring Integration - Application Insights helpers
- 🔌 Additional Integrations - Support for more Azure services
- 📖 Enhanced Documentation - Video tutorials and interactive guides
Stay tuned - more projects will be added soon!
This project is licensed under the MIT License - see the individual package LICENSE files for details.
- 📧 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📖 Documentation: Full Docs
Built with ❤️ by the Apvee Team
