From 47c4c8c9763e0055fad511326f51554ef26808e3 Mon Sep 17 00:00:00 2001 From: Will Abson Date: Wed, 14 Dec 2016 10:49:34 +0000 Subject: [PATCH 01/10] Tidy up quotes in start-process template Refs #1140 --- .../src/components/activiti-start-process.component.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.html b/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.html index 7026fbc354..b65b72dbc9 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.html +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-start-process.component.html @@ -18,10 +18,10 @@ + (formSaved)="onFormSaved($event)" + (formCompleted)="onFormCompleted($event)" + (formLoaded)="onFormLoaded($event)" + (onError)="onFormError($event)">
From 8993223a62f994f62c8cf7a5a427838fea08bd7e Mon Sep 17 00:00:00 2001 From: mauriziovitale84 Date: Tue, 13 Dec 2016 09:55:13 +0000 Subject: [PATCH 02/10] #1174 Add update report endpoint --- ...analytics-report-parameters.component.html | 13 +++++++++++- .../analytics-report-parameters.component.ts | 21 +++++++++++++++++++ .../src/components/analytics.component.ts | 6 +++++- .../src/services/analytics.service.ts | 7 +++++++ 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html index f48bbb8bc0..b8f5fc8e10 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html @@ -1,7 +1,18 @@
-

{{reportParameters.name}}

+
+ +
+

{{reportParameters.name}}

diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts index cf16698e80..15a8707bf0 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts @@ -63,6 +63,7 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges { private dropDownSub; private reportParamsSub; private paramOpts; + private isEditable: boolean = false; constructor(private translate: AlfrescoTranslationService, private analyticsService: AnalyticsService, @@ -210,4 +211,24 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges { this.reportParamsSub.unsubscribe(); } } + + public editEnable() { + this.isEditable = true; + } + + public editDisable() { + this.isEditable = false; + } + + public editTitle() { + this.reportParamsSub = this.analyticsService.updateReport(this.reportParameters.id, this.reportParameters.name).subscribe( + (res: ReportParametersModel) => { + this.editDisable(); + }, + (err: any) => { + console.log(err); + this.onError.emit(err); + } + ); + } } diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts index 3d12832940..aba1a6d550 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts @@ -46,7 +46,7 @@ export class AnalyticsComponent implements OnChanges { reportParamQuery = new ReportQuery(); - reports: any[]; + reports: Chart[]; public barChartOptions: any = { responsive: true, @@ -107,4 +107,8 @@ export class AnalyticsComponent implements OnChanges { let clone = JSON.parse(JSON.stringify(report)); report.datasets = clone.datasets; } + + public editReport(report: Chart) { + console.log(report); + } } diff --git a/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts b/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts index d9fc0b94cd..2849515e8f 100644 --- a/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts +++ b/ng2-components/ng2-activiti-analytics/src/services/analytics.service.ts @@ -178,6 +178,13 @@ export class AnalyticsService { .catch(this.handleError); } + updateReport(reportId: number, name: string): Observable { + return Observable.fromPromise(this.apiService.getInstance().activiti.reportApi.updateReport(reportId, name)) + .map((res: any) => { + console.log('upload'); + }).catch(this.handleError); + } + private handleError(error: Response) { console.error(error); return Observable.throw(error.json().error || 'Server error'); From a12c370cc792eb31a62fe86d1a00f81624eb06a7 Mon Sep 17 00:00:00 2001 From: mauriziovitale84 Date: Tue, 13 Dec 2016 16:10:32 +0000 Subject: [PATCH 03/10] #1174 Rename report --- .../src/components/analytics-report-parameters.component.css | 4 ++++ .../src/components/analytics-report-parameters.component.html | 2 +- .../ng2-activiti-analytics/src/services/analytics.service.ts | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css index ae995ca854..19692bd6a6 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css @@ -21,3 +21,7 @@ .dropdown-widget__invalid .mdl-textfield__error { visibility: visible !important; } + +.large { + font-size: 44px; +} diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html index b8f5fc8e10..ba7950517c 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.html @@ -4,7 +4,7 @@
{ + public updateReport(reportId: number, name: string): Observable { return Observable.fromPromise(this.apiService.getInstance().activiti.reportApi.updateReport(reportId, name)) .map((res: any) => { console.log('upload'); From 3714ef9fb095a9a4dd006dfcda4c55510f5e0e8a Mon Sep 17 00:00:00 2001 From: Will Abson Date: Wed, 14 Dec 2016 11:36:54 +0000 Subject: [PATCH 04/10] Check that the process has a start form before attempting to display it Refs #1140 --- .../components/activiti-process-instance-tasks.component.html | 4 ++-- .../components/activiti-process-instance-tasks.component.ts | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.html b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.html index 0d94cb0823..97a617011e 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.html +++ b/ng2-components/ng2-activiti-processlist/src/components/activiti-process-instance-tasks.component.html @@ -28,7 +28,7 @@ {{ 'DETAILS.TASKS.NO_ACTIVE' | translate }}
-
+
{{ 'DETAILS.LABELS.START_FORM'|translate }} @@ -78,7 +78,7 @@
- +

{{ 'DETAILS.LABELS.START_FORM'|translate }}

Date: Wed, 14 Dec 2016 15:14:37 +0000 Subject: [PATCH 05/10] #1174 Refresh the report list after edit report title --- .../activiti/activiti-demo.component.html | 11 +++++++-- .../activiti/activiti-demo.component.ts | 8 +++++++ .../analytics-report-list.component.ts | 23 ++++++++++++++++--- .../analytics-report-parameters.component.css | 2 +- .../analytics-report-parameters.component.ts | 4 ++++ .../src/components/analytics.component.html | 5 +++- .../src/components/analytics.component.ts | 7 ++++-- 7 files changed, 51 insertions(+), 9 deletions(-) diff --git a/demo-shell-ng2/app/components/activiti/activiti-demo.component.html b/demo-shell-ng2/app/components/activiti/activiti-demo.component.html index 8469fd7fb2..0d08e2376e 100644 --- a/demo-shell-ng2/app/components/activiti/activiti-demo.component.html +++ b/demo-shell-ng2/app/components/activiti/activiti-demo.component.html @@ -92,10 +92,17 @@
- + +
- + +
diff --git a/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts b/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts index 7936e77575..d8fd23ce9a 100644 --- a/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts +++ b/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts @@ -30,6 +30,7 @@ import { ActivitiStartProcessInstance, ProcessInstance } from 'ng2-activiti-processlist'; +import { AnalyticsReportListComponent } from 'ng2-activiti-analytics'; import { ActivatedRoute } from '@angular/router'; import { Subscription } from 'rxjs/Rx'; import { @@ -75,6 +76,9 @@ export class ActivitiDemoComponent implements AfterViewInit { @ViewChild(ActivitiStartProcessInstance) activitiStartProcess: ActivitiStartProcessInstance; + @ViewChild(AnalyticsReportListComponent) + analyticsreportlist: AnalyticsReportListComponent; + @Input() appId: number; @@ -183,6 +187,10 @@ export class ActivitiDemoComponent implements AfterViewInit { this.currentProcessInstanceId = processInstanceId; } + onEditReport(name: string) { + this.analyticsreportlist.reload(); + } + navigateStartProcess() { this.currentProcessInstanceId = currentProcessIdNew; } diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts index 979d8ad0b1..47ce38c21b 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-list.component.ts @@ -57,13 +57,21 @@ export class AnalyticsReportListComponent implements OnInit { this.reports.push(report); }); - this.getReportListByAppId(); + this.getReportList(); } /** - * Get the report list by app id + * Reload the component */ - getReportListByAppId() { + reload() { + this.reset(); + this.getReportList(); + } + + /** + * Get the report list + */ + getReportList() { this.analyticsService.getReportList().subscribe( (res: ReportParametersModel[]) => { if (res && res.length === 0) { @@ -108,6 +116,15 @@ export class AnalyticsReportListComponent implements OnInit { return this.reports === undefined || (this.reports && this.reports.length === 0); } + /** + * Reset the list + */ + private reset() { + if (!this.isReportsEmpty()) { + this.reports = []; + } + } + /** * Select the current report * @param report diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css index 19692bd6a6..aae39eab91 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.css @@ -23,5 +23,5 @@ } .large { - font-size: 44px; + font-size: x-large; } diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts index 15a8707bf0..45bc29cc9a 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics-report-parameters.component.ts @@ -47,6 +47,9 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges { @Output() onError = new EventEmitter(); + @Output() + onEdit = new EventEmitter(); + @Output() onFormValueChanged = new EventEmitter(); @@ -224,6 +227,7 @@ export class AnalyticsReportParametersComponent implements OnInit, OnChanges { this.reportParamsSub = this.analyticsService.updateReport(this.reportParameters.id, this.reportParameters.name).subscribe( (res: ReportParametersModel) => { this.editDisable(); + this.onEdit.emit(this.reportParameters.name); }, (err: any) => { console.log(err); diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html index a6b2f5ef26..a52b7480c7 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.html @@ -1,6 +1,9 @@
+ (onFormValueChanged)="reset()" + (onSuccess)="showReport($event)" + (onEdit)="onEditReport($event)"> +
diff --git a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts index aba1a6d550..008e12cbbf 100644 --- a/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts +++ b/ng2-components/ng2-activiti-analytics/src/components/analytics.component.ts @@ -41,6 +41,9 @@ export class AnalyticsComponent implements OnChanges { @Output() onSuccess = new EventEmitter(); + @Output() + editReport = new EventEmitter(); + @Output() onError = new EventEmitter(); @@ -108,7 +111,7 @@ export class AnalyticsComponent implements OnChanges { report.datasets = clone.datasets; } - public editReport(report: Chart) { - console.log(report); + public onEditReport(name: string) { + this.editReport.emit(name); } } From 394e5bec6cdeaa2b801dd9b2b1abc11cb39b346a Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Wed, 14 Dec 2016 15:34:12 +0000 Subject: [PATCH 06/10] fix blocking issue with bpm controllers --- .../app/components/activiti/activiti-demo.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts b/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts index 7936e77575..f01360662b 100644 --- a/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts +++ b/demo-shell-ng2/app/components/activiti/activiti-demo.component.ts @@ -225,11 +225,11 @@ export class ActivitiDemoComponent implements AfterViewInit { } loadStencilScriptsInPageFromActiviti() { - this.apiService.getInstance().activiti.scriptFileApi.getControllers().then(function (response) { + this.apiService.getInstance().activiti.scriptFileApi.getControllers().then(response => { if (response) { let s = document.createElement('script'); s.type = 'text/javascript'; - s.src = response; + s.text = response; this.elementRef.nativeElement.appendChild(s); } }); From 4f555ad77747e32c8ef26a25b1d0a8e4c8327c85 Mon Sep 17 00:00:00 2001 From: mauriziovitale84 Date: Wed, 14 Dec 2016 16:47:38 +0000 Subject: [PATCH 07/10] #fix folder name --- .../src/components/document-menu-action.html | 6 +++--- .../src/components/document-menu-action.ts | 8 +++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html b/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html index 6a4d76d5a7..ac4de84aef 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html @@ -23,13 +23,13 @@ class="mdl-textfield__input" id="name" required - value="Untitled folder" + [(ngModel)]="folderName" data-automation-id="name" autocapitalize="none" #name/>
- - + +
\ No newline at end of file diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.ts b/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.ts index bf9b05cfa7..258f2e4e5c 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.ts @@ -55,6 +55,8 @@ export class DocumentMenuAction implements OnInit { message: string; + folderName: string = ''; + constructor( private documentListService: DocumentListService, private translate: AlfrescoTranslationService) { @@ -72,7 +74,7 @@ export class DocumentMenuAction implements OnInit { .subscribe( res => { let relativeDir = this.currentFolderPath; - console.log(relativeDir); + this.folderName = ''; this.success.emit({value: relativeDir}); }, error => { @@ -128,4 +130,8 @@ export class DocumentMenuAction implements OnInit { } return message; } + + isFolderNameEmpty() { + return this.folderName === '' ? true : false; + } } From 09b494da6f0b2151e13165ffb9db95de32ab705c Mon Sep 17 00:00:00 2001 From: mauriziovitale84 Date: Wed, 14 Dec 2016 17:27:03 +0000 Subject: [PATCH 08/10] #1245 Use placeholder instead value --- .../src/components/document-menu-action.html | 1 + 1 file changed, 1 insertion(+) diff --git a/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html b/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html index ac4de84aef..ce360fdc6f 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html +++ b/ng2-components/ng2-alfresco-documentlist/src/components/document-menu-action.html @@ -24,6 +24,7 @@ id="name" required [(ngModel)]="folderName" + placeholder="Folder name" data-automation-id="name" autocapitalize="none" #name/>
From b613f9d226577f8e9ec7d21466285be27553aa58 Mon Sep 17 00:00:00 2001 From: Eugenio Romano Date: Wed, 14 Dec 2016 23:43:22 +0000 Subject: [PATCH 09/10] #1272 Clean the login storage ticket info before to login --- .../AlfrescoAuthentication.service.ts | 1 + .../src/services/AlfrescoContent.spec.ts | 59 +++++++++++++++---- 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/ng2-components/ng2-alfresco-core/src/services/AlfrescoAuthentication.service.ts b/ng2-components/ng2-alfresco-core/src/services/AlfrescoAuthentication.service.ts index 1741867c7c..870320a27b 100644 --- a/ng2-components/ng2-alfresco-core/src/services/AlfrescoAuthentication.service.ts +++ b/ng2-components/ng2-alfresco-core/src/services/AlfrescoAuthentication.service.ts @@ -140,6 +140,7 @@ export class AlfrescoAuthenticationService { public removeTicket(): void { this.storage.removeItem('ticket-ECM'); this.storage.removeItem('ticket-BPM'); + this.alfrescoApi.setTicket(undefined, undefined); } /** diff --git a/ng2-components/ng2-alfresco-core/src/services/AlfrescoContent.spec.ts b/ng2-components/ng2-alfresco-core/src/services/AlfrescoContent.spec.ts index b8192afe5f..b96f160cba 100644 --- a/ng2-components/ng2-alfresco-core/src/services/AlfrescoContent.spec.ts +++ b/ng2-components/ng2-alfresco-core/src/services/AlfrescoContent.spec.ts @@ -22,9 +22,15 @@ import { AlfrescoContentService } from './AlfrescoContent.service'; import { AlfrescoApiService } from './AlfrescoApi.service'; import { StorageService } from './storage.service'; +declare let jasmine: any; + describe('AlfrescoContentService', () => { - let injector, contentService: AlfrescoContentService, authService: AlfrescoAuthenticationService, node; + let injector, contentService: AlfrescoContentService; + let authService: AlfrescoAuthenticationService; + let settingsService: AlfrescoSettingsService; + let storage: StorageService; + let node: any; const nodeId = 'fake-node-id'; @@ -36,29 +42,56 @@ describe('AlfrescoContentService', () => { AlfrescoSettingsService, StorageService ]); - spyOn(localStorage, 'getItem').and.callFake(function (key) { - return 'myTicket'; - }); - contentService = injector.get(AlfrescoContentService); authService = injector.get(AlfrescoAuthenticationService); - authService.login('fake-username', 'fake-password'); + settingsService = injector.get(AlfrescoSettingsService); + contentService = injector.get(AlfrescoContentService); + storage = injector.get(StorageService); + storage.clear(); node = { entry: { id: nodeId } }; + + jasmine.Ajax.install(); }); - it('should return a valid content URL', () => { - expect(contentService.getContentUrl(node)).toBe('http://localhost:8080/alfresco/api/' + - '-default-/public/alfresco/versions/1/nodes/fake-node-id/content?attachment=false&alf_ticket=myTicket'); + afterEach(() => { + jasmine.Ajax.uninstall(); }); - it('should return a valid thumbnail URL', () => { - expect(contentService.getDocumentThumbnailUrl(node)) - .toBe('http://localhost:8080/alfresco/api/-default-/public/alfresco' + - '/versions/1/nodes/fake-node-id/renditions/doclib/content?attachment=false&alf_ticket=myTicket'); + beforeEach(() => { + settingsService.setProviders('ECM'); + }); + + it('should return a valid content URL', (done) => { + authService.login('fake-username', 'fake-password').subscribe(() => { + expect(contentService.getContentUrl(node)).toBe('http://localhost:8080/alfresco/api/' + + '-default-/public/alfresco/versions/1/nodes/fake-node-id/content?attachment=false&alf_ticket=fake-post-ticket'); + done(); + }); + + jasmine.Ajax.requests.mostRecent().respondWith({ + 'status': 201, + contentType: 'application/json', + responseText: JSON.stringify({'entry': {'id': 'fake-post-ticket', 'userId': 'admin'}}) + }); + }); + + it('should return a valid thumbnail URL', (done) => { + authService.login('fake-username', 'fake-password').subscribe(() => { + expect(contentService.getDocumentThumbnailUrl(node)) + .toBe('http://localhost:8080/alfresco/api/-default-/public/alfresco' + + '/versions/1/nodes/fake-node-id/renditions/doclib/content?attachment=false&alf_ticket=fake-post-ticket'); + done(); + }); + + jasmine.Ajax.requests.mostRecent().respondWith({ + 'status': 201, + contentType: 'application/json', + responseText: JSON.stringify({'entry': {'id': 'fake-post-ticket', 'userId': 'admin'}}) + }); }); }); From 25d95cf28daf1313f5f597a08576ccbfbb34a25b Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Thu, 15 Dec 2016 10:35:23 +0000 Subject: [PATCH 10/10] start dist command --- demo-shell-ng2/package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/demo-shell-ng2/package.json b/demo-shell-ng2/package.json index 9b8bec95be..65f0afa71c 100644 --- a/demo-shell-ng2/package.json +++ b/demo-shell-ng2/package.json @@ -6,6 +6,7 @@ "scripts": { "clean": "npm install rimraf && rimraf dist node_modules typings dist", "start": "webpack-dev-server --inline --progress --port 3000", + "start:dist": "wsrv -s dist/ -p 3000 -a 0.0.0.0", "test": "karma start", "build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail", "aws": "node app.js", @@ -125,7 +126,8 @@ "source-map-loader": "^0.1.5", "script-loader": "^0.7.0", "copy-webpack-plugin": "^4.0.1", - "glob": "^7.1.1" + "glob": "^7.1.1", + "wsrv": "^0.1.6" }, "license-check-config": { "src": [