An awesome CLI utility for quickly create new React components.
NMP Package
Feature Request
·
Bug Report
- Create React components.
- Choose between TypeScript and JavaScript.
- Components can be function, arrow or class.
- Even you can use your favorite ui library (personal whim).
From your terminal run:
# install the package with NPM
$ npx n-comp
# or install it with YARN
$ yarn n-comp
cd
into your project's directory, and try creating a new component:]
$ new-component MyNewComponent
Your project will now have a new directory at src/components/MyNewComponent
. This directory has two files:
// `MyNewComponent/index.js`
export { default } from './MyNewComponent';
// `MyNewComponent/MyNewComponent.js`
function MyNewComponent() {
return (
<div>
<p>MyNewComponent</p>
</div>
);
}
export default MyNewComponent;
These files will be formatted according to your Prettier configuration.
Configuration can be done through 3 different ways:
- Creating a global
.nc.config.json
in your home directory (~/.nc.config.json
). - Creating a local
.nc.config.json
in your project's root directory. - Command-line arguments.
The resulting values are merged, with command-line values overwriting local values, and local values overwriting global ones.
Controls which language, JavaScript or TypeScript, should be used.
ts
— creates a.tsx
file (default).js
— creates a.js
file.
Usage:
Command line: --lang <value>
or -l <value>
JSON config: { "lang": <value> }
Controls which type of component, function, arrow or class should be used.
- Function — use
function MyNewComponent() {}
- Arrow — use
const MyNewComponent = () => {}
- Class — use
class MyNewComponent extends React.Component {}
Usage:
Command line: --type <value>
or -t <value>
JSON config: { "type": <value> }
Controls which ui library, vanilla, Chakra UI or MUI should be used.
- Vanilla — use
<div>
and<p>
tags. - Chakra UI — use
<Box>
and<Text>
components. - Material UI — use
<Box>
and<Typography>
components.
Usage:
Command line: --ui <value>
JSON config: { "ui": <value> }
Controls the desired directory for the created component. Defaults to src/components
Usage:
Command line: --dir <value>
or -d <value>
JSON config: { "dir": <value> }
Licensed under the MIT license