VA Forms System Core (VAFSC) is the second generation of the forms library which is built using React, Formik, and Typescript.
What is the forms library?
The forms library is the current production system that most forms are built with inside of vets-website. This legacy system uses a forked version of React JSON Schema Form (RJSF) and a config based approach to designing and developing forms. Although this system worked well up to this point, VAFSC will be a major improvement by incorporating React components and giving engineers and designers the power back that RJSF did not allow for.
NPM Package: NPM va-forms-system-core
Github Pages: VA Forms System Core Github Pages
VAFSC will include but not limited to:
- Routing
- Save In Progress
- Web Components
- Accessibility
- Nodejs/NPM
- run
nvm useto install and use proper node version
- run
- Yarn
Once you have the prerequisites downloaded you are ready to get the project built.
First you need to install all of the packages and their dependancies by running:
-
Install
yarn install
-
Build
yarn build
-
Watch
yarn watch
Run the examples in this repo with:
yarn serve-examplesTo create new example:
- Make an entry file at
examples/my-new-example/index.jsx - (Optional) Add a new bullet to the directory listing at
examples/index.jsxto appear on the home page so other developers can quickly go to it
We have documentation in /docs that is hosted using GitHub Pages.
To update the document references run:
yarn buildTo run the Jekyll site locally, run the following commands:
cd docs
bundle install
bundle exec jekyll serveThere are 3 github actions currently but more will be added in the future.
- codeql-analysis
- testing
- npm-publish
For more information about the purpose and architecture of this library, check out the design document.
The design document is intended to be a living document, so if you find it doesn't accurately reflect reality, please open an issue or submit a PR.