- New Koop Monorepo
- Koop Road Map 2022 - 2023
- Koop CLI v1.1 release: add HTTPS support to the dev server
- Koop CLI v1.0 release: new commands for every stage of development
- Support for alternate input and output coordinate systems
- Koop 4.0.0 released
- Introduction to provider transformation functions
- Koop CLI v0.6.0 release: enhanced development experience
- All posts ...
Koop CLI v1.0 release: new commands for every stage of development
Dec 30, 2020 • Haoliang Yu
The Koop CLI v1.0 release adds several new features that takes care of your needs in different stages of Koop app development. In this new blog post, we are going to explore these new features and see how they can reduce the development toil.
Listing existing plugins
Sometimes you would like to know the plugins already registered in the Koop app. In the past, this could only be done by manually checking the dependency list in the
package.json file and the code in
src/plugins.js. Now you can simple use the new
list command to print a list of all existing plugins:
$ koop list
and the output is a nicely formatted table:
2 plugins are found. # Name Type Is local plugin? - ------------- -------- ---------------- 1 test-output output true 2 test-provider provider true
You can also further filter the list by adding a specific plugin type:
$ koop list provider
and it will result in a filtered table:
1 plugin is found. # Name Type Is local plugin? - ------------- -------- ---------------- 1 test-provider provider true
Under the hood, a plugin list is maintained within the
koop.json file and will be updated when a plugin is added or removed using the CLI. It keeps track of the state of the Koop app and make it easier to get the current statistics of plugins.
Removing a plugin
Remvoing an existing plugin from the Koop app used to be a tedious and error-prone task. It was needed to remove the plugin code and configuration from multiple files, which could be confusing for those who were not familiar with the project structure.
Since the Koop app boileplate is stable, we have automated the plugin removal with the new
remove command. It reverses the operation done by the
add command and works for the plugin from both the npm or a local directory.
For example, if the plugin is added from npm with
$ koop add provider koop-provider-csv
then the plugin can be removed with
$ koop remove koop-provider-csv
If the plugin is added from a local directory with
$ koop add provider my-private-provider --local
then the plugin can be removed with
$ koop remove my-private-provider
The command will attempt to do the following things for you:
- remove plugin source code
- remove plugin test code
- remove plugin configuration
- update koop configuration
- remove dependencies
Validating a plugin
Each Koop plugin type has a specification on the module exports. The new command
validate can be used to verify whether the current Koop plugin project follows the specification. By running the command,
$ koop validate
it will load the module and checks the existence of all necessary export properties. The command will print the result of validation. If the validation passes,
The plugin is valid.
or if there is any problem,
The plugin is not valid. # Property Error - ------------- ----------------------------------- 1 type the value is empty 2 Model the "getData" function is not added
The Koop CLI v1.0 is compatible with a Koop project (app or plugin) created with v0.x. But if you are creating a project, it is recommaned to use the latest version to reduce chance of error.
We hope that these commands will save you time in the development. For more information, please check the details in the command documentation. If you have any question about Koop CLI, please feel free to submit an issue.