generator-c8y
Yeoman generator for Cumulocity frontend development.
Why?
As usual, it all started with laziness. Laziness in repeating the same thing over and over again. 😋 Then with bits of creativity and big interest in automation, comes this hobby project. 🚤🎣
Installation
-
Make sure you have Node.js LTS installed and npm from its website, or better even, use nvm.
-
Install Yeoman, he's a cool guy. 💂😎 Get to know more about him here: https://yeoman.io.
$ npm isntall -g yo
- Install the generator:
$ npm i -g generator-c8y
Usage
Available subgenerators:
- c8y:module
- c8y:service
- c8y:provider
- c8y:component
- c8y:directive
- c8y:filter
- c8y:decorator
- c8y:ngx
For instance, to generate a service and its unit test:
$ yo c8y:service
TODO
I and my colleague, Jan Feuerbach, are working on another interesting generator to speed up our process of scaffolding custom widgets and plugins in the PoC team at Cumulocity.
- c8y:plugin
- c8y:plugin widget
- c8y:plugin chart
- c8y:plugin translations
- c8y:plugin widget --legacy (use legacy widget component API 👴)
- c8y:plugin widget --typescript (use TypeScript to write widget). Example here.
- c8y:plugin widget --typescript-nomodules (use TypeScript without usage of import/export syntax)
- c8y:ngx widget (use "Web SDK for Angular" to create widget ❇️)
Caveats
- This generator is still on the experimental stage.
- Code generated by the generator assumes AngularJS 1.5+ is used.
- Generator for controller is not provided on purpose because its usage is considered sucks these days (well, quite frankly, I'm just lazy to do it). Glue your controller to your component instead! 😏
Notes on making use of ngx subgenie 🧞
- The
ngx widget
subgenerator is bleeding-edge, and is so opinionated. - You might want to read the official docs first to get the hang of it.
- Should be used in combination with
HOOK_COMPONENT
andCoreModule
from @c8y/ngx-components v1004.11.0+. Slight hiccup guaranteed, so keep that explorer attitude in mind! 💥👨🚀 (psst.., not-so-real-world example here)
Author
Glenn Dwiyatcita (@dwiyatci)
License
MIT.
See LICENSE.txt.