Overview
The OSCAL React Library is a collection of React components and an example application that allows developers to work with NIST’s Open Security Controls Assessment Language (OSCAL) data in JSON format. The library provides React application developers with the tools to easily create pages that display specific elements of OSCAL data or entire catalogs, profiles, component definitions, and system security plans. The library includes components and documentation to help developers integrate OSCAL React components into their own applications.
Features
- Direct view into NIST’s Open Security Controls Assessment Language (OSCAL) data in JSON format
- Visualization of granular elements of OSCAL data using React components
- Ability to assemble OSCAL React components to create an OSCAL Viewer application
Installation
To use the OSCAL React Library components or test the library locally, follow these steps:
- Install dependencies by running
npm ci - Build the application using the command
npm run build - Test the library by running
npm run test
For development on the library, navigate to packages/oscal-react-library and follow these additional steps:
- Create a new component in
src/components - Add the component either as an export in
src/index.jsor reference it from an existing export - In the root folder of the project, run
npm run watchto roll up all components intodist/
For more details on running the OSCAL Viewer example application, please refer to the provided example README.md.
Summary
The OSCAL React Library is a powerful tool for React application developers who work with NIST’s Open Security Controls Assessment Language (OSCAL) data. It provides a flexible framework for visualizing OSCAL data using React components and allows developers to easily assemble these components to create an OSCAL Viewer application. The library also offers comprehensive documentation and a live demo to assist developers in integrating OSCAL React components into their own applications. Overall, the OSCAL React Library is a valuable resource for simplifying the development process for applications that work with OSCAL data.