1.0.0-beta.4 • Published 9 months ago
netlify-msf v1.0.0-beta.4
netlify-msf
A lightweight framework for building serverless microservices with Netlify Functions.
Installation
You can install netlify-msf using npm, yarn, or pnpm:
npm install netlify-msf
# or
yarn add netlify-msf
# or
pnpm add netlify-msfCLI Usage
netlify-msf provides a command-line interface to manage your microservice framework.
Usage: netlify-msf [options] [command]
A lightweight framework for building serverless microservices with Netlify Functions.
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
openapi-gen Generate OpenAPI documentation.
help [command] display help for commandConfiguration
The framework relies on a netlify-msf.config.ts file at the root level of your repository to define API endpoints and OpenAPI documentation.
Example:
// UsersSchema.ts
import { z } from 'zod';
const UserSchema = z.object({
id: z.number(),
name: z.string(),
});
const UsersSchema = z.array(UserSchema);
export default UsersSchema;// netlify-msf.config.ts
import { Config } from 'netlify-msf';
import UsersSchema from './UsersSchema';
const config: Config = {
schemas: {
UsersSchema,
},
openapi: {
definition: {
title: "My microservice",
description: "Description about my microservice.",
version: "1.0.0",
paths: {
"/users": {
get: {
summary: "Get all users",
responses: {
200: {
description: "Success.",
schema: "UsersSchema",
},
},
},
},
},
},
},
};Generating OpenAPI Documentation
Run the following command to generate an openapi.yaml file at the root level or in the specified outputDir:
netlify-msf openapi-genAPI Handler
The library exports a handler function that wraps Netlify functions with Zod-based request validation.
Usage Example
import * as msf from 'netlify-msf';
import { z } from 'zod';
const querySchema = z.object({ id: z.string() });
const bodySchema = z.object({ name: z.string() });
export const handler = msf.handler({ querySchema, bodySchema })((request, event, context) => {
return {
message: `Hello, ${request.body.name}!`
};
});Error Handling
MsfError is a custom error class for handling API errors gracefully.
Example:
import { MsfError } from 'netlify-msf';
throw new MsfError(400, "Invalid request");License
MIT
1.0.0-beta.4
9 months ago
1.0.0-beta.3
9 months ago
1.0.0-beta.2
9 months ago
1.0.0-beta.1
9 months ago
1.0.0-alpha.2
9 months ago
1.0.0-alpha.1
9 months ago
1.0.0-alpha.0
9 months ago