file-function-server
v1.0.6
Published
No-Frills Node.js API Endpoints
Downloads
9
Maintainers
Readme
🕊File Function Server
No-Frills Node.js API Endpoints
⏰ 60-Second Setup Starting... Now!
Requirements: Node.js >=7
, NPM
or Yarn
⬇️ Install
npm init
(if fresh project)
npm i file-function-server
or
yarn add file-function-server
📂 Create Functions Folder
📦your-project
┣ 📂functions
┗ 📜package.json
👨🏭 Create File Function
Routes are defined by naming files & folders
📦your-project
┣ 📂functions
┃ ┗ 📜hello-world.js
┗ 📜package.json
The endpoint handler is the default
node module export. It takes two arguments:
req
(express.Request
type)res
(express.Response
type)
hello-world.js (JavaScript)
module.exports.default = function (req, res) {
return 'Hello World!';
};
export default (req, res) => 'Hello World!';
import { FileFunctionHandler } from 'file-function-server';
export default ((req, res) => {
// Intellisense enabled!
return 'Hello World!';
}) as FileFunctionHandler;
Script
Finally, add the following to your package.json
"scripts": {
"start": "file-function-server"
}
📻 Generated API
Run npm run start
or yarn start
from the command line.
Your API Endpoints are visible at localhost:9000/functions
| Endpoint| GET | POST | PUT | PATCH | DELETE |
|---------------------------------------|-----|------|-----|-------|--------|
| /functions/hello-world
|✅|✅|✅|✅|✅|
Programmatic Usage
const { FileFunctionServer } = require('file-function-server');
new FileFunctionServer(/* optional config */).start();
Custom Function Directory
const { FileFunctionServer } = require('file-function-server');
const path = require('path');
new FileFunctionServer({
functionsDir: path.join(__dirname, '/api-functions')
}).start();
⚙️ Config Object
| Property | Description | Required | Default |
|--------------|-------------------------------------|----------|-----------------------------------------|
| app | Express App | 🚫 | New express app |
| functionsDir | Directory containing file functions | 🚫 | <current-working-directory>/functions
|
| port | Port to start server on | 🚫 | PORT
Environment Variable or 9000
|