Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
@anephenix/rcg
Advanced tools
A Node.js library and CLI for generating React components.
npm i @anephenix/rcg
There are 2 ways that you can use RCG - via CLI, or as an NPM module in your Node.js code.
After you have installed rcg, cd into your React app, and run this:
npx rcg MyComponent
This will do the following:
You can also generate the component in a different folder:
npx rcg LoginPage --directory pages
This will generate a folder called 'login-page' in the pages folder, such as for a Next.js app.
To add custom DOM to insert into the React component, you can pass the --dom
flag:
npx rcg NavBar --dom="<div id='logo'>Logo here</div>"
To add custom CSS to insert into the SASS file for the component, you can pass the --css
flag:
npx rcg NavBar --css="#logo { color: #ffcc00;}"
To specify a custom file extension for the component and test file names (e.g. jsx, tsx), you can pass the --jsExtension
flag:
npx rcg NavBar --jsExtension=jsx
To specify a custom file extension for the css file (e.g. .style.js), you can pass the --cssExtension
flag:
npx rcg NavBar --cssExtension=style.js
By default, it generates a scss file. This will likely change in the future to a default pattern of css-in-js
You can load it this way:
const path = require('path');
const rcg = require('@anephenix/rcg');
const componentName = 'MyComponent';
const srcFolderPath = path.join(process.cwd(), 'src', 'components');
(async () => {
await rcg(componentName, srcFolderPath);
})();
If you want the React component to include custom DOM and/or the SASS file to include custom CSS, you can also pass these parameters:
const path = require('path');
const rcg = require('@anephenix/rcg');
const componentName = 'MyComponent';
const srcFolderPath = path.join(process.cwd(), 'src', 'components');
const customDOM = '<p>Hello</p>';
const customCSS = 'p { color: red; } ';
const customJSExtension = 'jsx';
const customCssExtension = 'style.js';
(async () => {
await rcg(
componentName,
srcFolderPath,
customDOM,
customCSS,
customJSExtension,
customCssExtension
);
})();
Rather than having to specify arguments via the CLI each time, you can load them via a rcg.config.js file, with these contents:
const path = require('path');
const config = {
// Put the component folder and file in the components directory
directory: path.join(process.cwd(), 'components'),
// Use the jsx filename extension for the component files
jsExtension: 'jsx',
};
module.exports = config;
npm t
© 2020 Anephenix OÜ. RCG is licensed under the MIT License.
FAQs
React Component Generator
The npm package @anephenix/rcg receives a total of 0 weekly downloads. As such, @anephenix/rcg popularity was classified as not popular.
We found that @anephenix/rcg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.