summaryrefslogtreecommitdiffstats
path: root/catalog-ui/README.md
blob: 9892af9e5beb862f12a66244da6cebc5fc5ed8e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# CatalogUi

## Development server
1. Run `npm start` for a dev server.
2. Navigate to <http://localhost:9000/>.
   * The app will automatically reload if you change any of the source files.


To Specify the user role:

`npm start --env.role designer`

`npm run <role>`


## Build
### dev 
Run `npm run build` to build the project. 

The build artifacts will be stored in the `dist/` directory. 


### prod
Run `npm run build:prod` to build the project. 

The build artifacts will be stored in the `dist/` directory. 

## Configuration

### webpack.server.js
Development server is configured in `/webpack.server.js` file. Configure the constants accordingly:
- const __devPort__: the webpack server port;
- const __feHost__: the catalog front-end container host;
- const __fePort__: the catalog front-end container port.

The server will create a proxy to the front end calls based on the  __feHost__ and __fePort__. 

It will also create authorization cookies to those requests. The cookies and user information comes from the 
`/configurations/mock.json` file under the nodes `sdcConfig.cookie` and `sdcConfig.userTypes` respectively.

The default user role is the node `sdcConfig.userTypes.designer` (configurable with the npm parameter --env.role).


### Application Configuration
Application configuration `dev.js` or `prod.js` and `menu.js` are located in `/configuration` folder and required by `app.ts` according to __ENV__ parameter from webpack.



## Running unit tests
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

Before running the tests make sure you are serving the app via `ng serve`.

## Working with WebStorm  

1. go to File --> Settings --> Languages & Frameworks
2. Under JavaScript -> set JavaScript language version to ECMAScript6
3. Under TypeScript -> select `Enable TypeScript Compiler` and choose `Use tsconfige.json`