@department-of-veterans-affairs/generator-vets-website
Version:
Generate a React app for vets-website
66 lines (40 loc) • 2.27 kB
Markdown
> Yeoman generator for applications on VA.gov
## Installation
The generator is already installed as a `devDependency` of [`vets-website`](https://github.com/department-of-veterans-affairs/vets-website).
## Usage
From `vets-website`, run `npm run new:app`.
Follow the instructions on screen.
For more details on answering the prompts, the following documentation might be helpful.
- [Guide on using this Yeoman generator with example answers for each prompt](https://department-of-veterans-affairs.github.io/veteran-facing-services-tools/platform/tools/generator/)
- [Basic tutorial for creating and modifying a form application](https://department-of-veterans-affairs.github.io/veteran-facing-services-tools/forms/form-tutorial-basic)
These resources are also provided by the generator at startup.
## Contributing
### Making changes
There are two generators: one for general (non-form) apps and one for form apps.
- The latter runs on top of the former if certain prompts are answered to generate a form app.
- Each generator has its own set of templates from which it generates files in the app structure.
For specifics on writing a generator, [refer to the official Yeoman documentation](https://yeoman.github.io/generator/).
### Testing changes
1. **Make your modified generator available as a global module.**
From the root of this repo (`generator-vets-website`):
```sh
# Create a symlink in your global node_modules to this module.
npm link
```
2. **Run your modified generator in your local `vets-website`.**
From the root of `vets-website`:
```sh
# Point vets-website's local generator to your newly linked global module.
npm link @department-of-veterans-affairs/generator-vets-website
# Start up Yeoman.
npx yo
# Choose to run generator-vets-website in the Yeoman prompt.
```
Due to the link, any further changes to the generator will automatically be included when you run it within your local `vets-website` repo.
3. **When you're done testing your changes, clean up the links:**
```sh
# From the root of vets-website:
npm unlink --no-save @department-of-veterans-affairs/generator-vets-website
# From the root of generator-vets-website:
npm unlink
```