2020-06-30 11:37:40 -04:00
|
|
|
# Client Connect UI
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-08-10 17:29:12 -04:00
|
|
|
The client UI for Boundary.
|
2020-06-30 11:37:40 -04:00
|
|
|
|
|
|
|
|
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
|
|
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
|
|
|
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*
|
|
|
|
|
|
|
|
|
|
- [Prerequisites](#prerequisites)
|
|
|
|
|
- [Installation](#installation)
|
|
|
|
|
- [Yarn Commands](#yarn-commands)
|
|
|
|
|
- [Running / Development](#running--development)
|
|
|
|
|
- [Environment Variables](#environment-variables)
|
2021-06-07 14:30:21 -07:00
|
|
|
- [Building for Production](#building-for-production)
|
|
|
|
|
- [Environment Variables](#environment-variables-1)
|
2020-06-30 11:37:40 -04:00
|
|
|
- [Running Tests](#running-tests)
|
|
|
|
|
- [Deploying](#deploying)
|
|
|
|
|
- [Further Reading / Useful Links](#further-reading--useful-links)
|
|
|
|
|
|
|
|
|
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
2020-06-29 18:11:11 -04:00
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
|
|
You will need the following things properly installed on your computer.
|
|
|
|
|
|
|
|
|
|
* [Git](https://git-scm.com/)
|
|
|
|
|
* [Node.js](https://nodejs.org/)
|
|
|
|
|
* [Yarn](https://yarnpkg.com/)
|
|
|
|
|
* [Ember CLI](https://ember-cli.com/)
|
|
|
|
|
* [Google Chrome](https://google.com/chrome/)
|
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
2020-08-10 17:29:12 -04:00
|
|
|
See boundary-ui README for installation instructions.
|
2020-06-30 11:37:40 -04:00
|
|
|
|
|
|
|
|
## Yarn Commands
|
|
|
|
|
|
|
|
|
|
List of available project commands. `yarn run <command-name>`
|
|
|
|
|
|
|
|
|
|
| Command | Description |
|
|
|
|
|
| ------- | ----------- |
|
|
|
|
|
| build:development | Builds the UI in development mode. |
|
|
|
|
|
| build | Builds the UI for production. |
|
|
|
|
|
| lint | Runs all lint commands. |
|
|
|
|
|
| lint:hbs | Lints `hbs` template files. |
|
|
|
|
|
| lint:js | Lints `js` files. |
|
|
|
|
|
| lint:sass | Lints `scss` files. |
|
|
|
|
|
| format | Runs all auto-formatters. |
|
|
|
|
|
| format:js | Auto-formats `js` files using Prettier. |
|
|
|
|
|
| format:sass | Auto-formats `scss` files using Prettier. |
|
|
|
|
|
| start | Runs the dummy app local server. |
|
|
|
|
|
| start:desktop | Runs the dummy app as an electron app. |
|
|
|
|
|
| test | Runs all tests in random order, with coverage reporting. |
|
|
|
|
|
| doc:toc | Automatically generates a table of contents for this README file. |
|
|
|
|
|
|
2020-06-29 18:11:11 -04:00
|
|
|
|
|
|
|
|
## Running / Development
|
|
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
* `yarn start`
|
2020-06-29 18:11:11 -04:00
|
|
|
* Visit your app at [http://localhost:4200](http://localhost:4200).
|
|
|
|
|
* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests).
|
|
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
To run as a desktop app:
|
|
|
|
|
* `yarn start:desktop`
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2021-02-01 12:35:02 -05:00
|
|
|
The Boundary CLI is downloaded and extracted to `electron-app/cli/` folder as part of
|
|
|
|
|
build. CLI version is defined in `electron-app/config/cli.js`.
|
|
|
|
|
|
2021-04-12 14:21:15 -04:00
|
|
|
#### Environment Variables
|
|
|
|
|
|
|
|
|
|
These environment variables may be used to customized the build.
|
|
|
|
|
|
|
|
|
|
| Variable | Description |
|
|
|
|
|
| -------- | ----------- |
|
|
|
|
|
| `DEBUG_APP_UPDATER` | Enable to debug app updater feature. Must be enabled for all `APP_UPDATER_*` variables to be used. |
|
2021-04-12 14:52:58 -04:00
|
|
|
| `APP_UPDATER_CURRENT_VERSION` | Version of client. |
|
|
|
|
|
| `APP_UPDATER_LATEST_VERSION_TAG` | Next version for comparison with current version. |
|
2021-04-12 14:21:15 -04:00
|
|
|
| `APP_UPDATER_LATEST_VERSION_LOCATION` | Location of app release to use for updating client. Can be a filepath or url. |
|
|
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
### Building for Production
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
Before executing a build, be sure to set any environment variables necessary
|
|
|
|
|
for your target [environment](#environment-variables). To build this UI for
|
2021-01-29 16:23:56 -05:00
|
|
|
production, run the following commands from this folder:
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
```bash
|
|
|
|
|
yarn install
|
|
|
|
|
yarn build
|
|
|
|
|
```
|
|
|
|
|
|
2021-01-29 16:23:56 -05:00
|
|
|
`BOUNDARY_DESKTOP_SIGNING_IDENTITY` environment variable must be provided
|
|
|
|
|
to codesign in production.
|
2020-06-30 11:37:40 -04:00
|
|
|
|
2021-01-29 16:23:56 -05:00
|
|
|
The static production assets are saved into the `dist/` folder.
|
2021-02-01 12:35:02 -05:00
|
|
|
The Boundary CLI is downloaded and extracted to `electron-app/cli/` folder as part of
|
|
|
|
|
packaging. CLI version is defined in `electron-app/config/cli.js`.
|
2020-06-30 11:37:40 -04:00
|
|
|
|
|
|
|
|
#### Environment Variables
|
|
|
|
|
|
|
|
|
|
These environment variables may be used to customized the build.
|
|
|
|
|
|
|
|
|
|
| Variable | Default Value | Description |
|
|
|
|
|
| -------- | ------------- | ----------- |
|
|
|
|
|
| `APP_NAME` | Application Name | The user-facing name of the application, appearing in titles, etc. |
|
2021-01-29 16:23:56 -05:00
|
|
|
| `BOUNDARY_DESKTOP_SIGNING_IDENTITY` | | The name of the certificate to use when signing (e.g. Developer ID Application: * (*)). |
|
2020-06-30 11:37:40 -04:00
|
|
|
|
|
|
|
|
### Running Tests
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
* `yarn test` runs full tests in random order with coverage
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
Keep in mind that tests are executed in random order. This is intentional
|
|
|
|
|
and helps to prevent hard-to-debug order dependencies among tests.
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
Please also note that we report test coverage. We strive for "the right amount
|
|
|
|
|
of testing". Use test coverage as a guide to help you identify untested
|
|
|
|
|
high-value code.
|
2020-06-29 18:11:11 -04:00
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
We rely on `ember-a11y-testing` to validate accessibility in acceptance tests.
|
|
|
|
|
If you write acceptance tests, please ensure at least one validation per
|
|
|
|
|
route using `await a11yAudit();`.
|
2020-06-29 18:11:11 -04:00
|
|
|
|
|
|
|
|
### Deploying
|
|
|
|
|
|
2020-06-30 11:37:40 -04:00
|
|
|
TBD
|
2020-06-29 18:11:11 -04:00
|
|
|
|
|
|
|
|
## Further Reading / Useful Links
|
|
|
|
|
|
|
|
|
|
* [ember.js](https://emberjs.com/)
|
|
|
|
|
* [ember-cli](https://ember-cli.com/)
|
|
|
|
|
* Development Browser Extensions
|
|
|
|
|
* [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi)
|
|
|
|
|
* [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/)
|