# Glass
## Initial Setup

### Requirements
* Download latest Node version. Current Version: 10.15.0 (includes npm 6.4.1)
* npm version 6.4.1


### Workspace setup
Sync `//OpsInsight/Eagle/ui/glass/platform` to your perforce workspace and then run:
```bash
cd path/to/OpsInsight/Eagle/ui/glass/platform/
npm i
```

## IDE Setup
We recommend using [Visual Studio Code](https://code.visualstudio.com/), but [WebStorm](https://www.jetbrains.com/webstorm/) may work as well.

### Useful VSCode Plugins
* [Auto Close Tag - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-close-tag)
* [Bracket Pair Colorizer - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer)
* [EditorConfig for VS Code - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
* [ESLint - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
* [Flow Language Support - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=flowtype.flow-for-vscode)
* [Path Autocomplete - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete)
* [Perforce for VS Code - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=slevesque.perforce)
* [PostCSS syntax - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=ricard.PostCSS)
* [Prettier - Code formatter - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)


## Running Unit Tests
Coverage reports will be generated under `//OpsInsight/Eagle/ui/glass/platform/coverage/` after running the following command:
```bash
cd path/to/OpsInsight/Eagle/ui/glass/platform
npm test
```

## Running Local Setup with Dev Server
After you have run `npm i` command just execute `npm start` to start up a dev server.
```bash
cd path/to/OpsInsight/Eagle/ui/glass/platform
npm start
```

## Dependencies Info
This project has dependency on `glass-core` which is OpsInsight's Glass UI Component Library