...via yarn
yarn global add @dnncommunity/dnn-cli
...via npm
npm install -g @dnncommunity/dnn-cli
Once dnn-cli is installed, it may be used via Command Prompt, PowerShell, Terminal, etc.
dnn [create-extension] [extensionType] [moduleType | customExtensionRepo] [--install | -i]
Initially, dnn-cli
supports create-extension
. Over time, the vision is to grow the CLI to support even more great features. For now, at least, the following two commands are the same:
dnn
dnn create-extension
It can be used to quickly setup a new local project by cloning any available starter project found within the DNN Community organization on GitHub. All available starter project repositories follow the repo naming convention of starter-<extensionType>-<moduleType>
.
It also supports custom git repositories of your chosing.
A new local project can be quickly installed into an empty directory of your choice using the following CLI syntax. Optional dnn
command arguments are indicated using brackets [ ].
dnn [extensionType] [moduleType | customExtensionRepo] [--install | -i]
Upon running the command and responding to any applicable prompts, the new project will be cloned in the directory from which the dnn-cli
command was run.
dnn
This will result in being prompted for
extensionType
andmoduleType
(orcustomExtensionRepo
) depending on extensionType selected.
dnn theme
For an
extensionType
that does not have amoduleType
orcustomExtensionRepo
, no prompts will be displayed and the new project will be created. For anextensionType
that does have amoduleType
orcustomExtensionRepo
(e.g., "Module", "Persona Bar", "*Custom"), a prompt will be displayed to select the desiredmoduletype
or enter a validcustomExtensionRepo
.
dnn module web-forms
dnn *custom https://github.com/<user|org>/<repo>.git
None of these are case sensitive. Extension types and module types with spaces in the name can be wrapped in quotes or hyphenated.
- Authentican System (authentication-system)
- Connector (connector)
- Container (container)
- Core Language Pack (core-language-pack)
- Extension Language Pack (extension-language-pack)
- JavaScript Library (javascript-library)
- Library (library)
- Module (module)
- MVC (mvc)
- Razor 3 (razor-3)
- SPA (spa)
- Web Forms (web-forms)
- Persona Bar (persona-bar)
- Angular (angular)
- AngularJS (angularjs)
- HTML (html)
- React (react)
- Vue (vue)
- Provider
- Scheduled Job (scheduled-job)
- Theme Object (theme-object)
- Theme (theme)
- Web API (web-api)
- Widget (widget)
*Custom (*custom)
For front-end projects, including the --install
or -i
option will automatically run yarn
(yarn install
) or npm install
once the starter repository is cloned. The use of yarn
or npm
will be chosen based on your environment's configuration (yarn
will take preferrence if installed).
Coming soon at dnndocs.com