bija
v1.1.8
Published
A command line tool for auto-generation of react components, redux containers, storybooks and more.
Downloads
21
Maintainers
Readme
bija
A command line tool for auto-generation of react components, redux containers and react storybooks. Forked from mantra-cli and adjusted for non-meteor projects.
"A bija is a one-syllabled mantra"
Installation
npm install -g bija
Documentation
Make sure you run bija
from the root directory of your project.
API
| command, alias | [type] | [name] |
| :------------- | :-------- | :-------------------------- |
| generate, g | module | <moduleName>
|
| | component | <moduleName>:<entityName>
|
| | container | <moduleName>:<entityName>
|
| destroy, d | module | <moduleName>
|
| | component | <moduleName>:<entityName>
|
| | container | <moduleName>:<entityName>
|
Config and output customisation
To customise the output adjust the .bija.yaml config file in the root of the project to your liking. Some examples can be found in the examples dir.
Customisable fields:
| field | type | default | | :--------------------- | :-------------- | :--------------------| | generateComponentTests | boolean | false | | generateContainerTests | boolean | false | | modulesPath | string | 'src/modules' | | snakeCaseFileNames | boolean | false | | storybook | boolean | false | | tabSize | number | 2 | | useIndexFile | boolean | false |
Examples
- Generate a module called
myModule
insrc/modules
(or whatever is set asmodulesPath
in.bija.yaml
):
bija g module myModule
- Generate a component called
myComponent
in modulecore
:
bija g component core:myComponent
- Generates a container called
myComponentContainer
and its corresponding component calledmyComponent
in modulecore
:
bija g container core:myComponent
Storybooks and storyshots
When using this tool you probably want to make sure you load all stories dynamically in your storybook config file:
// in .storybook/config.js
import {configure} from '@storybook/react'
const req = require.context('../src/modules', true, /\.stories\.js$/)
function loadStories() {
req.keys().forEach((filename) => req(filename))
}
configure(loadStories, module)
Copyright and license
Copyright 2017, mcmunder.
Licensed under the MIT license.