portal-components
A library of components that are shared across portals
Project Status
Contributing
Requires node v10
+
Installation
This project contains multiple child projects. You can install dependencies for all of the nested projects by running npm run install_all
. This will install all necesary dependencies, and link
the projects in the lib folder into the demo project.
git clone git@github.com:555platform/portal-components.git
nvm use 8.11
npm run install_all
Creat a demo/server/.env
with the following settings (environment dependent)
CLIENT_ID=<INSERT>
CLIENT_SECRET=<INSERT>
DOMAIN=pop.service.srv
REDIRECT_URI=http://localhost:4044/auth/iris/callback
AUTH_SERVER=http://localhost:4655
EKSURL=http://localhost:3007
PORT=4044
LOGIN_SUCCESS=http://localhost:4050/dashboard
LOGIN_FAILURE=http://localhost:4050/
JWT_PUBLIC_KEY=<INSERT>
LOG_FOLDER=logs
LOG_ROTATION_POLICY="YYYY-MM-DD"
SERVER_NAME=localhost:4044
DATABASE_URIS="localhost:27017"
DATABASE_NAME=identities
DB_USER=""
DB_PASSWORD=""
DATABASE_REPLSET=""
Creat a demo/client/.env.development.local
with the following settings (environment dependent)
REACT_APP_CLIENT_ID=<INSERT>
REACT_APP_DOMAIN=pop.service.srv
REACT_APP_REDIRECT_URI=http://localhost:4044/auth/iris/callback
REACT_APP_AUTH_SERVER=http://localhost:4655
Workflow (Standalone)
- Update files in
lib/server
and/or lib/client
. - Build your changes
npm run build
- Run the demo application
npm start
Note: Live reloading is set up for the demo app code only. Changes to files under demo/
should be picked up immediately, however changes to any of the code under lib/
will require a rebuild. Be sure to run npm run build
from the root of the project whenever you make changes to lib
code!
Workflow (Portal integration)
When you are ready to integrate your component(s) with one of the portals:
- Link
portal-components
npm link
- Build any changes
- Manual build
npm run build
- Automatic rebuild
npm run watch
- From a local clone of either
pop
or developer-portal
, link portal-components
as a dependency
npm link portal-components
cd client
npm link portal-components
- You can now import your common code e.g
import { client as clientCommon } from 'portal-components'
.