Skip to content

Latest commit

 

History

History
59 lines (42 loc) · 2.9 KB

File metadata and controls

59 lines (42 loc) · 2.9 KB

@labkey/components

API Docs | Change Log | License | Build Status

This package contains React components, models, actions, and utility functions for LabKey applications and pages.

v1.0.0 - Official Stable Release

v1.0.0 is the first stable release of @labkey/components. This version includes components that are part of the public API along with components used internally within LabKey.

The source code in this package is split into two main directories under the /src directory: internal and public. The React components, models, etc. in the internal directory are either purely for implementation purposes or not yet stable enough to be included as part of the public API. As components become more stable they will be moved to the public directory and added to the public API documentation with future @labkey/component package versions.

Please see the Public API Docs for further details.

Development

Clone and Build

Clone this repository to a local directory.

git clone https://github.com/LabKey/labkey-ui-components.git # or via ssh

Navigate into the packages/components directory and run:

npm install --legacy-peer-deps

This will install all dependencies for the component packages. Once this is complete you can utilize npm to build and test the package.

npm run build
npm test

Technologies

For doing development of LabKey UI Components, you should be familiar with the following technologies:

  • React - used for building the UI components
  • Bootstrap - for consistent, responsive styling
  • React-Bootstrap - bootstrap styling for react components
  • Typescript - for typing of javascript objects
  • Immer - for immutability of normal JavaScript objects, arrays, Sets, and Maps.
  • Jest - for unit testing of components
  • Enzyme - testing utility library

Note that we are currently not using the latest versions of Bootstrap and React-Bootstrap, amongst others, because there have been some significant changes between our current version and the latest version of these libraries, so when looking for docs, be sure to look at the ones corresponding to the version we are using.

Local Development

See the related document for further details on internal processes for doing local development on this package.