Synopsis
Adds a new Service class to a LoopBack application with one single command.
lb4 service [options] [<name>]
Options
--type
: (Optional) service type: proxy, class, or provider
--datasource
: (Optional) name of a valid REST or SOAP datasource already
created in src/datasources
Configuration file
This generator supports a config file with the following format, see the Standard options below to see different ways you can supply this configuration file.
{
"name": "serviceNameToBeGenerated",
"datasource": "validDataSourceName",
}
Remote and local services
We support three types of services now:
- proxy: A service proxy for remote REST/SOAP/gRPC APIs
- class: A TypeScript class that can be bound to the application context
- provider: A TypeScript class that implements
Provider
interface and can be bound to the application context
For remote services (type=proxy), there should be at least one valid (REST or
SOAP) data source created already in the src/datasources
directory.
Standard options
-h, --help
- Print the generator’s options and usage.
--skip-cache
- Do not remember prompt answers. Default is false.
--skip-install
- Do not automatically install dependencies. Default is false.
-c, --config
- JSON file name or value to configure options
--format
- Format generated code using
npm run lint:fix
For example,
lb4 app --config config.json
lb4 app --config '{"name":"my-app"}'
cat config.json | lb4 app --config stdin
lb4 app --config stdin < config.json
lb4 app --config stdin << EOF
> {"name":"my-app"}
> EOF
-y, --yes
- Skip all confirmation prompts with default or provided value
Arguments
<name>
- Optional argument specifying the service name to be generated.
Interactive prompts
The tool will prompt you for:
-
Service type. (serviceType) If the service type had been supplied from the command line with
--type
or--datasource
(implyingproxy
) option and it is a valid one, then the prompt is skipped, otherwise it will present you the list of all valid service types.? Service type: (Use arrow keys) ❯ Remote service proxy backed by a data source Local service class bound to application context Local service provider bound to application context
-
Please select the datasource. (datasource) If the name of the datasource had been supplied from the command line with
--datasource
option and it is a valid one, then the prompt is skipped, otherwise it will present you the list of all valid datasources from thesrc/datasources
directory. -
Service name. (name) If the name of the service to be generated had been supplied from the command line, the prompt is skipped.
Output
Once all the prompts have been answered, the CLI will generate a basic skeleton for your service.
- Create a Service class as follows:
/src/services/${name}.service.ts
- Update
/src/services/index.ts
to export the newly created Service class.