@labshare/services
v5.0.1
Published
LabShare API Service Manager
Downloads
339
Maintainers
Keywords
Readme
LabShare Services
Usage
npm i @labshare/services
const {Services} = require('@labshare/services');
let options = {
// Override default options.
// The available configuration options are described in the "Configuration" section below.
};
let services = new Services(options);
services.config(({app, services}) => {
// Optionally perform additional customization of the Express app initialized by Services and the loaded routes
// Example (adds Express.js compression middleware):
app.use(compression());
});
// Start up the server with all the loaded HTTP and Socket APIs
services.start();
Configuration
Configuring LabShare Services
Environment Variables
LabShare Service Plugins
- services-auth: OAuth2 API authorization plugin
- services-cache: Enables Redis caching
- services-build-cli: Generates API distributions
- services-msi-cli: Generates a Windows MSI for a Node.js API project
Example plugin usage
const {Services} = require('@labshare/services');
const servicesAuth = require('@labshare/services-auth');
const services = new Services({/* options */);
services.config(servicesAuth({/* options */}));
Default HTTP Routes
Versions
GET /<service-path>/versions
Response
{
"buildVersion":"v2017.0914.5",
"versions": [
{"api":"ls", apiDetails":{"name":"labshare","version":"v0.17.0631","description":"LabShare Services"}}
]
}
Example: http://localhost:8000/versions
API Explorer
GET /<service-path>/explorer
Response
Swagger HTML page providing documentation for endpoints across all API packages
Example: http://localhost:8000/explorer
Working with LabShare APIs
Running APIs
Running Loopback APIs
Creating HTTP APIs
Creating Socket APIs
Managing APIs with PM2
Development
- Install Node.js.
npm i -g lsc
- Run
npm install
inside the Service's root directory to install its dependencies.
Tests
npm test