UNPKG

generator-homebase

Version:

generators for workclout homebase codebase

75 lines (54 loc) 2.62 kB
# generator-homebase [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] > generators for workclout homebase codebase ## Installation First, install [Yeoman](http://yeoman.io) and generator-homebase using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)). ```bash npm install -g yo npm install -g generator-homebase ``` ## Templates ### Component generator Generates a function component in `src/components` with the following features: - Simple Card component with some info and click event. - All typescript annotations needed for props and component. - `styled` file for you styled-components and rebass components. - Storybook example ready to be consumed by storybook - `tests` file for unit tests. It contains 4 basic unit test that should pass for the generated components - `i18next` internationalization example via `useTranslation` To run inside the `app` project run ``` npm run generate:component ``` To run via `yeomen` ``` yo homebase:component ``` _note_: you will be promot to enter a component name. Please enter CamelCase name for the template to work. _note_: This generator doesn't have an option to generate a class component since we now have react hooks there is no need for class components. ## Dev ### Local development on existing template. - `git clone git@github.com:workclout/generators.git` - run `npm link` - link package in `app` project via `npm link generator-homebase` - run `npm run generate:${template name}` script. ### Add a new template - create a new folder inside `generators` with the name of your template. - create index.js with yeomen class. (checkout `generators/component` generator) - create your templates in `generators/${generator name}/templates`. ## Publish to publish you need to: - Increase the package version in `package.json` - Run `npm publish` - Install package in your project with `npm i -D generator-homebase@latest` ## Future work - add options for styled/i18next. - add templates to generate scenes. - semantic releases and publish package on commit to master ## License © [ilaiwi]() [npm-image]: https://badge.fury.io/js/generator-homebase.svg [npm-url]: https://npmjs.org/package/generator-homebase [travis-image]: https://travis-ci.com/workclout/generator-homebase.svg?branch=master [travis-url]: https://travis-ci.com/workclout/generator-homebase [daviddm-image]: https://david-dm.org/workclout/generator-homebase.svg?theme=shields.io [daviddm-url]: https://david-dm.org/workclout/generator-homebase