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();
- 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
const {Services} = require('@labshare/services');
const servicesAuth = require('@labshare/services-auth');
const services = new Services({/* options */);
services.config(servicesAuth({/* options */}));
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
GET /<service-path>/explorer
Response
Swagger HTML page providing documentation for endpoints across all API packages
Example: http://localhost:8000/explorer
- Install Node.js.
npm i -g lsc
- Run
npm install
inside the Service's root directory to install its dependencies.
npm test