Commit 7783b271 authored by Konstantin Schulz's avatar Konstantin Schulz

added GitLab CI configuration

parent 1a9692da
Pipeline #10740 failed with stage
in 1 minute and 26 seconds
#before_script:
# - which node
# - node --version
# - which npm
# - npm --version
# - npm install
# - which coverage
#stages:
# - test
# - deploy
#coverage:
# stage: test
# script:
# - coverage run --rcfile=.coveragerc tests.py
# - coverage combine
# - coverage report -m
# coverage: '/^TOTAL.+?(\d+\%)$/'
# tags:
# - python
# - pip
# - flask
before_script:
- which node
- node --version
- which npm
- npm --version
- npm install
stages:
- test
- deploy
coverage:
stage: test
script:
- npm run test
coverage: '/Statements.*?(\d+(?:\.\d+)?)%/'
tags:
- node
- npm
- angular
[![pipeline status](https://scm.cms.hu-berlin.de/callidus/mc_frontend/badges/master/pipeline.svg)](https://scm.cms.hu-berlin.de/callidus/mc_frontend/-/commits/master)
[![coverage report](https://scm.cms.hu-berlin.de/callidus/mc_frontend/badges/master/coverage.svg)](https://scm.cms.hu-berlin.de/callidus/mc_frontend/-/commits/master)
# Installation
## via Docker:
1. Install Docker (https://docs.docker.com/v17.12/install/) and Docker-Compose (https://docs.docker.com/compose/install/)
......@@ -11,7 +10,6 @@
4. Make sure to assign at least 4GB RAM (Memory) to the Docker engine, otherwise the build will fail.
5. Run `docker-compose build`.
6. Run `docker-compose up -d` and enjoy!
## via Command Line:
1. Clone the repo: `git clone https://scm.cms.hu-berlin.de/callidus/mc_frontend.git`
2. Move to the newly created folder: `cd mc_frontend`
......@@ -21,21 +19,14 @@
6. Run `npm start`.
If you already ran `npm install` and the CLI still complains about missing dependencies, install them one by one using `npm install DEPENDENCY_NAME`.
7. Open http://localhost:8100 in your browser.
----------------------------------------------------------------
## Production Build
To build the application for production environments, use: `ionic cordova build browser --prod --release --max-old-space-size=4096` and serve the content of the `platforms/browser/www` folder, e.g. with Nginx.
----------------------------------------------------------------
# Development
To add new pages to the application, use: `ionic generate page PAGE_NAME`.
----------------------------------------------------------------
# Access to the Docker container
Use `docker-compose down` to stop and remove the currently running containers.
To access a running container directly, get the container ID via `docker ps` and connect via `docker exec -it CONTAINER_ID bash`. Or, for root access, use: `docker exec -u 0 -it CONTAINER_ID bash`
To snapshot a running container, use `docker commit CONTAINER_ID`. It returns a snapshot ID, which you can access via `docker run -it SNAPSHOT_ID`.
----------------------------------------------------------------
# Configuration
## Backend URL
To change the URL for the backend, use the `ionic.config.json` file (proxies > proxyUrl). By default, the system assumes that backend and frontend are installed on the same machine.
......@@ -43,7 +34,6 @@ To change the URL for the backend, use the `ionic.config.json` file (proxies > p
Use the `--host 0.0.0.0 --disable-host-check` flag for `ng serve` if you want to use it in a production environment with an Nginx server using proxy_pass.
## Other
For all other kinds of configuration, use `src/configMC.ts`.
----------------------------------------------------------------
# Testing
To test the application and check the code coverage, run `npm run test`.
To write new tests or debug existing ones, use `npm run test-debug`.
{
"name": "mc_frontend",
"version": "1.5.6",
"version": "1.5.7",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
......@@ -1305,19 +1305,53 @@
}
},
"@angular-devkit/architect": {
"version": "0.13.9",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz",
"integrity": "sha512-EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==",
"version": "0.900.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.4.tgz",
"integrity": "sha512-qbD7q+5lKgxpA+hGPfBLQRZukNO1Ok4YePevi7xt6pdfNatIqjxqYch7w/Ce0GvrOeimzSR1yC7STV5gjdoL3A==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.3.9",
"rxjs": "6.3.3"
"@angular-devkit/core": "9.0.4",
"rxjs": "6.5.3"
},
"dependencies": {
"@angular-devkit/core": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.4.tgz",
"integrity": "sha512-7+/vDm+zh7wTJbBeSdTHGhE+TQj6JOriCPl8Pj8HZU1TtNLvIFR4vhClWavPvhb8xWSbndalvQyOWOsLmuDnEA==",
"dev": true,
"requires": {
"ajv": "6.10.2",
"fast-json-stable-stringify": "2.0.0",
"magic-string": "0.25.4",
"rxjs": "6.5.3",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"magic-string": {
"version": "0.25.4",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
"integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
"dev": true,
"requires": {
"sourcemap-codec": "^1.4.4"
}
},
"rxjs": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
"integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
......@@ -1903,22 +1937,43 @@
}
},
"@angular-devkit/core": {
"version": "7.3.9",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz",
"integrity": "sha512-SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.4.tgz",
"integrity": "sha512-7+/vDm+zh7wTJbBeSdTHGhE+TQj6JOriCPl8Pj8HZU1TtNLvIFR4vhClWavPvhb8xWSbndalvQyOWOsLmuDnEA==",
"dev": true,
"requires": {
"ajv": "6.9.1",
"chokidar": "2.0.4",
"ajv": "6.10.2",
"fast-json-stable-stringify": "2.0.0",
"rxjs": "6.3.3",
"magic-string": "0.25.4",
"rxjs": "6.5.3",
"source-map": "0.7.3"
},
"dependencies": {
"ajv": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"magic-string": {
"version": "0.25.4",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
"integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
"dev": true,
"requires": {
"sourcemap-codec": "^1.4.4"
}
},
"rxjs": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
"integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
......@@ -1927,19 +1982,20 @@
}
},
"@angular-devkit/schematics": {
"version": "7.3.9",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.9.tgz",
"integrity": "sha512-xzROGCYp7aQbeJ3V6YC0MND7wKEAdWqmm/GaCufEk0dDS8ZGe0sQhcM2oBRa2nQqGQNeThFIH51kx+FayrJP0w==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.4.tgz",
"integrity": "sha512-D6M77r8J/rrK86RQ1kvumSYAnlbOKxDDcwsac4mPAHYyOOmueheecjpTVTqSVpNjkI6jHb6haOVFEGMiDMA/Jg==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.3.9",
"rxjs": "6.3.3"
"@angular-devkit/core": "9.0.4",
"ora": "4.0.2",
"rxjs": "6.5.3"
},
"dependencies": {
"rxjs": {
"version": "6.3.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
"integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
......@@ -3293,50 +3349,36 @@
"requires": {
"@ionic/core": "5.0.4",
"tslib": "^1.9.3"
},
"dependencies": {
"@ionic/core": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.0.4.tgz",
"integrity": "sha512-WP0jnG9FB/hNIvLaCKYZArvynnnlHZxaBzZXxQqyHvtQL8eVb1UYxDlr2hE8g8Sz+vd39Cr7oB5RZID7mV56aA==",
"requires": {
"ionicons": "^5.0.0",
"tslib": "^1.10.0"
}
},
"ionicons": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.0.0.tgz",
"integrity": "sha512-tqKI5QyqCQOikbWYIA7teJPPXKfYZhEff8ARvbkOIh7PWbKI7sd0IBJcjhbw/mUilIA7U9Bcdm7qGBPhVWOCWg=="
}
}
},
"@ionic/angular-toolkit": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-1.5.1.tgz",
"integrity": "sha512-B5LHuzEv/lgFP7yxfOA3/wggDM/X1mDkWFX8rZtaBRZBbC0vtZwdwDu73RnkfFZ0jTFyIgtoBW8qTrrCyd5MLA==",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-2.2.0.tgz",
"integrity": "sha512-sT3GokCa5CVrtLsijcTWEm5tbUB3CcJ1ucC9NlIcAZG+dh3oQ7zK2gS7U3xdbSR1cNO+y2TBVNVyY0xSiI+Rbg==",
"dev": true,
"requires": {
"@schematics/angular": "^7.0.3",
"@schematics/angular": ">=8.0.0",
"cheerio": "1.0.0-rc.3",
"colorette": "1.1.0",
"copy-webpack-plugin": "5.1.1",
"tslib": "^1.9.0",
"typescript": "~3.3.3333",
"ws": "^6.1.4"
"ws": "^7.0.1"
},
"dependencies": {
"typescript": {
"version": "3.3.4000",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz",
"integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==",
"ws": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.2.1.tgz",
"integrity": "sha512-sucePNSafamSKoOqoNfBd8V0StlkzJKL2ZAhGQinCfNQ+oacw+Pk7lcdAElecBF2VkLNZRiIb5Oi1Q5lVUVt2A==",
"dev": true
}
}
},
"@ionic/core": {
"version": "4.11.10",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.11.10.tgz",
"integrity": "sha512-PeonKl5E+VOTBeKDr83y0N/1wbfkZ5jV3PSJTsVPE3Q15LxGEO0GzBvVMgkmkssuqOI3WJPXxYWZVL8ejzSFOQ==",
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-5.0.4.tgz",
"integrity": "sha512-WP0jnG9FB/hNIvLaCKYZArvynnnlHZxaBzZXxQqyHvtQL8eVb1UYxDlr2hE8g8Sz+vd39Cr7oB5RZID7mV56aA==",
"requires": {
"ionicons": "^4.6.3",
"ionicons": "^5.0.0",
"tslib": "^1.10.0"
}
},
......@@ -3459,21 +3501,68 @@
}
},
"@schematics/angular": {
"version": "7.3.9",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.9.tgz",
"integrity": "sha512-B3lytFtFeYNLfWdlrIzvy3ulFRccD2/zkoL0734J+DAGfUz7vbysJ50RwYL46sQUcKdZdvb48ktfu1S8yooP6Q==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.4.tgz",
"integrity": "sha512-JYkzMoEITWN+c+WcAieglGM6590kbDs+80HyHFiCWDMvGeYM0JEv98wsYq5fzFfhETMKe09CkaqB80YK4m4OKg==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.3.9",
"@angular-devkit/schematics": "7.3.9",
"typescript": "3.2.4"
"@angular-devkit/core": "9.0.4",
"@angular-devkit/schematics": "9.0.4"
},
"dependencies": {
"typescript": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz",
"integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==",
"dev": true
"@angular-devkit/core": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.4.tgz",
"integrity": "sha512-7+/vDm+zh7wTJbBeSdTHGhE+TQj6JOriCPl8Pj8HZU1TtNLvIFR4vhClWavPvhb8xWSbndalvQyOWOsLmuDnEA==",
"dev": true,
"requires": {
"ajv": "6.10.2",
"fast-json-stable-stringify": "2.0.0",
"magic-string": "0.25.4",
"rxjs": "6.5.3",
"source-map": "0.7.3"
}
},
"@angular-devkit/schematics": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.4.tgz",
"integrity": "sha512-D6M77r8J/rrK86RQ1kvumSYAnlbOKxDDcwsac4mPAHYyOOmueheecjpTVTqSVpNjkI6jHb6haOVFEGMiDMA/Jg==",
"dev": true,
"requires": {
"@angular-devkit/core": "9.0.4",
"ora": "4.0.2",
"rxjs": "6.5.3"
}
},
"ajv": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"magic-string": {
"version": "0.25.4",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
"integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
"dev": true,
"requires": {
"sourcemap-codec": "^1.4.4"
}
},
"rxjs": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
}
}
},
......@@ -4849,6 +4938,75 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
"cheerio": {
"version": "1.0.0-rc.3",
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz",
"integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==",
"dev": true,
"requires": {
"css-select": "~1.2.0",
"dom-serializer": "~0.1.1",
"entities": "~1.1.1",
"htmlparser2": "^3.9.1",
"lodash": "^4.15.0",
"parse5": "^3.0.1"
},
"dependencies": {
"css-select": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dev": true,
"requires": {
"boolbase": "~1.0.0",
"css-what": "2.1",
"domutils": "1.5.1",
"nth-check": "~1.0.1"
}
},
"css-what": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
"integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==",
"dev": true
},
"dom-serializer": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz",
"integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==",
"dev": true,
"requires": {
"domelementtype": "^1.3.0",
"entities": "^1.1.1"
}
},
"domutils": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dev": true,
"requires": {
"dom-serializer": "0",
"domelementtype": "1"
}
},
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
"dev": true
},
"parse5": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz",
"integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==",
"dev": true,
"requires": {
"@types/node": "*"
}
}
}
},
"chokidar": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
......@@ -5092,6 +5250,12 @@
"simple-swizzle": "^0.2.2"
}
},
"colorette": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz",
"integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==",
"dev": true
},
"colors": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
......@@ -6771,6 +6935,15 @@
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
"integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
},
"domhandler": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
"integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
"dev": true,
"requires": {
"domelementtype": "1"
}
},
"domutils": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
......@@ -7553,15 +7726,6 @@
"readable-stream": "^2.0.0"
}
},
"fs-access": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
"dev": true,
"requires": {
"null-check": "^1.0.0"
}
},
"fs-extra": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
......@@ -8358,6 +8522,39 @@
"integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==",
"dev": true
},
"htmlparser2": {
"version": "3.10.1",
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
"integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
"dev": true,
"requires": {
"domelementtype": "^1.3.1",
"domhandler": "^2.3.0",
"domutils": "^1.5.1",
"entities": "^1.1.1",
"inherits": "^2.0.1",
"readable-stream": "^3.1.1"
},
"dependencies": {
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
"dev": true
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"http-cache-semantics": {
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
......@@ -8709,9 +8906,9 @@
"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
},
"ionicons": {
"version": "4.6.3",
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.6.3.tgz",
"integrity": "sha512-cgP+VIr2cTJpMfFyVHTerq6n2jeoiGboVoe3GlaAo5zoSBDAEXORwUZhv6m+lCyxlsHCS3nqPUE+MKyZU71t8Q=="
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.0.0.tgz",
"integrity": "sha512-tqKI5QyqCQOikbWYIA7teJPPXKfYZhEff8ARvbkOIh7PWbKI7sd0IBJcjhbw/mUilIA7U9Bcdm7qGBPhVWOCWg=="
},
"ip": {
"version": "1.1.5",
......@@ -9398,12 +9595,11 @@
}
},
"karma-chrome-launcher": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
"integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz",
"integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==",
"dev": true,
"requires": {
"fs-access": "^1.0.0",
"which": "^1.2.1"
}
},
......@@ -10385,12 +10581,6 @@
"boolbase": "~1.0.0"
}
},
"null-check": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
"integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
"dev": true
},
"num2fraction": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
......
{
"name": "mc_frontend",
"version": "1.5.6",
"version": "1.5.7",
"author": "Ionic Framework",
"homepage": "https://ionicframework.com/",
"scripts": {
"ng": "ng",
"start": "ng serve --port 8100",
"build": "ng build",
"test": "ng test --code-coverage --watch=false",
"test": "ng test --code-coverage --watch=false --browsers=ChromeHeadless",
"test-debug": "ng test --watch=true --browsers=Chrome",
"lint": "ng lint",
"e2e": "ng e2e"
},
......@@ -24,7 +25,7 @@
"@ionic-native/splash-screen": "^5.21.6",
"@ionic-native/status-bar": "^5.21.6",
"@ionic/angular": "^5.0.4",
"@ionic/core": "^4.11.10",
"@ionic/core": "^5.0.4",
"@ionic/storage": "^2.2.0",
"@ngtools/webpack": "^9.0.4",
"@ngx-translate/core": "^11.0.1",
......@@ -43,15 +44,15 @@
"zone.js": "^0.10.2"
},
"devDependencies": {
"@angular-devkit/architect": "~0.13.8",
"@angular-devkit/architect": "^0.900.4",
"@angular-devkit/build-angular": "^0.900.4",
"@angular-devkit/core": "~7.3.8",
"@angular-devkit/schematics": "~7.3.8",
"@angular-devkit/core": "^9.0.4",
"@angular-devkit/schematics": "^9.0.4",
"@angular/cli": "^9.0.4",
"@angular/compiler": "^9.0.4",
"@angular/compiler-cli": "^9.0.4",
"@angular/language-service": "^7.2.16",
"@ionic/angular-toolkit": "~1.5.1",
"@ionic/angular-toolkit": "^2.2.0",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "^2.0.8",
"@types/node": "^12.0.12",
......@@ -59,7 +60,7 @@
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-chrome-launcher": "^3.1.0",
"karma-coverage-istanbul-reporter": "^2.0.6",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
......
......@@ -12,6 +12,8 @@ import {AppRoutingModule} from './app-routing.module';
import {TranslateTestingModule} from './translate-testing/translate-testing.module';
import {APP_BASE_HREF} from '@angular/common';
import {Subscription} from 'rxjs';
import {HelperService} from './helper.service';
import MockMC from './models/mock';
describe('AppComponent', () => {
class PlatformStub {
......@@ -28,12 +30,11 @@ describe('AppComponent', () => {