UNPKG

@assylman/riverpod-cli

Version:

nodejs cli for creating well structured flutter riverpod folders and files needed to work with Riverpod plugin

88 lines (63 loc) 5.08 kB
# Riverpod CLI The Riverpod Command Line Interface (CLI) Tools is created for skipping the boilerplate files generation when using riverpod plugin - https://riverpod.dev. - You can easily create services - You can easily create repositories - You can easily create managers - You can easily create features, which includes all of the above ## Installation ### Node Package You can install the Riverpod CLI using npm (the Node Package Manager). Note that you will need to install: - [Node.js] http://nodejs.org/ - [npm] https://npmjs.org/ To download and install the Riverpod CLI run the following command: ```bash npm install -g @assylman/riverpod-cli ``` ## Commands **The command `riverpod-cli --help` lists the available commands and `riverpod-cli <command> --help` shows more details for an individual command.** ***Use this cli inside you flutter projects directory!!!*** ### Configuration Commands First four commands need a required parameter, which is a feature name. | Command | Description | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | **service** | Create a service with a given name. | | **repository** | Create a repository with a given name. | | **manager** | Create a manager with a given name. | | **feature** | Create a whole feature with a given name, this includes services, repositories and managers. | | **help** | Display help information about. | ### Common args | Parameter | | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | **-t** | Default features directory is `/lib/features``, but with this flag you can set the different directory | | **-i** | With this flag the CLI generates index barrel files. | | **--use-imports** | By default, CLI uses `absolute` imports. Set this parameter to `relative`, in order to use relatice imports. | ### Specific args per command type | Parameter | Description | | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | **service** | | | **-l** | Creates a local service class. | | **-r** | Creates a remote service class. | | | | | **feature** | Create a whole feature with a given name, this includes services, repositories and managers. | | **-p** | This parameter creates a providers file inside the feature folder. | ### Folders structure ```bash /lib /features/ /managers/ -> example_manager.dart -> managers.dart (index barrel file) /services/ -> example_service.dart (abstract interface) -> example_local_service.dart -> example_remote_service.dart -> services.dart (index barrel file) /repostiories/ -> example_repository.dart (abstract interface) -> example_repository_impl.dart -> repositories.dart (index barrel file) -> example.dart (feature index barrel file) -> providers.dart (feature provider file) ``` You can create mentioned files and folders with `riverpod-cli feature` command.