diff --git a/.travis.yml b/.travis.yml index 2408c1705..cf10d1f9e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,7 +129,7 @@ matrix: install: - npm install script: - - ng build + - npm run build-debug - language: node_js name: "Client: Production Build (ES5)" diff --git a/client/README.md b/client/README.md index 469cc867c..0efcb31ba 100644 --- a/client/README.md +++ b/client/README.md @@ -59,73 +59,76 @@ Language files can be found in `/src/assets/i18n`. OpenSlides uses the following software or parts of them: -- [@angular/animations@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/cdk-experimental@8.0.1](https://github.com/angular/components), License: MIT -- [@angular/cdk@8.0.1](https://github.com/angular/components), License: MIT -- [@angular/common@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/compiler@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/core@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/forms@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/material@8.0.1](https://github.com/angular/components), License: MIT -- [@angular/platform-browser-dynamic@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/platform-browser@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/pwa@0.800.6](https://github.com/angular/angular-cli), License: MIT -- [@angular/router@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/service-worker@8.0.3](https://github.com/angular/angular), License: MIT -- [@ngx-pwa/local-storage@8.0.2](https://github.com/cyrilletuzi/angular-async-local-storage), License: MIT +- [@angular/animations@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/cdk-experimental@8.1.4](https://github.com/angular/components), License: MIT +- [@angular/cdk@8.1.4](https://github.com/angular/components), License: MIT +- [@angular/common@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/compiler@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/core@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/forms@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/material-moment-adapter@8.1.4](https://github.com/angular/components), License: MIT +- [@angular/material@8.1.4](https://github.com/angular/components), License: MIT +- [@angular/platform-browser-dynamic@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/platform-browser@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/pwa@0.803.2](https://github.com/angular/angular-cli), License: MIT +- [@angular/router@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/service-worker@8.2.4](https://github.com/angular/angular), License: MIT +- [@ngx-pwa/local-storage@8.2.1](https://github.com/cyrilletuzi/angular-async-local-storage), License: MIT - [@ngx-translate/core@11.0.1](https://github.com/ngx-translate/core), License: MIT - [@ngx-translate/http-loader@4.0.0](https://github.com/ngx-translate/http-loader), License: MIT -- [@pebula/ngrid-material@1.0.0-alpha.27](https://github.com/shlomiassaf/ngrid), License: MIT -- [@pebula/ngrid@1.0.0-alpha.27](https://github.com/shlomiassaf/ngrid), License: MIT -- [@pebula/utils@1.0.0-alpha.3](https://github.com/shlomiassaf/ngrid), License: MIT -- [@tinymce/tinymce-angular@3.2.0](https://github.com/tinymce/tinymce-angular), License: Apache-2.0 -- [acorn@6.1.1](https://github.com/acornjs/acorn), License: MIT -- [core-js@3.1.4](https://github.com/zloirock/core-js), License: MIT -- [css-element-queries@1.2.0](https://github.com/marcj/css-element-queries), License: MIT -- [exceljs@1.10.0](https://github.com/exceljs/exceljs), License: MIT +- [@pebula/ngrid-material@1.0.0-rc.5](https://github.com/shlomiassaf/ngrid), License: MIT +- [@pebula/ngrid@1.0.0-rc.5](https://github.com/shlomiassaf/ngrid), License: MIT +- [@pebula/utils@1.0.0](https://github.com/shlomiassaf/ngrid), License: MIT +- [@tinymce/tinymce-angular@3.3.0](https://github.com/tinymce/tinymce-angular), License: Apache-2.0 +- [acorn@7.0.0](https://github.com/acornjs/acorn), License: MIT +- [core-js@3.2.1](https://github.com/zloirock/core-js), License: MIT +- [css-element-queries@1.2.1](https://github.com/marcj/css-element-queries), License: MIT +- [exceljs@1.15.0](https://github.com/exceljs/exceljs), License: MIT - [file-saver@2.0.2](https://github.com/eligrey/FileSaver.js), License: MIT - [hammerjs@2.0.8](https://github.com/hammerjs/hammer.js), License: MIT - [lz4js@0.2.0](https://github.com/Benzinga/lz4js), License: ISC - [material-icon-font@0.1.0](https://github.com//petergng/svgFontCreator), License: ISC -- [ng2-pdf-viewer@5.3.2](git+https://vadimdez@github.com/VadimDez/ng2-pdf-viewer), License: MIT -- [ngx-file-drop@8.0.3](https://github.com/georgipeltekov/ngx-file-drop), License: MIT -- [ngx-mat-select-search@1.7.6](https://github.com/bithost-gmbh/ngx-mat-select-search), License: MIT -- [ngx-papaparse@3.0.3](https://github.com/alberthaff/ngx-papaparse), License: MIT -- [pdfmake@0.1.57](https://github.com/bpampuch/pdfmake), License: MIT +- [moment@2.24.0](https://github.com/moment/moment), License: MIT +- [ng2-pdf-viewer@5.3.4](git+https://vadimdez@github.com/VadimDez/ng2-pdf-viewer), License: MIT +- [ngx-file-drop@8.0.7](https://github.com/georgipeltekov/ngx-file-drop), License: MIT +- [ngx-mat-select-search@1.8.0](https://github.com/bithost-gmbh/ngx-mat-select-search), License: MIT +- [ngx-material-timepicker@4.0.2](https://github.com/Agranom/ngx-material-timepicker), License: MIT +- [ngx-papaparse@4.0.2](https://github.com/alberthaff/ngx-papaparse), License: MIT +- [pdfmake@0.1.58](https://github.com/bpampuch/pdfmake), License: MIT - [po2json@1.0.0-alpha](https://github.com/mikeedwards/po2json), License: GNU Library General Public License - [rxjs@6.5.2](https://github.com/reactivex/rxjs), License: Apache-2.0 - [text-encoding@0.7.0](https://github.com/inexorabletash/text-encoding), License: (Unlicense OR Apache-2.0) -- [tinymce@5.0.9](https://github.com/tinymce/tinymce-dist), License: LGPL-2.1 +- [tinymce@5.0.14](https://github.com/tinymce/tinymce-dist), License: LGPL-2.1 - [tslib@1.10.0](https://github.com/Microsoft/tslib), License: Apache-2.0 -- [uuid@3.3.2](https://github.com/kelektiv/node-uuid), License: MIT +- [uuid@3.3.3](https://github.com/kelektiv/node-uuid), License: MIT - [zone.js@0.9.1](https://github.com/angular/zone.js), License: MIT -- [@angular-devkit/build-angular@0.800.6](https://github.com/angular/angular-cli), License: MIT -- [@angular/cli@8.0.6](https://github.com/angular/angular-cli), License: MIT -- [@angular/compiler-cli@8.0.3](https://github.com/angular/angular), License: MIT -- [@angular/language-service@8.0.3](https://github.com/angular/angular), License: MIT -- [@biesbjerg/ngx-translate-extract@2.3.4](https://github.com/biesbjerg/ngx-translate-extract), License: MIT -- [@compodoc/compodoc@1.1.9](https://github.com/compodoc/compodoc), License: MIT -- [@types/jasmine@3.3.13](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT +- [@angular-devkit/build-angular@0.803.2](https://github.com/angular/angular-cli), License: MIT +- [@angular/cli@8.3.2](https://github.com/angular/angular-cli), License: MIT +- [@angular/compiler-cli@8.2.4](https://github.com/angular/angular), License: MIT +- [@angular/language-service@8.2.4](https://github.com/angular/angular), License: MIT +- [@biesbjerg/ngx-translate-extract@3.0.5](https://github.com/biesbjerg/ngx-translate-extract), License: MIT +- [@compodoc/compodoc@1.1.10](https://github.com/compodoc/compodoc), License: MIT +- [@types/jasmine@3.4.0](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT - [@types/jasminewd2@2.0.6](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT -- [@types/node@8.9.5](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT -- [@types/yargs@13.0.0](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT +- [@types/node@12.7.3](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT +- [@types/yargs@13.0.2](https://github.com/DefinitelyTyped/DefinitelyTyped), License: MIT - [codelyzer@5.1.0](https://github.com/mgechev/codelyzer), License: MIT -- [husky@2.7.0](https://github.com/typicode/husky), License: MIT +- [husky@3.0.4](https://github.com/typicode/husky), License: MIT - [jasmine-core@3.4.0](https://github.com/jasmine/jasmine), License: MIT - [jasmine-spec-reporter@4.2.1](https://github.com/bcaudan/jasmine-spec-reporter), License: Apache-2.0 -- [karma-chrome-launcher@2.2.0](https://github.com/karma-runner/karma-chrome-launcher), License: MIT -- [karma-coverage-istanbul-reporter@2.0.5](https://github.com/mattlewis92/karma-coverage-istanbul-reporter), License: MIT +- [karma-chrome-launcher@3.1.0](https://github.com/karma-runner/karma-chrome-launcher), License: MIT +- [karma-coverage-istanbul-reporter@2.1.0](https://github.com/mattlewis92/karma-coverage-istanbul-reporter), License: MIT - [karma-jasmine-html-reporter@1.4.2](https://github.com/dfederm/karma-jasmine-html-reporter), License: MIT - [karma-jasmine@2.0.1](https://github.com/karma-runner/karma-jasmine), License: MIT -- [karma@4.1.0](https://github.com/karma-runner/karma), License: MIT +- [karma@4.3.0](https://github.com/karma-runner/karma), License: MIT - [npm-license-crawler@0.2.1](https://github.com/mwittig/npm-license-crawler), License: BSD-3-Clause - [npm-run-all@4.1.5](https://github.com/mysticatea/npm-run-all), License: MIT - [prettier@1.18.2](https://github.com/prettier/prettier), License: MIT - [protractor@5.4.2](https://github.com/angular/protractor), License: MIT - [resize-observer-polyfill@1.5.1](https://github.com/que-etc/resize-observer-polyfill), License: MIT - [source-map-explorer@2.0.1](https://github.com/danvk/source-map-explorer), License: Apache-2.0 -- [ts-node@7.0.1](https://github.com/TypeStrong/ts-node), License: MIT -- [tslint@5.15.0](https://github.com/palantir/tslint), License: Apache-2.0 -- [tsutils@3.14.0](https://github.com/ajafff/tsutils), License: MIT -- [typescript@3.4.5](https://github.com/Microsoft/TypeScript), License: Apache-2.0 -- [webpack-bundle-analyzer@3.3.2](https://github.com/webpack-contrib/webpack-bundle-analyzer), License: MIT +- [ts-node@8.3.0](https://github.com/TypeStrong/ts-node), License: MIT +- [tslint@5.19.0](https://github.com/palantir/tslint), License: Apache-2.0 +- [tsutils@3.17.1](https://github.com/ajafff/tsutils), License: MIT +- [typescript@3.5.3](https://github.com/Microsoft/TypeScript), License: Apache-2.0 +- [webpack-bundle-analyzer@3.4.1](https://github.com/webpack-contrib/webpack-bundle-analyzer), License: MIT diff --git a/client/package.json b/client/package.json index a24a94ddd..dcc47e17c 100644 --- a/client/package.json +++ b/client/package.json @@ -14,6 +14,7 @@ "start": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0", "start-es5": "ng serve --proxy-config proxy.conf.json --host=0.0.0.0 --configuration es5", "build": "npm run ng-high-memory -- build --prod", + "build-debug": "npm run ng-high-memory -- build", "test": "ng test", "lint-check": "ng lint", "lint-write": "ng lint --fix", @@ -29,67 +30,67 @@ "cleanup-win": "npm run prettify-write & npm run lint-write" }, "dependencies": { - "@angular/animations": "^8.0.3", - "@angular/cdk": "8.1.2", - "@angular/cdk-experimental": "8.1.2", - "@angular/common": "^8.0.3", - "@angular/compiler": "^8.0.3", - "@angular/core": "^8.0.3", - "@angular/forms": "^8.0.3", - "@angular/material": "^8.0.1", - "@angular/material-moment-adapter": "^8.1.2", - "@angular/platform-browser": "^8.0.3", - "@angular/platform-browser-dynamic": "^8.0.3", - "@angular/pwa": "^0.800.6", - "@angular/router": "^8.0.3", - "@angular/service-worker": "^8.0.3", - "@ngx-pwa/local-storage": "^8.0.2", - "@ngx-translate/core": "^11.0.1", + "@angular/animations": "~8.2.4", + "@angular/cdk": "~8.1.4", + "@angular/cdk-experimental": "~8.1.4", + "@angular/common": "~8.2.4", + "@angular/compiler": "~8.2.4", + "@angular/core": "~8.2.4", + "@angular/forms": "~8.2.4", + "@angular/material": "~8.1.4", + "@angular/material-moment-adapter": "~8.1.4", + "@angular/platform-browser": "~8.2.4", + "@angular/platform-browser-dynamic": "~8.2.4", + "@angular/pwa": "^0.803.1", + "@angular/router": "~8.2.4", + "@angular/service-worker": "~8.2.4", + "@ngx-pwa/local-storage": "~8.2.1", + "@ngx-translate/core": "~11.0.1", "@ngx-translate/http-loader": "^4.0.0", - "@pebula/ngrid": "1.0.0-alpha.27", - "@pebula/ngrid-material": "1.0.0-alpha.27", - "@pebula/utils": "1.0.0-alpha.3", + "@pebula/ngrid": "1.0.0-rc.5", + "@pebula/ngrid-material": "1.0.0-rc.5", + "@pebula/utils": "1.0.0", "@tinymce/tinymce-angular": "^3.2.0", - "acorn": "^6.1.1", - "core-js": "^3.0.1", + "acorn": "^7.0.0", + "core-js": "^3.2.1", "css-element-queries": "^1.2.1", - "exceljs": "1.10.0", - "file-saver": "^2.0.1", + "exceljs": "1.15.0", + "file-saver": "^2.0.2", "hammerjs": "^2.0.8", "lz4js": "^0.2.0", "material-icon-font": "git+https://github.com/petergng/materialIconFont.git", "moment": "^2.24.0", - "ng2-pdf-viewer": "^5.2.3", - "ngx-file-drop": "^8.0.3", - "ngx-mat-select-search": "^1.7.2", + "ng2-pdf-viewer": "^5.3.4", + "ngx-file-drop": "~8.0.7", + "ngx-mat-select-search": "^1.8.0", "ngx-material-timepicker": "^4.0.2", - "ngx-papaparse": "^3.0.2", - "pdfmake": "^0.1.53", + "ngx-papaparse": "^4.0.2", + "pdfmake": "^0.1.58", "po2json": "^1.0.0-alpha", "rxjs": "^6.5.2", "text-encoding": "^0.7.0", - "tinymce": "^5.0.9", - "tslib": "^1.9.0", + "tinymce": "^5.0.14", + "tslib": "^1.10.0", "uuid": "^3.3.2", "zone.js": "~0.9.1" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.800.6", - "@angular/cli": "^8.0.6", - "@angular/compiler-cli": "^8.0.3", - "@angular/language-service": "^8.0.3", - "@biesbjerg/ngx-translate-extract": "^2.3.4", + "@angular-devkit/build-angular": "~0.803.2", + "@angular/cli": "~8.3.2", + "@angular/compiler-cli": "~8.2.4", + "@angular/language-service": "~8.2.4", + "@biesbjerg/ngx-translate-extract": "^3.0.5", "@compodoc/compodoc": "^1.1.8", "@types/jasmine": "^3.3.9", "@types/jasminewd2": "^2.0.6", - "@types/node": "~8.9.4", + "@types/node": "~12.7.2", "@types/yargs": "^13.0.0", "codelyzer": "^5.0.1", - "husky": "^2.7.0", + "husky": "^3.0.4", "jasmine-core": "~3.4.0", "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.5", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", @@ -99,10 +100,10 @@ "protractor": "^5.4.2", "resize-observer-polyfill": "^1.5.1", "source-map-explorer": "^2.0.1", - "ts-node": "~7.0.0", - "tslint": "~5.15.0", - "tsutils": "3.14.0", - "typescript": "~3.4.3", + "ts-node": "~8.3.0", + "tslint": "~5.19.0", + "tsutils": "3.17.1", + "typescript": "~3.5.3", "webpack-bundle-analyzer": "^3.3.2" } } diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index 751f45fa8..13f5f2cbb 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -4,8 +4,6 @@ import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { ServiceWorkerModule } from '@angular/service-worker'; -import { PapaParseModule } from 'ngx-papaparse'; - import { AppLoadService } from './core/core-services/app-load.service'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @@ -40,7 +38,6 @@ export function AppLoaderFactory(appLoadService: AppLoadService): () => Promise< AppRoutingModule, CoreModule, LoginModule, - PapaParseModule, ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }), SlidesModule.forRoot() ], diff --git a/client/src/app/core/ui-services/base-import.service.ts b/client/src/app/core/ui-services/base-import.service.ts index 42e1896e3..c0884f32e 100644 --- a/client/src/app/core/ui-services/base-import.service.ts +++ b/client/src/app/core/ui-services/base-import.service.ts @@ -2,7 +2,7 @@ import { EventEmitter, Injectable } from '@angular/core'; import { MatSnackBar } from '@angular/material/snack-bar'; import { TranslateService } from '@ngx-translate/core'; -import { Papa, PapaParseConfig } from 'ngx-papaparse'; +import { Papa, ParseConfig } from 'ngx-papaparse'; import { BehaviorSubject, Observable } from 'rxjs'; import { BaseViewModel } from 'app/site/base/base-view-model'; @@ -192,7 +192,7 @@ export abstract class BaseImportService { public parseInput(file: string): void { this.clearData(); this.clearPreview(); - const papaConfig: PapaParseConfig = { + const papaConfig: ParseConfig = { header: false, skipEmptyLines: true, quoteChar: this.textSeparator