Flex Aion
The Flex Aion repo is a monorepo that houses:
- The Flex App - the web application that powers's a Flex instance
- The Flex Component Library - a component library for building a Flex-like application
- The Flex SDK - the client-side business logic piece for working with and creating Flex-like experiences
Repo Architecture
This monorepo uses npm workspaces to manage it's multiple packages and dependencies.
- Each application/library has a top-level directory beneath
packages
- The application is bootstrapped as
independent
, meaning each package can be built and released independently from the others
- The repo uses Twilio Style to enforce code consistency across the repos. This kicks in during a pre-commit phase and is powered by husky and lint staged
- Linting is configured to run across the repo, and each individual package can further extend this to add necessities for that application/library
- Lerna is used for publishing npm packages. Do NOT use
lerna bootstrap
!!!
Development
Prerequisites
This project requires node v16.14 and npm 8.5.x as defined in the .nvmrc
file. If you are using the nvm
version manager then you can just do this to get setup:
nvm use
Running Locally
Set up and install dependencies:
npm i
Run Flex App locally:
npm run start:app
Run Storybook locally:
npm run storybook
Lint:
npm run lint
npm run lint:fix