Skip to content

Latest commit

 

History

History
81 lines (54 loc) · 3.02 KB

README.md

File metadata and controls

81 lines (54 loc) · 3.02 KB

generator-c8y

version downloads MIT License

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 and CoreModule 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.