A simple CLI utility for use with bpanel
npm install -g @bpanel/bpanel-cli
Passing no arguments, or
--help, will return the help menu.
c: create a plugin boilerplate project for local development
l: list all currently installed plugins
i: install a new plugin to your local bPanel
u: uninstall a plugin from your local bPanel
s: search available plugins you can install with
Create a Plugin Boilerplate
create command will walk you through the steps to create a plugin boilerplate.
In your terminal:
Then just answer the questions. The initial questions will setup your
as well as necessary information to initialize your project as an npm module.
This means that when you're happy with your plugin and want to share it with the world, all you have to do is run
npm publish from your project directory.
Most of the questions are self-explanatory, but if this is your first time creating a bPanel plugin some additional information might be helpful.
The first question is about primary name of your plugin. This will set the name of your directory and the name of your plugin on npm.
Because npm uses package names in the registry's url, only url friendly names can be used. We use
validate-npm-package-name to validate names, so you can see their readme for specific rules. If there's anything wrong, you will be asked to pick a new name. This does not check for the existence of an npm package with the same name, so double check this on your own first.
You can learn more about plugin names [here](http://bcoin.io/bpanel-docs/docs/api-metadata.html#details.
The question "Will your plugin depend on any other published bPanel plugins" has to do with whether you will be bundling or requiring any other bPanel compliant plugins (i.e. they must follow the API rules). You can read more about plugin bundling here.
To see what plugins are available to be bundled run the following in another terminal:
$ bpanel-cli search
This will search the npm registry for any plugins tagged with the
bpanel keyword (all plugins created with
bpanel-cli will automatically add this keyword).
Making a Theme
You can read more about making a theme in bPanel here. If you answer "y" to this,
bpanel-cli will mock out the necessary files and exports to create a theme.
bpanel-cli will only expose the
metadata export from the entry point of your app. If you have a good idea of what you want to start building, you can choose "y" to the question of "Would you like to add any additional module templates".
This will mock out in your
lib/index.js what these modules should look like.
Scroll through the options with your arrow keys (or vim navigation), select with the space bar, and press enter when you're done.
If any of the modules selected need to specify a component they will decorate (e.g. Footer, Header, Sidebar, or Panel), you will be asked to select which in the next step. You can add more later.
To learn more about building plugins and about the module API, check out the bPanel documentation website.
- Copyright (c) 2018, Bcoin Devs (MIT License).
See LICENSE for more info.