DVSA Driving Examiner Application
-
NodeJS - We are using n to manage our version. Please see
.nvmrc
for specific version -
NPM (If using n, your
npm
version will be automatically managed) -
Brew
-
Cocoapods (Recommend installing via Homebrew using
brew install cocoapods
) -
Security
- Git secrets
- ScanRepo
- Unzip
repo-security-scanner_<version>_Darwin_<architercture>.tar.gz
and rename the executable inside the folder toscanrepo
- Add executable to path (usingecho $PATH
to find your path)
- Unzip
-
NOTE: You wil need to obtain
ionic.config.json
and.npmrc
files containing secrets and save to the project root in order to build the app.
npm install
(ornpm i
)npm run build
npm run config:dev
npm run config:local
- For simulator/device (A list of devices will be displayed based on Xcode installations)
npm run serve:emulator
- For browser (Opens in default browser using data from
./mocks/generate-local-*.ts
files)npm run serve:local
- Open ReduxDevTools
- In one terminal:
npm run remote-devtools-server
- In another:
npm run serve:devtools
- Open remote devtools from ReduxDevTools Chrome extension
- Open
settings
(first use only) and set option forUse custom (local) server
.Host name: localhost Port: 8000
Running the following command will execute the unit test suite, as well as creating a folder containing code coverage here ./coverage
.
npm run test
In order to manually create a Sentry release, you should obtain the .sentryclirc
file and place at root
- A script has been added (
buildScripts/sentry-deploy.sh
) that will automatically create a new Sentry release and upload sourcemaps - If wishing to disable Sentry for any reason, then set the
dsn
value to null in the env file
In order to upload latest code to Sonar, you should obtain the sonar-project.properties
file and place at root
- A script has been added (
buildScripts/sonar-properties-update.sh
) that will update the version of the Sonar release based upon the version contained insideconfig.xml
- Execute
npm run sonar
to ensure all necessary files are checked
- This project uses husky to run a series of checks on
pre-commit
andpre-push
- This project uses
biome
to enforce code styles/standards. Plugins are available for code editors such as webstorm and vscode
-
npm run lint
-
npm run lint:fix