easy-functions

Using functions-framework to make easy functions

Usage no npm install needed!

<script type="module">
  import easyFunctions from 'https://cdn.skypack.dev/easy-functions';
</script>

README

Easy to create API

base on @google-cloud/functions-framework

Configure

Command-line flag Environment variable Description
--port PORT The port on which the Functions Framework listens for requests. Default: 8080
--target FUNCTION_TARGET The name of the exported function to be invoked in response to requests. Default: function
--signature-type FUNCTION_SIGNATURE_TYPE The signature used when writing your function. Controls unmarshalling rules and determines which arguments are used to invoke your function. Default: http; accepted values: http or event or cloudevent
--source FUNCTION_SOURCE The path to the directory of your function. Default: cwd (the current working directory)

| --source | FUNCTION_HANDLER | We're have two options body or path, using env FUNCTION_HANDLER. Default:path )

1. body

using body with json

{
  "action": {"name":"user-update"}
}

--> auto load ./actions/user-update.js
{
  "trigger": {"name":"user-like"}
}

--> auto load ./triggers/user-like.js
2. path: make rest full api
  • /login -> src/login.js
  • actions/user-update -> src/actions/user-update.js
  • triggers/user-buy -> src/actions/user-buy.js

1. Create new node project

yarn init    

2. Install libs

yarn add  easy-functions @google-cloud/functions-framework

3. Make index file. (support ts)

index.js/index.ts

import {handler} from 'easy-functions';

export const easy = handler;

3. Make functions file.

test.js

export default (req, res) => {
    res.send('test ok')
}

4. Run

with npx

npx functions-framework --target=easy

Default endpoint: http://localhost:8080/

Test: http://localhost:8080/test