saasify-faas-utils
Shared FaaS utilities for Saasify.
Install
npm install --save saasify-faas-utils
Usage
parseFaasIdentifier
const saasifyUtils = // parses any FaaS identifier (see the FaaS format below for more examples)const parsedInfo = saasifyUtils if !parsedInfo console else const projectId deploymentHash version servicePath = parsedInfo /* { projectId: 'projectName', deploymentHash: '01234567', servicePath: '/servicePath', version: undefined } */
validators
const saasifyUtils = const validators = saasifyUtils validators // truevalidators // false validators // truevalidators // false (no underscores allowed)validators // false validators // truevalidators // false (too short) validators // truevalidators // false (no underscores allowed)validators // false validators // truevalidators // false validators // truevalidators // false validators // truevalidators // false
FaaS Identifier Format
The most general FaaS identifier fully specifies the deployment and service path.
It may include an optional URL prefix such as http://localhost:5000/1/call/
in development or https://ssfy.sh/
in production. The parsed result will be the same with or without the full URL prefix.
username/projectName@01234567/servicePath // explicitly identify a specific deployment (may not be published)
username/projectName@latest/servicePath // explicitly identify the latest published deployment
username/projectName@1.0.0/servicePath // explicitly identify a published deployment with a specific version
username/projectName/servicePath // implicitly identify the latest published deployment
If no servicePath
is specified, it is assumed that the deployment either has a single service or has a service registered at the root /
path and errors if this is not the case.
username/projectName@01234567
username/projectName@latest
username/projectName@1.0.0
username/projectName
Omitting username
You may optionally leave off the username/
prefix when referring to your own projects and deployments via the dev CLI.
projectName@01234567
projectName@latest
projectName@1.0.0
projectName
An example of this for the hello-world
project would look like:
# view all deployments for the authenticated user's hello-world project saasify ls hello-world
This would be equivalent to:
# view all deployments for my-user-name/hello-world project saasify ls my-user-name/hello-world
Related
- saasify - Saasify is the easiest way to launch your own SaaS.
License
MIT © Saasify