This guide will help developers obtain the required Frontend orientated software for developing AM UI, please note that the UI build tooling is managed and executed by Maven, In more recent versions, Yarn was introduced to more efficiently manage the Frontend. (Building OpenAm from Source)
Inside the UI Repository
Under Maven, Yarn manages the Frontend UI dependencies, For example, Unit testing frameworks and Lint rules or required libraries to create functional aspect of the UI.
Making changes too dependencies, will be covered at a later stage.
Runtime and Build Tooling
Download and install Node.js - the runtime used to build the frontend, the version is irrelevant we will change to the projects supported version.
(Node.js - Downloads)
Step 1.B (Node Version Manager)
To manage your node versions, install Node Version Manager (NVM)
The correct Node version to install can be found in the pom.xm at the root of the project, we will discuss this at step 4. As of writing, node 12.14.1 is in use, we only use Long Term Support (LTS) versions of node, the node website will also refer to this version as LTS, it is highly likely that the latest LTS is the correct version, if it is not matching the the pom.xml, please raise this issue, it is critical that all dependencies are kept up to date.
Download and install Yarn.
Fork a copy of https://stash.forgerock.org/projects/OPENAM/repos/openam/browse
We will refer to your forked directory as <project_root>.
You should see, the following 3 projects which we will describe in more detail later on.
A fresh build of AM as described in (Building OpenAm from Source) should install all frontend dependencies providing the above steps have been completed, however to install them again manually.
Each project from the above has its own self contained dependencies scripts and mata contained in `package_json` and the resulting install should create a `node_modules` folder.
Please cd into the project you wish to install:
By issuing this command, All remaining dependencies will be downloaded and installed by Yarn
Post install: Getting started
Now we have successfully installed AM UI, we can now progress to getting started, describing the development workflow.