{"_id":"@akliegman/component-generator","_rev":"6-fe8aa88a53cd2a8324b83f7d7ead9597","name":"@akliegman/component-generator","description":"A CLI tool to generate React components with TypeScript and SCSS","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@akliegman/component-generator","version":"0.0.1","keywords":[],"author":{"name":"Adam Kliegman"},"license":"ISC","_id":"@akliegman/component-generator@0.0.1","bin":{"generate-component":"generateComponent.js"},"dist":{"shasum":"ac2e46e502cb0a41a492b34ddb8fb8ce86f56547","tarball":"https://registry.npmjs.org/@akliegman/component-generator/-/component-generator-0.0.1.tgz","fileCount":5,"integrity":"sha512-2iSYm848a4LQK0SDuInHijLUo+PQLR/7ajhz6gqV1WWo4hGHoX7SLPnHMsNFX/0mgwDv90GUyTNG1IviHFREwA==","signatures":[{"sig":"MEYCIQD6x8eb68OudPcnQsLbPpx+c2T6hiREY5uKDJsNRhdQCAIhALAPqyqG504WKXdKuDLXbeYvgF/pLci7VdmnCr9Bfyku","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6348},"main":"index.js","type":"module","scripts":{"start":"node generateComponent.js"},"_npmUser":{"name":"akliegman","email":"adam.j.kliegman@gmail.com"},"deprecated":"This version is deprecated. Please upgrade to a newer version.","_npmVersion":"10.8.1","description":"A CLI tool to generate React components with TypeScript and SCSS","directories":{},"_nodeVersion":"22.3.0","dependencies":{"fs":"^0.0.1-security","path":"^0.12.7","yargs":"^17.7.2","prettier":"^3.3.2","child_process":"^1.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/component-generator_0.0.1_1719499277391_0.8720860268006383","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@akliegman/component-generator","version":"0.0.2","keywords":["react","typescript","scss","component","generator"],"author":{"name":"Adam Kliegman"},"license":"MIT","_id":"@akliegman/component-generator@0.0.2","homepage":"https://github.com/akliegman/component-generator#readme","bugs":{"url":"https://github.com/akliegman/component-generator/issues"},"bin":{"generate-component":"index.js"},"dist":{"shasum":"1a47056f180d47c4328fc9732a57d9da3c865012","tarball":"https://registry.npmjs.org/@akliegman/component-generator/-/component-generator-0.0.2.tgz","fileCount":5,"integrity":"sha512-DegEEVSBqTcQzSb2FM4W63fuesaVkBDowO0HgH5QBG4dRfTIkc6HySiPVxudj8NRhA1gHSBehW48Iiy0si+/mg==","signatures":[{"sig":"MEUCIBb4TLvNW0Jyiv2gnetzZVU3hJSlfpY7lzsaaJeUwh6GAiEA04FJerYc7XKEsNGolFTCprzSZ08EnPcZCHFu1tCMAW0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7585},"main":"index.js","type":"module","gitHead":"1091bedd55fabf5cbfdaddfa739935edf37f8da6","scripts":{"start":"node generateComponent.js"},"_npmUser":{"name":"akliegman","email":"adam.j.kliegman@gmail.com"},"deprecated":"This version is deprecated. Please upgrade to a newer versicdon.","repository":{"url":"git+https://github.com/akliegman/component-generator.git","type":"git"},"_npmVersion":"10.8.1","description":"A CLI tool to generate React components with TypeScript and SCSS","directories":{},"_nodeVersion":"22.3.0","dependencies":{"fs":"^0.0.1-security","path":"^0.12.7","yargs":"^17.7.2","prettier":"^3.3.2","child_process":"^1.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/component-generator_0.0.2_1719500709167_0.0900993935889125","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@akliegman/component-generator","version":"0.0.3","keywords":["react","typescript","scss","component","generator"],"author":{"name":"Adam Kliegman"},"license":"MIT","_id":"@akliegman/component-generator@0.0.3","homepage":"https://github.com/akliegman/component-generator#readme","bugs":{"url":"https://github.com/akliegman/component-generator/issues"},"bin":{"generate-component":"babel-node ./index.js"},"dist":{"shasum":"f7b5b652710e7de78ed7b1e5c7bd3601e61f877d","tarball":"https://registry.npmjs.org/@akliegman/component-generator/-/component-generator-0.0.3.tgz","fileCount":34,"integrity":"sha512-WqKid9MgLX+JyEt14J4u/Nht9xdw0pPHOuqv28kyQIRZAhWXDXyItDIRfZKzMMM3guG87H4LDZSV3CjFsIihyg==","signatures":[{"sig":"MEUCIDEZaRArmUVMHjXJkFi0YQ2Gh5BBGFA6IVGTT8OTJUW3AiEAx5U6p0C15vCu8jkNatImEikXZCONFk9ASFva2VhGH2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18691},"main":"index.js","type":"module","gitHead":"afa35d28828cbd5afd7d96b6078baae5da6a2e7a","scripts":{"start":"babel-node index.js"},"_npmUser":{"name":"akliegman","email":"adam.j.kliegman@gmail.com"},"repository":{"url":"git+https://github.com/akliegman/component-generator.git","type":"git"},"_npmVersion":"10.8.1","description":"A CLI tool to generate React components with TypeScript and SCSS","directories":{},"_nodeVersion":"22.3.0","_hasShrinkwrap":false,"devDependencies":{"fs":"^0.0.1-security","path":"^0.12.7","yargs":"^17.7.2","prettier":"^3.3.2","@babel/cli":"^7.24.7","@babel/core":"^7.24.7","@babel/node":"^7.24.7","change-case":"^5.4.4","child_process":"^1.0.2","@babel/register":"^7.24.6","@babel/preset-env":"^7.24.7","babel-plugin-module-resolver":"^5.0.2"},"_npmOperationalInternal":{"tmp":"tmp/component-generator_0.0.3_1719590811062_0.3888048768092536","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@akliegman/component-generator","version":"0.0.4","keywords":["react","typescript","scss","component","generator"],"author":{"name":"Adam Kliegman"},"license":"MIT","_id":"@akliegman/component-generator@0.0.4","homepage":"https://github.com/akliegman/component-generator#readme","bugs":{"url":"https://github.com/akliegman/component-generator/issues"},"bin":{"generate-component":"babel-node ./index.js"},"dist":{"shasum":"f0e5fcb5a0af8a45f1d45623518c531833405d2e","tarball":"https://registry.npmjs.org/@akliegman/component-generator/-/component-generator-0.0.4.tgz","fileCount":34,"integrity":"sha512-htViCIh4EynuxeorTcaIHUiwUAPD3tuiBN6Wjca4K74WykLtVk2G2imXw2kAvCkT4BGubgUq7r4ZCE9UjFjYBg==","signatures":[{"sig":"MEUCIE1QnKIi3IQiv8gzn5xzViR20MH647nLv9E75BI4MfuqAiEAzzlsAzqVx/BsrGZPk+MZiu1ciIkv7W+xLAhuLxOT4vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18727},"main":"index.js","type":"module","gitHead":"c4fff89e2e0f6a283489a9e38ee425428fdd9496","scripts":{"start":"babel-node index.js"},"_npmUser":{"name":"akliegman","email":"adam.j.kliegman@gmail.com"},"repository":{"url":"git+https://github.com/akliegman/component-generator.git","type":"git"},"_npmVersion":"10.8.1","description":"A CLI tool to generate React components with TypeScript and SCSS","directories":{},"_nodeVersion":"22.3.0","_hasShrinkwrap":false,"devDependencies":{"fs":"^0.0.1-security","path":"^0.12.7","yargs":"^17.7.2","prettier":"^3.3.2","@babel/cli":"^7.24.7","@babel/core":"^7.24.7","@babel/node":"^7.24.7","change-case":"^5.4.4","child_process":"^1.0.2","@babel/register":"^7.24.6","@babel/preset-env":"^7.24.7","babel-plugin-module-resolver":"^5.0.2"},"_npmOperationalInternal":{"tmp":"tmp/component-generator_0.0.4_1719591136073_0.3332356382702748","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-06-27T14:41:17.243Z","modified":"2024-06-28T17:30:07.272Z","0.0.1":"2024-06-27T14:41:17.578Z","0.0.2":"2024-06-27T15:05:09.309Z","0.0.3":"2024-06-28T16:06:51.213Z","0.0.4":"2024-06-28T16:12:16.284Z"},"maintainers":[{"name":"akliegman","email":"adam.j.kliegman@gmail.com"}],"author":{"name":"Adam Kliegman"},"repository":{"url":"git+https://github.com/akliegman/component-generator.git","type":"git"},"keywords":["react","typescript","scss","component","generator"],"license":"MIT","homepage":"https://github.com/akliegman/component-generator#readme","bugs":{"url":"https://github.com/akliegman/component-generator/issues"},"readme":"# @akliegman/component-generator\n\n[![npm version](https://badge.fury.io/js/%40akliegman%2Fcomponent-generator.svg)](https://www.npmjs.com/package/@akliegman/component-generator/v/0.0.4)\n\nA CLI tool to generate React components with TypeScript, SCSS/CSS/LESS stylesheets, customizable prop types, and Prettier formatting.\n\n## Installation\n\n### Global Installation\n\nTo install the package globally, run:\n\n```bash\nnpm install -g @akliegman/component-generator\n```\n\n### Local Installation\n\nTo install the package as a dev dependency in a project, run:\n\n```bash\nnpm install --save-dev @akliegman/component-generator\n```\n\n## Usage\n\nAfter installation, you can use the `generate-component` command to generate a new component.\n\n### Command Syntax\n\n```bash\ngenerate-component -n <ComponentName> [-p <props>] [-pt <propTypes>] [-t <targetDirectory>] [--htmlTag <htmlTag>] [--skipStyles] [--styleType <styleType>] [--componentType <componentType>] [--printReactImportStatement]\n```\n\n### Options\n\n * -n, --name (required): The name of the component.\n * -f, --format: The format of the files, either named (e.g. ComponentName.tsx and ComponentName.module.scss) or default (e.g. index.tsx or styles.module.scss)'.\n * -p, --props: Comma-separated list of prop names for the component.\n * -t, --target: The target directory where the component will be created. Default is src/components.\n * --htmlTag, --html: HTML tag for the component (default: \"div\").\n * --componentType, --ct: Type of component to generate (const, function).\n * --printReactImportStatement: Print the import statement for React.\n * --propTypes, --pt: Comma-separated list of prop types for the component. Must match the order of the props.\n * --styleCase, --sc: Naming convention for the stylesheet (camel, kebab, snake, default - same a function name).\n * --skipStyles, --ss: Skip generating/importing styles.\n * --styleType, --st: Type of stylesheet to generate (css, scss, less).\n * -h, --help: View help message.\n\n### Examples\n\n#### Generating a Component with Props and Prop Types\n\n```bash\ngenerate-component -n MyComponent -p \"children,className\" -pt \"React.ReactNode|string,string\" -t \"src/custom-components\" -f \"named\"\n```\n\nThis command will create a `MyComponent` directory inside `src/custom-components` with the following files:\n\n- `MyComponent.tsx`\n- `MyComponent.module.scss`\n- `MyComponent.d.ts`\n\n## Development\n\n### Running Locally\n\nIf you want to run the generator script locally without installing it globally, you can use:\n\n```bash\nnode index.js --n <ComponentName> [-p <props>] [-pt <propTypes>] [-t <targetDirectory>] [--htmlTag <htmlTag>] [--skipStyles] [--styleType <styleType>] [--componentType <componentType>] [--printReactImportStatement]\n```\n\n### Prettier\n\nThis tool uses Prettier to format the generated files. Ensure you have a `.prettierrc` file in the root of your project to define your Prettier configuration.\n\n### Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n\n### License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.\n","readmeFilename":"README.md"}