summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usecaseui-portal/localproxy.conf.json11
-rw-r--r--usecaseui-portal/package-lock.json6563
-rw-r--r--usecaseui-portal/package.json9
-rw-r--r--usecaseui-portal/proxy.conf.json8
-rw-r--r--usecaseui-portal/src/app/alarm/alarm.component.spec.ts66
-rw-r--r--usecaseui-portal/src/app/app-routing.module.ts58
-rw-r--r--usecaseui-portal/src/app/app.component.css2
-rw-r--r--usecaseui-portal/src/app/app.component.html38
-rw-r--r--usecaseui-portal/src/app/app.component.spec.ts2
-rw-r--r--usecaseui-portal/src/app/app.component.ts4
-rw-r--r--usecaseui-portal/src/app/app.module.ts76
-rw-r--r--usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html272
-rw-r--r--usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.ts354
-rw-r--r--usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.ts243
-rw-r--r--usecaseui-portal/src/app/core/models/dataInterface.ts (renamed from usecaseui-portal/src/app/dataInterface.ts)0
-rw-r--r--usecaseui-portal/src/app/core/services/homes.service.spec.ts (renamed from usecaseui-portal/src/app/homes.service.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/core/services/homes.service.ts (renamed from usecaseui-portal/src/app/homes.service.ts)43
-rw-r--r--usecaseui-portal/src/app/core/services/managemencs.service.ts (renamed from usecaseui-portal/src/app/managemencs.service.ts)46
-rw-r--r--usecaseui-portal/src/app/core/services/myhttp.service.ts235
-rw-r--r--usecaseui-portal/src/app/core/services/networkHttpservice.service.ts (renamed from usecaseui-portal/src/app/networkHttpservice.service.ts)98
-rw-r--r--usecaseui-portal/src/app/core/services/onboard.service.ts (renamed from usecaseui-portal/src/app/onboard.service.ts)16
-rw-r--r--usecaseui-portal/src/app/core/services/text.service.spec.ts15
-rw-r--r--usecaseui-portal/src/app/core/services/text.service.ts43
-rw-r--r--usecaseui-portal/src/app/mock/fakedata.js24
-rw-r--r--usecaseui-portal/src/app/mock/json/LogicalLinksData.json (renamed from usecaseui-portal/src/assets/json/LogicalLinksData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/alarmFormData.json (renamed from usecaseui-portal/src/assets/json/alarmFormData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/allotted-resources2.json (renamed from usecaseui-portal/src/assets/json/allotted-resources2.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/createService.json (renamed from usecaseui-portal/src/assets/json/createService.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/customers.json (renamed from usecaseui-portal/src/assets/json/customers.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/deleteService.json (renamed from usecaseui-portal/src/assets/json/deleteService.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/detailsData.json (renamed from usecaseui-portal/src/assets/json/detailsData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/e2eServiceTemplateParameters.json (renamed from usecaseui-portal/src/assets/json/e2eServiceTemplateParameters.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/homeAllData.json (renamed from usecaseui-portal/src/assets/json/homeAllData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/homePerformanceChartData.json (renamed from usecaseui-portal/src/assets/json/homePerformanceChartData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/instanceTableData.json (renamed from usecaseui-portal/src/assets/json/instanceTableData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/instanceTableData2.json (renamed from usecaseui-portal/src/assets/json/instanceTableData2.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/instanceTableData3.json (renamed from usecaseui-portal/src/assets/json/instanceTableData3.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/instanceTableData4.json656
-rw-r--r--usecaseui-portal/src/app/mock/json/netWorkD3Data.json (renamed from usecaseui-portal/src/assets/json/netWorkD3Data.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/netWorkD3Data2.json (renamed from usecaseui-portal/src/assets/json/netWorkD3Data2.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/nsServiceTemplateParameters.json (renamed from usecaseui-portal/src/assets/json/nsServiceTemplateParameters.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/onboardTableData.json (renamed from usecaseui-portal/src/assets/json/onboardTableData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/p_interfaces1.json (renamed from usecaseui-portal/src/assets/json/p_interfaces1.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/p_interfaces2.json (renamed from usecaseui-portal/src/assets/json/p_interfaces2.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/pnfdetail-domain.json (renamed from usecaseui-portal/src/assets/json/pnfdetail-domain.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/progress.json (renamed from usecaseui-portal/src/assets/json/progress.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/sdwanvpnServiceTemplateParameters.json (renamed from usecaseui-portal/src/assets/json/sdwanvpnServiceTemplateParameters.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/serviceTemplates.json (renamed from usecaseui-portal/src/assets/json/serviceTemplates.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/serviceTemplates2.json (renamed from usecaseui-portal/src/assets/json/serviceTemplates2.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/serviceTypes.json (renamed from usecaseui-portal/src/assets/json/serviceTypes.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/servicesList.json (renamed from usecaseui-portal/src/assets/json/servicesList.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/servicesTableData.json (renamed from usecaseui-portal/src/assets/json/servicesTableData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/siteAddressData.json (renamed from usecaseui-portal/src/assets/json/siteAddressData.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/siteServiceTemplateParameters.json (renamed from usecaseui-portal/src/assets/json/siteServiceTemplateParameters.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/sotn-connectivity.json (renamed from usecaseui-portal/src/assets/json/sotn-connectivity.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/sotn-connectivity2.json (renamed from usecaseui-portal/src/assets/json/sotn-connectivity2.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/sotnvpnServiceTemplateParameters.json (renamed from usecaseui-portal/src/assets/json/sotnvpnServiceTemplateParameters.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/specific_link_nfo.json (renamed from usecaseui-portal/src/assets/json/specific_link _nfo.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/status.json (renamed from usecaseui-portal/src/assets/json/status.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/status2.json3
-rw-r--r--usecaseui-portal/src/app/mock/json/url.json (renamed from usecaseui-portal/src/assets/json/url.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/vpnbinding.json (renamed from usecaseui-portal/src/assets/json/vpnbinding.json)0
-rw-r--r--usecaseui-portal/src/app/mock/json/xuran_test_data.json8
-rw-r--r--usecaseui-portal/src/app/mock/mock.js7
-rw-r--r--usecaseui-portal/src/app/mock/server.js87
-rw-r--r--usecaseui-portal/src/app/myhttp.service.ts38
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/bar/bar.component.html (renamed from usecaseui-portal/src/app/components/charts/bar/bar.component.html)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/bar/bar.component.less (renamed from usecaseui-portal/src/app/components/charts/bar/bar.component.less)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/bar/bar.component.spec.ts (renamed from usecaseui-portal/src/app/components/charts/bar/bar.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/bar/bar.component.ts (renamed from usecaseui-portal/src/app/components/charts/bar/bar.component.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/line/line.component.html (renamed from usecaseui-portal/src/app/components/charts/line/line.component.html)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/line/line.component.less (renamed from usecaseui-portal/src/app/components/charts/line/line.component.less)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/line/line.component.spec.ts (renamed from usecaseui-portal/src/app/components/charts/line/line.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/line/line.component.ts (renamed from usecaseui-portal/src/app/components/charts/line/line.component.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/pie/pie.component.html (renamed from usecaseui-portal/src/app/components/charts/pie/pie.component.html)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/pie/pie.component.less (renamed from usecaseui-portal/src/app/components/charts/pie/pie.component.less)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/pie/pie.component.spec.ts (renamed from usecaseui-portal/src/app/components/charts/pie/pie.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/charts/pie/pie.component.ts (renamed from usecaseui-portal/src/app/components/charts/pie/pie.component.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/customer/customer.component.html (renamed from usecaseui-portal/src/app/components/customer/customer.component.html)87
-rw-r--r--usecaseui-portal/src/app/shared/components/customer/customer.component.less (renamed from usecaseui-portal/src/app/components/customer/customer.component.less)0
-rw-r--r--usecaseui-portal/src/app/shared/components/customer/customer.component.spec.ts (renamed from usecaseui-portal/src/app/components/customer/customer.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/customer/customer.component.ts (renamed from usecaseui-portal/src/app/components/customer/customer.component.ts)156
-rw-r--r--usecaseui-portal/src/app/shared/components/details/details.component.css (renamed from usecaseui-portal/src/app/components/details/details.component.css)10
-rw-r--r--usecaseui-portal/src/app/shared/components/details/details.component.html (renamed from usecaseui-portal/src/app/components/details/details.component.html)0
-rw-r--r--usecaseui-portal/src/app/shared/components/details/details.component.less (renamed from usecaseui-portal/src/app/components/details/details.component.less)13
-rw-r--r--usecaseui-portal/src/app/shared/components/details/details.component.spec.ts (renamed from usecaseui-portal/src/app/components/details/details.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/details/details.component.ts (renamed from usecaseui-portal/src/app/components/details/details.component.ts)4
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.css (renamed from usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.css)0
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.html (renamed from usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.html)1
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.less (renamed from usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.less)4
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.spec.ts (renamed from usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.ts357
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.html (renamed from usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.html)7
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.less (renamed from usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.less)4
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.spec.ts (renamed from usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.ts246
-rw-r--r--usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.css (renamed from usecaseui-portal/src/app/components/graphiclist/graphiclist.component.css)4
-rw-r--r--usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.html (renamed from usecaseui-portal/src/app/components/graphiclist/graphiclist.component.html)0
-rw-r--r--usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.less (renamed from usecaseui-portal/src/app/components/graphiclist/graphiclist.component.less)4
-rw-r--r--usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.spec.ts (renamed from usecaseui-portal/src/app/components/graphiclist/graphiclist.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.ts (renamed from usecaseui-portal/src/app/components/graphiclist/graphiclist.component.ts)2
-rw-r--r--usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.css (renamed from usecaseui-portal/src/app/components/performance-details/performance-details.component.css)10
-rw-r--r--usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.html (renamed from usecaseui-portal/src/app/components/performance-details/performance-details.component.html)0
-rw-r--r--usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.less (renamed from usecaseui-portal/src/app/components/performance-details/performance-details.component.less)10
-rw-r--r--usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.spec.ts (renamed from usecaseui-portal/src/app/components/performance-details/performance-details.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.ts (renamed from usecaseui-portal/src/app/components/performance-details/performance-details.component.ts)4
-rw-r--r--usecaseui-portal/src/app/shared/utils/utils.js (renamed from usecaseui-portal/src/app/fcaps/fcaps.component.less)0
-rw-r--r--usecaseui-portal/src/app/test/test.component.html25
-rw-r--r--usecaseui-portal/src/app/test/test.component.less3
-rw-r--r--usecaseui-portal/src/app/test/test.component.spec.ts25
-rw-r--r--usecaseui-portal/src/app/test/test.component.ts34
-rw-r--r--usecaseui-portal/src/app/views/alarm/alarm.component.css (renamed from usecaseui-portal/src/app/alarm/alarm.component.css)12
-rw-r--r--usecaseui-portal/src/app/views/alarm/alarm.component.html (renamed from usecaseui-portal/src/app/alarm/alarm.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/alarm/alarm.component.less (renamed from usecaseui-portal/src/app/alarm/alarm.component.less)12
-rw-r--r--usecaseui-portal/src/app/views/alarm/alarm.component.spec.ts66
-rw-r--r--usecaseui-portal/src/app/views/alarm/alarm.component.ts (renamed from usecaseui-portal/src/app/alarm/alarm.component.ts)18
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.css (renamed from usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css)4
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.html275
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.spec.ts (renamed from usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.ts (renamed from usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts)10
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.css (renamed from usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.css)4
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.html (renamed from usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.html)345
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.spec.ts (renamed from usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.spec.ts)2
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.ts (renamed from usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.ts)6
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.css (renamed from usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.html (renamed from usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.spec.ts (renamed from usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.ts (renamed from usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.ts)8
-rw-r--r--usecaseui-portal/src/app/views/fcaps/fcaps.component.html (renamed from usecaseui-portal/src/app/fcaps/fcaps.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/fcaps/fcaps.component.less (renamed from usecaseui-portal/src/app/services/services.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/fcaps/fcaps.component.spec.ts (renamed from usecaseui-portal/src/app/fcaps/fcaps.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/fcaps/fcaps.component.ts (renamed from usecaseui-portal/src/app/fcaps/fcaps.component.ts)0
-rw-r--r--usecaseui-portal/src/app/views/home/home.component.css (renamed from usecaseui-portal/src/app/home/home.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/home/home.component.html (renamed from usecaseui-portal/src/app/home/home.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/home/home.component.less (renamed from usecaseui-portal/src/app/home/home.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/home/home.component.spec.ts (renamed from usecaseui-portal/src/app/home/home.component.spec.ts)8
-rw-r--r--usecaseui-portal/src/app/views/home/home.component.ts (renamed from usecaseui-portal/src/app/home/home.component.ts)266
-rw-r--r--usecaseui-portal/src/app/views/management/management.component.html (renamed from usecaseui-portal/src/app/management/management.component.html)17
-rw-r--r--usecaseui-portal/src/app/views/management/management.component.less (renamed from usecaseui-portal/src/app/management/management.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/management/management.component.spec.ts (renamed from usecaseui-portal/src/app/management/management.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/management/management.component.ts (renamed from usecaseui-portal/src/app/management/management.component.ts)4
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.css (renamed from usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.html (renamed from usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.less (renamed from usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.spec.ts (renamed from usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.ts (renamed from usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.ts)2
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.css (renamed from usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.html (renamed from usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.html)29
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.less (renamed from usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.spec.ts (renamed from usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.spec.ts)6
-rw-r--r--usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.ts (renamed from usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.ts)32
-rw-r--r--usecaseui-portal/src/app/views/performance/performance.component.css (renamed from usecaseui-portal/src/app/performance/performance.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance.component.html (renamed from usecaseui-portal/src/app/performance/performance.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance.component.less (renamed from usecaseui-portal/src/app/performance/performance.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance.component.spec.ts (renamed from usecaseui-portal/src/app/performance/performance.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/performance/performance.component.ts (renamed from usecaseui-portal/src/app/performance/performance.component.ts)0
-rw-r--r--usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css (renamed from usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html (renamed from usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less (renamed from usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts (renamed from usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts (renamed from usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.ts)10
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/services-list.component.css (renamed from usecaseui-portal/src/app/services/services-list/services-list.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/services-list.component.html (renamed from usecaseui-portal/src/app/services/services-list/services-list.component.html)394
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/services-list.component.less (renamed from usecaseui-portal/src/app/services/services-list/services-list.component.less)227
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/services-list.component.spec.ts (renamed from usecaseui-portal/src/app/services/services-list/services-list.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/services-list.component.ts (renamed from usecaseui-portal/src/app/services/services-list/services-list.component.ts)67
-rw-r--r--usecaseui-portal/src/app/views/services/services.component.html (renamed from usecaseui-portal/src/app/services/services.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/services/services.component.less0
-rw-r--r--usecaseui-portal/src/app/views/services/services.component.spec.ts (renamed from usecaseui-portal/src/app/services/services.component.spec.ts)0
-rw-r--r--usecaseui-portal/src/app/views/services/services.component.ts (renamed from usecaseui-portal/src/app/services/services.component.ts)0
-rw-r--r--usecaseui-portal/src/assets/json/allotted-resources.json122
-rw-r--r--usecaseui-portal/src/assets/json/configuration_files/inputNamesTranslate.json63
-rw-r--r--usecaseui-portal/src/assets/json/configuration_files/servicesCategory.json34
-rw-r--r--usecaseui-portal/src/assets/json/configuration_files/templateCategory.json6
-rw-r--r--usecaseui-portal/src/assets/json/instanceTableData4.json1
-rw-r--r--usecaseui-portal/src/assets/json/status2.json1
-rw-r--r--usecaseui-portal/src/index.html5
-rw-r--r--usecaseui-portal/src/styles.less4
178 files changed, 7306 insertions, 4789 deletions
diff --git a/usecaseui-portal/localproxy.conf.json b/usecaseui-portal/localproxy.conf.json
new file mode 100644
index 00000000..bf4dcf52
--- /dev/null
+++ b/usecaseui-portal/localproxy.conf.json
@@ -0,0 +1,11 @@
+{
+ "/api": {
+ "target": "http://localhost:3004",
+ "secure": false,
+ "logLevel": "debug",
+ "changeOrigin": true,
+ "pathRewrite": {
+ "^/api": ""
+ }
+ }
+} \ No newline at end of file
diff --git a/usecaseui-portal/package-lock.json b/usecaseui-portal/package-lock.json
index 582533e9..e1653e5e 100644
--- a/usecaseui-portal/package-lock.json
+++ b/usecaseui-portal/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "usecase-ui",
- "version": "0.0.0",
+ "version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -10,10 +10,10 @@
"integrity": "sha512-U0BCZtThq5rUfY08shHXpxe8ZhSsiYB/cJjUvAWRTs/ORrs8pbngS6xwseQws8d/vHoVrtqGD9GU9h8AmFRERQ==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "source-map": "0.5.7",
- "typescript": "2.6.2",
- "webpack-sources": "1.3.0"
+ "loader-utils": "^1.1.0",
+ "source-map": "^0.5.6",
+ "typescript": "~2.6.2",
+ "webpack-sources": "^1.0.1"
},
"dependencies": {
"typescript": {
@@ -30,10 +30,10 @@
"integrity": "sha512-zABk/iP7YX5SVbmK4e+IX7j2d0D37MQJQiKgWdV3JzfvVJhNJzddiirtT980pIafoq+KyvTgVwXtc+vnux0oeQ==",
"dev": true,
"requires": {
- "ajv": "5.5.2",
- "chokidar": "1.7.0",
- "rxjs": "5.5.12",
- "source-map": "0.5.7"
+ "ajv": "~5.5.1",
+ "chokidar": "^1.7.0",
+ "rxjs": "^5.5.6",
+ "source-map": "^0.5.6"
},
"dependencies": {
"ajv": {
@@ -42,10 +42,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
}
}
@@ -56,8 +56,8 @@
"integrity": "sha512-B6zZoqvHaTJy+vVdA6EtlxnCdGMa5elCa4j9lQLC3JI8DLvMXUWkCIPVbPzJ/GSRR9nsKWpvYMYaJyfBDUqfhw==",
"dev": true,
"requires": {
- "@ngtools/json-schema": "1.2.0",
- "rxjs": "5.5.12"
+ "@ngtools/json-schema": "^1.1.0",
+ "rxjs": "^5.5.6"
}
},
"@angular/animations": {
@@ -65,7 +65,7 @@
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.11.tgz",
"integrity": "sha512-J7wKHkFn3wV28/Y1Qm4yjGXVCwXzj1JR5DRjGDTFnxTRacUFx7Nj0ApGhN0b2+V0NOvgxQOvEW415Y22kGoblw==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/cdk": {
@@ -73,7 +73,7 @@
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.2.5.tgz",
"integrity": "sha512-GN8m1d+VcCE9+Bgwv06Y8YJKyZ0i9ZIq2ZPBcJYt+KVgnVVRg4JkyUNxud07LNsvzOX22DquHqmIZiC4hAG7Ag==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/cli": {
@@ -89,58 +89,58 @@
"@ngtools/webpack": "1.10.2",
"@schematics/angular": "0.3.2",
"@schematics/package-update": "0.3.2",
- "ajv": "6.5.4",
- "autoprefixer": "7.2.6",
- "cache-loader": "1.2.2",
- "chalk": "2.2.2",
- "circular-dependency-plugin": "4.4.0",
- "clean-css": "4.2.1",
- "common-tags": "1.8.0",
- "copy-webpack-plugin": "4.4.3",
- "core-object": "3.1.5",
- "denodeify": "1.2.1",
- "ember-cli-string-utils": "1.1.0",
- "extract-text-webpack-plugin": "3.0.2",
- "file-loader": "1.1.11",
- "fs-extra": "4.0.3",
- "glob": "7.1.3",
- "html-webpack-plugin": "2.30.1",
- "istanbul-instrumenter-loader": "3.0.1",
- "karma-source-map-support": "1.3.0",
- "less": "2.7.3",
- "less-loader": "4.1.0",
- "license-webpack-plugin": "1.5.0",
+ "ajv": "^6.1.1",
+ "autoprefixer": "^7.2.3",
+ "cache-loader": "^1.2.0",
+ "chalk": "~2.2.0",
+ "circular-dependency-plugin": "^4.2.1",
+ "clean-css": "^4.1.11",
+ "common-tags": "^1.3.1",
+ "copy-webpack-plugin": "~4.4.1",
+ "core-object": "^3.1.0",
+ "denodeify": "^1.2.1",
+ "ember-cli-string-utils": "^1.0.0",
+ "extract-text-webpack-plugin": "^3.0.2",
+ "file-loader": "^1.1.5",
+ "fs-extra": "^4.0.0",
+ "glob": "^7.0.3",
+ "html-webpack-plugin": "^2.29.0",
+ "istanbul-instrumenter-loader": "^3.0.0",
+ "karma-source-map-support": "^1.2.0",
+ "less": "^2.7.2",
+ "less-loader": "^4.0.5",
+ "license-webpack-plugin": "^1.0.0",
"loader-utils": "1.1.0",
- "lodash": "4.17.11",
- "memory-fs": "0.4.1",
- "minimatch": "3.0.4",
- "node-modules-path": "1.0.2",
- "node-sass": "4.9.4",
- "nopt": "4.0.1",
- "opn": "5.1.0",
- "portfinder": "1.0.18",
- "postcss": "6.0.23",
- "postcss-import": "11.1.0",
- "postcss-loader": "2.1.6",
- "postcss-url": "7.3.2",
- "raw-loader": "0.5.1",
- "resolve": "1.8.1",
- "rxjs": "5.5.12",
- "sass-loader": "6.0.7",
- "semver": "5.6.0",
- "silent-error": "1.1.1",
- "source-map-support": "0.4.18",
- "style-loader": "0.19.1",
- "stylus": "0.54.5",
- "stylus-loader": "3.0.2",
- "uglifyjs-webpack-plugin": "1.3.0",
- "url-loader": "0.6.2",
- "webpack": "3.11.0",
- "webpack-dev-middleware": "1.12.2",
- "webpack-dev-server": "2.11.3",
- "webpack-merge": "4.1.4",
- "webpack-sources": "1.3.0",
- "webpack-subresource-integrity": "1.2.0"
+ "lodash": "^4.11.1",
+ "memory-fs": "^0.4.1",
+ "minimatch": "^3.0.4",
+ "node-modules-path": "^1.0.0",
+ "node-sass": "^4.7.2",
+ "nopt": "^4.0.1",
+ "opn": "~5.1.0",
+ "portfinder": "~1.0.12",
+ "postcss": "^6.0.16",
+ "postcss-import": "^11.0.0",
+ "postcss-loader": "^2.0.10",
+ "postcss-url": "^7.1.2",
+ "raw-loader": "^0.5.1",
+ "resolve": "^1.1.7",
+ "rxjs": "^5.5.6",
+ "sass-loader": "^6.0.6",
+ "semver": "^5.1.0",
+ "silent-error": "^1.0.0",
+ "source-map-support": "^0.4.1",
+ "style-loader": "^0.19.1",
+ "stylus": "^0.54.5",
+ "stylus-loader": "^3.0.1",
+ "uglifyjs-webpack-plugin": "^1.1.8",
+ "url-loader": "^0.6.2",
+ "webpack": "~3.11.0",
+ "webpack-dev-middleware": "~1.12.0",
+ "webpack-dev-server": "~2.11.0",
+ "webpack-merge": "^4.1.0",
+ "webpack-sources": "^1.0.0",
+ "webpack-subresource-integrity": "^1.0.1"
}
},
"@angular/common": {
@@ -148,7 +148,7 @@
"resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.11.tgz",
"integrity": "sha512-LniJjGAeftUJDJh+2+LEjltcGen08C/VMxQ/eUYmesytKy1sN+MWzh3GbpKfEWtWmyUsYTG9lAAJNo3L3jPwsw==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/compiler": {
@@ -156,7 +156,7 @@
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.11.tgz",
"integrity": "sha512-ICvB1ud1mxaXUYLb8vhJqiLhGBVocAZGxoHTglv6hMkbrRYcnlB3FZJFOzBvtj+krkd1jamoYLI43UAmesqQ6Q==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/compiler-cli": {
@@ -165,10 +165,10 @@
"integrity": "sha512-dwrQ0yxoCM/XzKzlm7pTsyg4/6ECjT9emZufGj8t12bLMO8NDn1IJOsqXJA1+onEgQKhlr0Ziwi+96TvDTb1Cg==",
"dev": true,
"requires": {
- "chokidar": "1.7.0",
- "minimist": "1.2.0",
- "reflect-metadata": "0.1.12",
- "tsickle": "0.27.5"
+ "chokidar": "^1.4.2",
+ "minimist": "^1.2.0",
+ "reflect-metadata": "^0.1.2",
+ "tsickle": "^0.27.2"
},
"dependencies": {
"minimist": {
@@ -184,7 +184,7 @@
"resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.11.tgz",
"integrity": "sha512-h2vpvXNAdOqKzbVaZcHnHGMT5A8uDnizk6FgGq6SPyw9s3d+/VxZ9LJaPjUk3g2lICA7og1tUel+2YfF971MlQ==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/forms": {
@@ -192,7 +192,7 @@
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.11.tgz",
"integrity": "sha512-wBllFlIubPclAFRXUc84Kc7TMeKOftzrQraVZ7ooTNeFLLa/FZLN2K8HGyRde8X/XDsMu1XAmjNfkz++spwTzA==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/http": {
@@ -200,7 +200,7 @@
"resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.11.tgz",
"integrity": "sha512-eR7wNXh1+6MpcQNb3sq4bJVX03dx50Wl3kpPG+Q7N1VSL0oPQSobaTrR17ac3oFCEfSJn6kkUCqtUXha6wcNHg==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/language-service": {
@@ -214,7 +214,7 @@
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.11.tgz",
"integrity": "sha512-6YZ4IpBFqXx88vEzBZG2WWnaSYXbFWDgG0iT+bZPHAfwsbmqbcMcs7Ogu+XZ4VmK02dTqbrFh7U4P2W+sqrzow==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/platform-browser-dynamic": {
@@ -222,7 +222,7 @@
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.11.tgz",
"integrity": "sha512-5kKPNULcXNwkyBjpHfF+pq+Yxi8Zl866YSOK9t8txoiQ9Ctw97kMkEJcTetk6MJgBp/NP3YyjtoTAm8oXLerug==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@angular/router": {
@@ -230,7 +230,7 @@
"resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.11.tgz",
"integrity": "sha512-NT8xYl7Vr3qPygisek3PlXqNROEjg48GXOEsDEc7c8lDBo3EB9Tf328fWJD0GbLtXZNhmmNNxwIe+qqPFFhFAA==",
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.7.1"
}
},
"@ngtools/json-schema": {
@@ -245,14 +245,14 @@
"integrity": "sha512-3u2zg2rarG3qNLSukBClGADWuq/iNn5SQtlSeAbfKzwBeyLGbF0gN1z1tVx1Bcr8YwFzR6NdRePQmJGcoqq1fg==",
"dev": true,
"requires": {
- "chalk": "2.2.2",
- "enhanced-resolve": "3.4.1",
- "loader-utils": "1.1.0",
- "magic-string": "0.22.5",
- "semver": "5.6.0",
- "source-map": "0.5.7",
- "tree-kill": "1.2.0",
- "webpack-sources": "1.3.0"
+ "chalk": "~2.2.0",
+ "enhanced-resolve": "^3.1.0",
+ "loader-utils": "^1.0.2",
+ "magic-string": "^0.22.3",
+ "semver": "^5.3.0",
+ "source-map": "^0.5.6",
+ "tree-kill": "^1.0.0",
+ "webpack-sources": "^1.1.0"
}
},
"@ngx-translate/core": {
@@ -271,7 +271,7 @@
"integrity": "sha512-Elrk0BA951s0ScFZU0AWrpUeJBYVR52DZ1QTIO5R0AhwEd1PW4olI8szPLGQlVW5Sd6H0FA/fyFLIvn2r9v6Rw==",
"dev": true,
"requires": {
- "typescript": "2.6.2"
+ "typescript": "~2.6.2"
},
"dependencies": {
"typescript": {
@@ -288,9 +288,24 @@
"integrity": "sha512-7aVP4994Hu8vRdTTohXkfGWEwLhrdNP3EZnWyBootm5zshWqlQojUGweZe5zwewsKcixeVOiy2YtW+aI4aGSLA==",
"dev": true,
"requires": {
- "rxjs": "5.5.12",
- "semver": "5.6.0",
- "semver-intersect": "1.4.0"
+ "rxjs": "^5.5.6",
+ "semver": "^5.3.0",
+ "semver-intersect": "^1.1.2"
+ }
+ },
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40sindresorhus%2Fis%2Fdownload%2F%40sindresorhus%2Fis-0.14.0.tgz",
+ "integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=",
+ "dev": true
+ },
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40szmarczak%2Fhttp-timer%2Fdownload%2F%40szmarczak%2Fhttp-timer-1.1.2.tgz",
+ "integrity": "sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
}
},
"@types/jasmine": {
@@ -305,7 +320,7 @@
"integrity": "sha512-1awkm/O4pQCR9hI2F80HmIOda/L+ogkSL8Arj1k00eue5VLY5ooewhSOyF/cUJE0S+/34uD5EYY3zmd6fu2OCA==",
"dev": true,
"requires": {
- "@types/jasmine": "2.8.9"
+ "@types/jasmine": "*"
}
},
"@types/node": {
@@ -350,7 +365,7 @@
"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
"dev": true,
"requires": {
- "mime-types": "2.1.21",
+ "mime-types": "~2.1.18",
"negotiator": "0.6.1"
}
},
@@ -366,7 +381,7 @@
"integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
"dev": true,
"requires": {
- "acorn": "4.0.13"
+ "acorn": "^4.0.3"
},
"dependencies": {
"acorn": {
@@ -401,8 +416,9 @@
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
"dev": true,
+ "optional": true,
"requires": {
- "es6-promisify": "5.0.0"
+ "es6-promisify": "^5.0.0"
}
},
"ajv": {
@@ -411,10 +427,10 @@
"integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
"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"
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
},
"dependencies": {
"fast-deep-equal": {
@@ -443,9 +459,9 @@
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
"dev": true,
"requires": {
- "kind-of": "3.2.2",
- "longest": "1.0.1",
- "repeat-string": "1.6.1"
+ "kind-of": "^3.0.2",
+ "longest": "^1.0.1",
+ "repeat-string": "^1.5.2"
}
},
"amdefine": {
@@ -461,11 +477,11 @@
"dev": true,
"optional": true,
"requires": {
- "bitsyntax": "0.0.4",
- "bluebird": "3.5.2",
+ "bitsyntax": "~0.0.4",
+ "bluebird": "^3.4.6",
"buffer-more-ints": "0.0.2",
- "readable-stream": "1.1.14",
- "safe-buffer": "5.1.2"
+ "readable-stream": "1.x >=1.1.9",
+ "safe-buffer": "^5.0.1"
},
"dependencies": {
"isarray": {
@@ -482,10 +498,10 @@
"dev": true,
"optional": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
"isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "string_decoder": "~0.10.x"
}
},
"string_decoder": {
@@ -497,6 +513,49 @@
}
}
},
+ "ansi-align": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz",
+ "integrity": "sha1-tTazcc9ofKrvI2wY0+If43l0Z8s=",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz",
+ "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
"ansi-html": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
@@ -515,7 +574,7 @@
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
- "color-convert": "1.9.3"
+ "color-convert": "^1.9.0"
}
},
"anymatch": {
@@ -524,8 +583,8 @@
"integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
"dev": true,
"requires": {
- "micromatch": "2.3.11",
- "normalize-path": "2.1.1"
+ "micromatch": "^2.1.5",
+ "normalize-path": "^2.0.0"
}
},
"app-root-path": {
@@ -540,7 +599,7 @@
"integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
"dev": true,
"requires": {
- "default-require-extensions": "1.0.0"
+ "default-require-extensions": "^1.0.0"
}
},
"aproba": {
@@ -554,9 +613,10 @@
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"dev": true,
+ "optional": true,
"requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
}
},
"argparse": {
@@ -565,7 +625,7 @@
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
- "sprintf-js": "1.0.3"
+ "sprintf-js": "~1.0.2"
}
},
"arr-diff": {
@@ -574,7 +634,7 @@
"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
"dev": true,
"requires": {
- "arr-flatten": "1.1.0"
+ "arr-flatten": "^1.0.1"
}
},
"arr-flatten": {
@@ -607,8 +667,8 @@
"integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
"dev": true,
"requires": {
- "define-properties": "1.1.3",
- "es-abstract": "1.12.0"
+ "define-properties": "^1.1.2",
+ "es-abstract": "^1.7.0"
}
},
"array-slice": {
@@ -623,7 +683,7 @@
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"dev": true,
"requires": {
- "array-uniq": "1.0.3"
+ "array-uniq": "^1.0.1"
}
},
"array-uniq": {
@@ -663,7 +723,7 @@
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
"dev": true,
"requires": {
- "safer-buffer": "2.1.2"
+ "safer-buffer": "~2.1.0"
}
},
"asn1.js": {
@@ -672,9 +732,9 @@
"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
}
},
"assert": {
@@ -729,7 +789,7 @@
"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
"dev": true,
"requires": {
- "lodash": "4.17.11"
+ "lodash": "^4.17.10"
}
},
"async-each": {
@@ -769,12 +829,12 @@
"integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==",
"dev": true,
"requires": {
- "browserslist": "2.11.3",
- "caniuse-lite": "1.0.30000893",
- "normalize-range": "0.1.2",
- "num2fraction": "1.2.2",
- "postcss": "6.0.23",
- "postcss-value-parser": "3.3.1"
+ "browserslist": "^2.11.3",
+ "caniuse-lite": "^1.0.30000805",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^6.0.17",
+ "postcss-value-parser": "^3.2.3"
}
},
"aws-sign2": {
@@ -807,7 +867,7 @@
"dev": true,
"optional": true,
"requires": {
- "debug": "2.6.9"
+ "debug": "^2.2.0"
}
}
}
@@ -818,9 +878,9 @@
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
"dev": true,
"requires": {
- "chalk": "1.1.3",
- "esutils": "2.0.2",
- "js-tokens": "3.0.2"
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
},
"dependencies": {
"ansi-styles": {
@@ -835,11 +895,11 @@
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
}
},
"supports-color": {
@@ -856,14 +916,14 @@
"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
"dev": true,
"requires": {
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "detect-indent": "4.0.0",
- "jsesc": "1.3.0",
- "lodash": "4.17.11",
- "source-map": "0.5.7",
- "trim-right": "1.0.1"
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.17.4",
+ "source-map": "^0.5.7",
+ "trim-right": "^1.0.1"
}
},
"babel-messages": {
@@ -872,7 +932,7 @@
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-runtime": "^6.22.0"
}
},
"babel-runtime": {
@@ -881,8 +941,8 @@
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dev": true,
"requires": {
- "core-js": "2.5.7",
- "regenerator-runtime": "0.11.1"
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
}
},
"babel-template": {
@@ -891,11 +951,11 @@
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "lodash": "4.17.11"
+ "babel-runtime": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "lodash": "^4.17.4"
}
},
"babel-traverse": {
@@ -904,15 +964,15 @@
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "debug": "2.6.9",
- "globals": "9.18.0",
- "invariant": "2.2.4",
- "lodash": "4.17.11"
+ "babel-code-frame": "^6.26.0",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "debug": "^2.6.8",
+ "globals": "^9.18.0",
+ "invariant": "^2.2.2",
+ "lodash": "^4.17.4"
}
},
"babel-types": {
@@ -921,10 +981,10 @@
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
"dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "esutils": "2.0.2",
- "lodash": "4.17.11",
- "to-fast-properties": "1.0.3"
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
}
},
"babylon": {
@@ -951,13 +1011,13 @@
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
"requires": {
- "cache-base": "1.0.1",
- "class-utils": "0.3.6",
- "component-emitter": "1.2.1",
- "define-property": "1.0.0",
- "isobject": "3.0.1",
- "mixin-deep": "1.3.1",
- "pascalcase": "0.1.1"
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
},
"dependencies": {
"define-property": {
@@ -966,7 +1026,7 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
@@ -975,7 +1035,7 @@
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
@@ -984,7 +1044,7 @@
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
@@ -993,9 +1053,9 @@
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"isobject": {
@@ -1030,6 +1090,15 @@
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
+ "basic-auth": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/basic-auth/download/basic-auth-2.0.1.tgz",
+ "integrity": "sha1-uZgnm/R844NEtPPPkW1Gebv1Hjo=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
"batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -1042,7 +1111,7 @@
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"requires": {
- "tweetnacl": "0.14.5"
+ "tweetnacl": "^0.14.3"
}
},
"better-assert": {
@@ -1083,7 +1152,7 @@
"dev": true,
"optional": true,
"requires": {
- "readable-stream": "2.0.6"
+ "readable-stream": "~2.0.5"
},
"dependencies": {
"process-nextick-args": {
@@ -1100,12 +1169,12 @@
"dev": true,
"optional": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~1.0.6",
+ "string_decoder": "~0.10.x",
+ "util-deprecate": "~1.0.1"
}
},
"string_decoder": {
@@ -1130,7 +1199,7 @@
"dev": true,
"optional": true,
"requires": {
- "inherits": "2.0.3"
+ "inherits": "~2.0.0"
}
},
"blocking-proxy": {
@@ -1139,7 +1208,7 @@
"integrity": "sha1-RikF4Nz76pcPQao3Ij3anAexkSs=",
"dev": true,
"requires": {
- "minimist": "1.2.0"
+ "minimist": "^1.2.0"
},
"dependencies": {
"minimist": {
@@ -1169,15 +1238,15 @@
"dev": true,
"requires": {
"bytes": "3.0.0",
- "content-type": "1.0.4",
+ "content-type": "~1.0.4",
"debug": "2.6.9",
- "depd": "1.1.2",
- "http-errors": "1.6.3",
+ "depd": "~1.1.2",
+ "http-errors": "~1.6.3",
"iconv-lite": "0.4.23",
- "on-finished": "2.3.0",
+ "on-finished": "~2.3.0",
"qs": "6.5.2",
"raw-body": "2.3.3",
- "type-is": "1.6.16"
+ "type-is": "~1.6.16"
},
"dependencies": {
"qs": {
@@ -1194,12 +1263,12 @@
"integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
"dev": true,
"requires": {
- "array-flatten": "2.1.1",
- "deep-equal": "1.0.1",
- "dns-equal": "1.0.0",
- "dns-txt": "2.0.2",
- "multicast-dns": "6.2.3",
- "multicast-dns-service-types": "1.1.0"
+ "array-flatten": "^2.1.0",
+ "deep-equal": "^1.0.1",
+ "dns-equal": "^1.0.0",
+ "dns-txt": "^2.0.2",
+ "multicast-dns": "^6.0.1",
+ "multicast-dns-service-types": "^1.1.0"
}
},
"boolbase": {
@@ -1213,8 +1282,91 @@
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
+ "optional": true,
"requires": {
- "hoek": "2.16.3"
+ "hoek": "2.x.x"
+ }
+ },
+ "boxen": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npm.taobao.org/boxen/download/boxen-3.2.0.tgz",
+ "integrity": "sha1-+9/w3pNjarRFCIa2/0W5LQmPRes=",
+ "dev": true,
+ "requires": {
+ "ansi-align": "^3.0.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^2.4.2",
+ "cli-boxes": "^2.2.0",
+ "string-width": "^3.0.0",
+ "term-size": "^1.2.0",
+ "type-fest": "^0.3.0",
+ "widest-line": "^2.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz",
+ "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz",
+ "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"brace-expansion": {
@@ -1223,7 +1375,7 @@
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
- "balanced-match": "1.0.0",
+ "balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
@@ -1233,9 +1385,9 @@
"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
"dev": true,
"requires": {
- "expand-range": "1.8.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.3"
+ "expand-range": "^1.8.1",
+ "preserve": "^0.2.0",
+ "repeat-element": "^1.1.2"
}
},
"brorand": {
@@ -1250,12 +1402,12 @@
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"dev": true,
"requires": {
- "buffer-xor": "1.0.3",
- "cipher-base": "1.0.4",
- "create-hash": "1.2.0",
- "evp_bytestokey": "1.0.3",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
}
},
"browserify-cipher": {
@@ -1264,9 +1416,9 @@
"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
"dev": true,
"requires": {
- "browserify-aes": "1.2.0",
- "browserify-des": "1.0.2",
- "evp_bytestokey": "1.0.3"
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
}
},
"browserify-des": {
@@ -1275,10 +1427,10 @@
"integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
"dev": true,
"requires": {
- "cipher-base": "1.0.4",
- "des.js": "1.0.0",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"browserify-rsa": {
@@ -1287,8 +1439,8 @@
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "randombytes": "2.0.6"
+ "bn.js": "^4.1.0",
+ "randombytes": "^2.0.1"
}
},
"browserify-sign": {
@@ -1297,13 +1449,13 @@
"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "browserify-rsa": "4.0.1",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "elliptic": "6.4.1",
- "inherits": "2.0.3",
- "parse-asn1": "5.1.1"
+ "bn.js": "^4.1.1",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.2",
+ "elliptic": "^6.0.0",
+ "inherits": "^2.0.1",
+ "parse-asn1": "^5.0.0"
}
},
"browserify-zlib": {
@@ -1312,7 +1464,7 @@
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"dev": true,
"requires": {
- "pako": "1.0.6"
+ "pako": "~1.0.5"
}
},
"browserslist": {
@@ -1321,8 +1473,8 @@
"integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
"dev": true,
"requires": {
- "caniuse-lite": "1.0.30000893",
- "electron-to-chromium": "1.3.80"
+ "caniuse-lite": "^1.0.30000792",
+ "electron-to-chromium": "^1.3.30"
}
},
"buffer": {
@@ -1331,9 +1483,9 @@
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"dev": true,
"requires": {
- "base64-js": "1.3.0",
- "ieee754": "1.1.12",
- "isarray": "1.0.0"
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
}
},
"buffer-alloc": {
@@ -1342,8 +1494,8 @@
"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
"dev": true,
"requires": {
- "buffer-alloc-unsafe": "1.1.0",
- "buffer-fill": "1.0.0"
+ "buffer-alloc-unsafe": "^1.1.0",
+ "buffer-fill": "^1.0.0"
}
},
"buffer-alloc-unsafe": {
@@ -1374,7 +1526,8 @@
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz",
"integrity": "sha1-JrOIXRD6E9t/wBquOquHAZngEkw=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"buffer-xor": {
"version": "1.0.3",
@@ -1431,19 +1584,19 @@
"integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
"dev": true,
"requires": {
- "bluebird": "3.5.2",
- "chownr": "1.1.1",
- "glob": "7.1.3",
- "graceful-fs": "4.1.11",
- "lru-cache": "4.1.3",
- "mississippi": "2.0.0",
- "mkdirp": "0.5.1",
- "move-concurrently": "1.0.1",
- "promise-inflight": "1.0.1",
- "rimraf": "2.6.2",
- "ssri": "5.3.0",
- "unique-filename": "1.1.1",
- "y18n": "4.0.0"
+ "bluebird": "^3.5.1",
+ "chownr": "^1.0.1",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.1.11",
+ "lru-cache": "^4.1.1",
+ "mississippi": "^2.0.0",
+ "mkdirp": "^0.5.1",
+ "move-concurrently": "^1.0.1",
+ "promise-inflight": "^1.0.1",
+ "rimraf": "^2.6.2",
+ "ssri": "^5.2.4",
+ "unique-filename": "^1.1.0",
+ "y18n": "^4.0.0"
}
},
"cache-base": {
@@ -1452,15 +1605,15 @@
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"requires": {
- "collection-visit": "1.0.0",
- "component-emitter": "1.2.1",
- "get-value": "2.0.6",
- "has-value": "1.0.0",
- "isobject": "3.0.1",
- "set-value": "2.0.0",
- "to-object-path": "0.3.0",
- "union-value": "1.0.0",
- "unset-value": "1.0.0"
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
},
"dependencies": {
"isobject": {
@@ -1477,10 +1630,52 @@
"integrity": "sha512-rsGh4SIYyB9glU+d0OcHwiXHXBoUgDhHZaQ1KAbiXqfz1CDPxtTboh1gPbJ0q2qdO8a9lfcjgC5CJ2Ms32y5bw==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "mkdirp": "0.5.1",
- "neo-async": "2.6.0",
- "schema-utils": "0.4.7"
+ "loader-utils": "^1.1.0",
+ "mkdirp": "^0.5.1",
+ "neo-async": "^2.5.0",
+ "schema-utils": "^0.4.2"
+ }
+ },
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz",
+ "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz",
+ "integrity": "sha1-ASA83JJZf5uQkGfD5lbMH008Tck=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
+ "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ }
}
},
"callsite": {
@@ -1495,8 +1690,8 @@
"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
"dev": true,
"requires": {
- "no-case": "2.3.2",
- "upper-case": "1.1.3"
+ "no-case": "^2.2.0",
+ "upper-case": "^1.1.1"
}
},
"camelcase": {
@@ -1511,8 +1706,8 @@
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
- "camelcase": "2.1.1",
- "map-obj": "1.0.1"
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
}
},
"caniuse-lite": {
@@ -1533,8 +1728,8 @@
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
"requires": {
- "align-text": "0.1.4",
- "lazy-cache": "1.0.4"
+ "align-text": "^0.1.3",
+ "lazy-cache": "^1.0.3"
}
},
"chalk": {
@@ -1543,9 +1738,9 @@
"integrity": "sha512-LvixLAQ4MYhbf7hgL4o5PeK32gJKvVzDRiSNIApDofQvyhl8adgG2lJVXn4+ekQoK7HL9RF8lqxwerpe0x2pCw==",
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "4.5.0"
+ "ansi-styles": "^3.1.0",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^4.0.0"
}
},
"chokidar": {
@@ -1554,15 +1749,15 @@
"integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
"dev": true,
"requires": {
- "anymatch": "1.3.2",
- "async-each": "1.0.1",
- "fsevents": "1.2.4",
- "glob-parent": "2.0.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "2.0.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.2.1"
+ "anymatch": "^1.3.0",
+ "async-each": "^1.0.0",
+ "fsevents": "^1.0.0",
+ "glob-parent": "^2.0.0",
+ "inherits": "^2.0.1",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^2.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.0.0"
}
},
"chownr": {
@@ -1571,14 +1766,20 @@
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
"dev": true
},
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz",
+ "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y=",
+ "dev": true
+ },
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
}
},
"circular-dependency-plugin": {
@@ -1599,10 +1800,10 @@
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
"requires": {
- "arr-union": "3.1.0",
- "define-property": "0.2.5",
- "isobject": "3.0.1",
- "static-extend": "0.1.2"
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
},
"dependencies": {
"define-property": {
@@ -1611,7 +1812,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
},
"isobject": {
@@ -1628,7 +1829,7 @@
"integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
"dev": true,
"requires": {
- "source-map": "0.6.1"
+ "source-map": "~0.6.0"
},
"dependencies": {
"source-map": {
@@ -1639,15 +1840,21 @@
}
}
},
+ "cli-boxes": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/cli-boxes/download/cli-boxes-2.2.0.tgz",
+ "integrity": "sha1-U47K6PnGylCOPDyVtFP+k8tMFo0=",
+ "dev": true
+ },
"cliui": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
}
},
"clone": {
@@ -1662,10 +1869,10 @@
"integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
"dev": true,
"requires": {
- "for-own": "1.0.0",
- "is-plain-object": "2.0.4",
- "kind-of": "6.0.2",
- "shallow-clone": "1.0.0"
+ "for-own": "^1.0.0",
+ "is-plain-object": "^2.0.4",
+ "kind-of": "^6.0.0",
+ "shallow-clone": "^1.0.0"
},
"dependencies": {
"for-own": {
@@ -1674,7 +1881,7 @@
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
"dev": true,
"requires": {
- "for-in": "1.0.2"
+ "for-in": "^1.0.1"
}
},
"kind-of": {
@@ -1685,6 +1892,15 @@
}
}
},
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -1703,12 +1919,12 @@
"integrity": "sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ==",
"dev": true,
"requires": {
- "app-root-path": "2.1.0",
- "css-selector-tokenizer": "0.7.0",
- "cssauron": "1.4.0",
- "semver-dsl": "1.0.1",
- "source-map": "0.5.7",
- "sprintf-js": "1.1.1"
+ "app-root-path": "^2.1.0",
+ "css-selector-tokenizer": "^0.7.0",
+ "cssauron": "^1.4.0",
+ "semver-dsl": "^1.0.1",
+ "source-map": "^0.5.7",
+ "sprintf-js": "^1.1.1"
},
"dependencies": {
"sprintf-js": {
@@ -1725,8 +1941,8 @@
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
"requires": {
- "map-visit": "1.0.0",
- "object-visit": "1.0.1"
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
}
},
"color-convert": {
@@ -1756,7 +1972,7 @@
"integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
"dev": true,
"requires": {
- "lodash": "4.17.11"
+ "lodash": "^4.5.0"
}
},
"combined-stream": {
@@ -1765,7 +1981,7 @@
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
"dev": true,
"requires": {
- "delayed-stream": "1.0.0"
+ "delayed-stream": "~1.0.0"
}
},
"commander": {
@@ -1810,7 +2026,7 @@
"integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==",
"dev": true,
"requires": {
- "mime-db": "1.37.0"
+ "mime-db": ">= 1.36.0 < 2"
}
},
"compression": {
@@ -1819,13 +2035,13 @@
"integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
"dev": true,
"requires": {
- "accepts": "1.3.5",
+ "accepts": "~1.3.5",
"bytes": "3.0.0",
- "compressible": "2.0.15",
+ "compressible": "~2.0.14",
"debug": "2.6.9",
- "on-headers": "1.0.1",
+ "on-headers": "~1.0.1",
"safe-buffer": "5.1.2",
- "vary": "1.1.2"
+ "vary": "~1.1.2"
}
},
"concat-map": {
@@ -1840,10 +2056,24 @@
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"dev": true,
"requires": {
- "buffer-from": "1.1.1",
- "inherits": "2.0.3",
- "readable-stream": "2.3.6",
- "typedarray": "0.0.6"
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "configstore": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/configstore/download/configstore-4.0.0.tgz",
+ "integrity": "sha1-WTMxHpXTaH77WSxSi5ItkmLSJ+c=",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^4.1.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^1.0.0",
+ "unique-string": "^1.0.0",
+ "write-file-atomic": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
}
},
"connect": {
@@ -1854,7 +2084,7 @@
"requires": {
"debug": "2.6.9",
"finalhandler": "1.1.0",
- "parseurl": "1.3.2",
+ "parseurl": "~1.3.2",
"utils-merge": "1.0.1"
},
"dependencies": {
@@ -1865,12 +2095,12 @@
"dev": true,
"requires": {
"debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.3.1",
- "unpipe": "1.0.0"
+ "encodeurl": "~1.0.1",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "statuses": "~1.3.1",
+ "unpipe": "~1.0.0"
}
},
"statuses": {
@@ -1887,20 +2117,27 @@
"integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
"dev": true
},
+ "connect-pause": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/connect-pause/download/connect-pause-0.1.1.tgz",
+ "integrity": "sha1-smmyu4Ldsaw9tQmcD7WCq6mfs3o=",
+ "dev": true
+ },
"console-browserify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
"dev": true,
"requires": {
- "date-now": "0.1.4"
+ "date-now": "^0.1.4"
}
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"constants-browserify": {
"version": "1.0.0",
@@ -1926,7 +2163,7 @@
"integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "~5.1.1"
}
},
"cookie": {
@@ -1947,12 +2184,12 @@
"integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
"dev": true,
"requires": {
- "aproba": "1.2.0",
- "fs-write-stream-atomic": "1.0.10",
- "iferr": "0.1.5",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "run-queue": "1.0.3"
+ "aproba": "^1.1.1",
+ "fs-write-stream-atomic": "^1.0.8",
+ "iferr": "^0.1.5",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.0"
}
},
"copy-descriptor": {
@@ -1967,14 +2204,14 @@
"integrity": "sha512-v4THQ24Tks2NkyOvZuFDgZVfDD9YaA9rwYLZTrWg2GHIA8lrH5DboEyeoorh5Skki+PUbgSmnsCwhMWqYrQZrA==",
"dev": true,
"requires": {
- "cacache": "10.0.4",
- "find-cache-dir": "1.0.0",
- "globby": "7.1.1",
- "is-glob": "4.0.0",
- "loader-utils": "1.1.0",
- "minimatch": "3.0.4",
- "p-limit": "1.3.0",
- "serialize-javascript": "1.5.0"
+ "cacache": "^10.0.1",
+ "find-cache-dir": "^1.0.0",
+ "globby": "^7.1.1",
+ "is-glob": "^4.0.0",
+ "loader-utils": "^1.1.0",
+ "minimatch": "^3.0.4",
+ "p-limit": "^1.0.0",
+ "serialize-javascript": "^1.4.0"
},
"dependencies": {
"is-extglob": {
@@ -1989,7 +2226,7 @@
"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.1"
}
}
}
@@ -2005,7 +2242,7 @@
"integrity": "sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==",
"dev": true,
"requires": {
- "chalk": "2.2.2"
+ "chalk": "^2.0.0"
}
},
"core-util-is": {
@@ -2014,16 +2251,26 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz",
+ "integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
"cosmiconfig": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
"integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
"dev": true,
"requires": {
- "is-directory": "0.3.1",
- "js-yaml": "3.12.0",
- "parse-json": "4.0.0",
- "require-from-string": "2.0.2"
+ "is-directory": "^0.3.1",
+ "js-yaml": "^3.9.0",
+ "parse-json": "^4.0.0",
+ "require-from-string": "^2.0.1"
},
"dependencies": {
"parse-json": {
@@ -2032,8 +2279,8 @@
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true,
"requires": {
- "error-ex": "1.3.2",
- "json-parse-better-errors": "1.0.2"
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
}
}
}
@@ -2044,8 +2291,8 @@
"integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "elliptic": "6.4.1"
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.0.0"
}
},
"create-hash": {
@@ -2054,11 +2301,11 @@
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"dev": true,
"requires": {
- "cipher-base": "1.0.4",
- "inherits": "2.0.3",
- "md5.js": "1.3.5",
- "ripemd160": "2.0.2",
- "sha.js": "2.4.11"
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
}
},
"create-hmac": {
@@ -2067,12 +2314,12 @@
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"dev": true,
"requires": {
- "cipher-base": "1.0.4",
- "create-hash": "1.2.0",
- "inherits": "2.0.3",
- "ripemd160": "2.0.2",
- "safe-buffer": "5.1.2",
- "sha.js": "2.4.11"
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
}
},
"cross-spawn": {
@@ -2082,8 +2329,8 @@
"dev": true,
"optional": true,
"requires": {
- "lru-cache": "4.1.3",
- "which": "1.3.1"
+ "lru-cache": "^4.0.1",
+ "which": "^1.2.9"
}
},
"cryptiles": {
@@ -2093,7 +2340,7 @@
"dev": true,
"optional": true,
"requires": {
- "boom": "2.10.1"
+ "boom": "2.x.x"
}
},
"crypto-browserify": {
@@ -2102,19 +2349,25 @@
"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
"dev": true,
"requires": {
- "browserify-cipher": "1.0.1",
- "browserify-sign": "4.0.4",
- "create-ecdh": "4.0.3",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "diffie-hellman": "5.0.3",
- "inherits": "2.0.3",
- "pbkdf2": "3.0.17",
- "public-encrypt": "4.0.3",
- "randombytes": "2.0.6",
- "randomfill": "1.0.4"
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
}
},
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/crypto-random-string/download/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
"css-parse": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
@@ -2127,10 +2380,10 @@
"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
"dev": true,
"requires": {
- "boolbase": "1.0.0",
- "css-what": "2.1.2",
+ "boolbase": "~1.0.0",
+ "css-what": "2.1",
"domutils": "1.5.1",
- "nth-check": "1.0.2"
+ "nth-check": "~1.0.1"
}
},
"css-selector-tokenizer": {
@@ -2139,9 +2392,9 @@
"integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
"dev": true,
"requires": {
- "cssesc": "0.1.0",
- "fastparse": "1.1.1",
- "regexpu-core": "1.0.0"
+ "cssesc": "^0.1.0",
+ "fastparse": "^1.1.1",
+ "regexpu-core": "^1.0.0"
}
},
"css-what": {
@@ -2156,7 +2409,7 @@
"integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=",
"dev": true,
"requires": {
- "through": "2.3.8"
+ "through": "X.X.X"
}
},
"cssesc": {
@@ -2177,7 +2430,7 @@
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
"requires": {
- "array-find-index": "1.0.2"
+ "array-find-index": "^1.0.1"
}
},
"custom-event": {
@@ -2198,7 +2451,7 @@
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"dev": true,
"requires": {
- "es5-ext": "0.10.46"
+ "es5-ext": "^0.10.9"
}
},
"d3": {
@@ -2212,7 +2465,7 @@
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
@@ -2268,12 +2521,27 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
"dev": true
},
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "http://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz",
+ "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=",
+ "dev": true
+ },
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
@@ -2287,16 +2555,22 @@
"integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
"dev": true,
"requires": {
- "strip-bom": "2.0.0"
+ "strip-bom": "^2.0.0"
}
},
+ "defer-to-connect": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.0.2.tgz",
+ "integrity": "sha1-S651ijFLA0rjOQK1qsJajdaoYz4=",
+ "dev": true
+ },
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": {
- "object-keys": "1.0.12"
+ "object-keys": "^1.0.12"
}
},
"define-property": {
@@ -2305,8 +2579,8 @@
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2",
- "isobject": "3.0.1"
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
},
"dependencies": {
"is-accessor-descriptor": {
@@ -2315,7 +2589,7 @@
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
@@ -2324,7 +2598,7 @@
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
@@ -2333,9 +2607,9 @@
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"isobject": {
@@ -2359,9 +2633,9 @@
"dev": true,
"optional": true,
"requires": {
- "ast-types": "0.11.6",
- "escodegen": "1.11.0",
- "esprima": "3.1.3"
+ "ast-types": "0.x.x",
+ "escodegen": "1.x.x",
+ "esprima": "3.x.x"
},
"dependencies": {
"esprima": {
@@ -2379,12 +2653,12 @@
"integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
"dev": true,
"requires": {
- "globby": "6.1.0",
- "is-path-cwd": "1.0.0",
- "is-path-in-cwd": "1.0.1",
- "p-map": "1.2.0",
- "pify": "3.0.0",
- "rimraf": "2.6.2"
+ "globby": "^6.1.0",
+ "is-path-cwd": "^1.0.0",
+ "is-path-in-cwd": "^1.0.0",
+ "p-map": "^1.1.1",
+ "pify": "^3.0.0",
+ "rimraf": "^2.2.8"
},
"dependencies": {
"globby": {
@@ -2393,11 +2667,11 @@
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"dev": true,
"requires": {
- "array-union": "1.0.2",
- "glob": "7.1.3",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "array-union": "^1.0.1",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
},
"dependencies": {
"pify": {
@@ -2420,7 +2694,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"denodeify": {
"version": "1.2.1",
@@ -2440,8 +2715,8 @@
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
}
},
"destroy": {
@@ -2456,7 +2731,7 @@
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
"dev": true,
"requires": {
- "repeating": "2.0.1"
+ "repeating": "^2.0.0"
}
},
"detect-node": {
@@ -2483,9 +2758,9 @@
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "miller-rabin": "4.0.1",
- "randombytes": "2.0.6"
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
}
},
"dir-glob": {
@@ -2494,8 +2769,8 @@
"integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
"dev": true,
"requires": {
- "arrify": "1.0.1",
- "path-type": "3.0.0"
+ "arrify": "^1.0.1",
+ "path-type": "^3.0.0"
}
},
"dns-equal": {
@@ -2510,8 +2785,8 @@
"integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
"dev": true,
"requires": {
- "ip": "1.1.5",
- "safe-buffer": "5.1.2"
+ "ip": "^1.1.0",
+ "safe-buffer": "^5.0.1"
}
},
"dns-txt": {
@@ -2520,7 +2795,7 @@
"integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
"dev": true,
"requires": {
- "buffer-indexof": "1.1.1"
+ "buffer-indexof": "^1.0.0"
}
},
"dom-converter": {
@@ -2529,7 +2804,7 @@
"integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
"dev": true,
"requires": {
- "utila": "0.4.0"
+ "utila": "~0.4"
}
},
"dom-serialize": {
@@ -2538,10 +2813,10 @@
"integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
"dev": true,
"requires": {
- "custom-event": "1.0.1",
- "ent": "2.2.0",
- "extend": "3.0.2",
- "void-elements": "2.0.1"
+ "custom-event": "~1.0.0",
+ "ent": "~2.2.0",
+ "extend": "^3.0.0",
+ "void-elements": "^2.0.0"
}
},
"dom-serializer": {
@@ -2550,8 +2825,8 @@
"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
"dev": true,
"requires": {
- "domelementtype": "1.1.3",
- "entities": "1.1.2"
+ "domelementtype": "~1.1.1",
+ "entities": "~1.1.1"
},
"dependencies": {
"domelementtype": {
@@ -2580,7 +2855,7 @@
"integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=",
"dev": true,
"requires": {
- "domelementtype": "1.2.1"
+ "domelementtype": "1"
}
},
"domutils": {
@@ -2589,8 +2864,17 @@
"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
"dev": true,
"requires": {
- "dom-serializer": "0.1.0",
- "domelementtype": "1.2.1"
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "dot-prop": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-4.2.0.tgz",
+ "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "dev": true,
+ "requires": {
+ "is-obj": "^1.0.0"
}
},
"double-ended-queue": {
@@ -2600,16 +2884,22 @@
"dev": true,
"optional": true
},
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "http://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
"duplexify": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz",
"integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==",
"dev": true,
"requires": {
- "end-of-stream": "1.4.1",
- "inherits": "2.0.3",
- "readable-stream": "2.3.6",
- "stream-shift": "1.0.0"
+ "end-of-stream": "^1.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0",
+ "stream-shift": "^1.0.0"
}
},
"ecc-jsbn": {
@@ -2618,8 +2908,8 @@
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
"dev": true,
"requires": {
- "jsbn": "0.1.1",
- "safer-buffer": "2.1.2"
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
}
},
"echarts": {
@@ -2654,13 +2944,13 @@
"integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0",
- "hash.js": "1.1.5",
- "hmac-drbg": "1.0.1",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1",
- "minimalistic-crypto-utils": "1.0.1"
+ "bn.js": "^4.4.0",
+ "brorand": "^1.0.1",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.0"
}
},
"ember-cli-string-utils": {
@@ -2669,6 +2959,12 @@
"integrity": "sha1-ObZ3/CgF9VFzc1N2/O8njqpEUqE=",
"dev": true
},
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "http://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz",
+ "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
+ "dev": true
+ },
"emojis-list": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
@@ -2687,7 +2983,7 @@
"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
"dev": true,
"requires": {
- "once": "1.4.0"
+ "once": "^1.4.0"
}
},
"engine.io": {
@@ -2696,13 +2992,13 @@
"integrity": "sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==",
"dev": true,
"requires": {
- "accepts": "1.3.5",
+ "accepts": "~1.3.4",
"base64id": "1.0.0",
"cookie": "0.3.1",
- "debug": "3.1.0",
- "engine.io-parser": "2.1.2",
- "uws": "9.14.0",
- "ws": "3.3.3"
+ "debug": "~3.1.0",
+ "engine.io-parser": "~2.1.0",
+ "uws": "~9.14.0",
+ "ws": "~3.3.1"
},
"dependencies": {
"debug": {
@@ -2724,14 +3020,14 @@
"requires": {
"component-emitter": "1.2.1",
"component-inherit": "0.0.3",
- "debug": "3.1.0",
- "engine.io-parser": "2.1.2",
+ "debug": "~3.1.0",
+ "engine.io-parser": "~2.1.1",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "ws": "3.3.3",
- "xmlhttprequest-ssl": "1.5.5",
+ "ws": "~3.3.1",
+ "xmlhttprequest-ssl": "~1.5.4",
"yeast": "0.1.2"
},
"dependencies": {
@@ -2753,10 +3049,10 @@
"dev": true,
"requires": {
"after": "0.8.2",
- "arraybuffer.slice": "0.0.7",
+ "arraybuffer.slice": "~0.0.7",
"base64-arraybuffer": "0.1.5",
"blob": "0.0.4",
- "has-binary2": "1.0.3"
+ "has-binary2": "~1.0.2"
}
},
"enhanced-resolve": {
@@ -2765,10 +3061,10 @@
"integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "memory-fs": "0.4.1",
- "object-assign": "4.1.1",
- "tapable": "0.2.8"
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.4.0",
+ "object-assign": "^4.0.1",
+ "tapable": "^0.2.7"
}
},
"ent": {
@@ -2789,7 +3085,7 @@
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
"dev": true,
"requires": {
- "prr": "1.0.1"
+ "prr": "~1.0.1"
}
},
"error-ex": {
@@ -2798,7 +3094,50 @@
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
"requires": {
- "is-arrayish": "0.2.1"
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "errorhandler": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npm.taobao.org/errorhandler/download/errorhandler-1.5.1.tgz",
+ "integrity": "sha1-ubpdF8+QdEzR6FE1em51v4BqmpE=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.7",
+ "escape-html": "~1.0.3"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
+ "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
+ "dev": true,
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "mime-db": {
+ "version": "1.40.0",
+ "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz",
+ "integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.24",
+ "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz",
+ "integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.40.0"
+ }
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
+ "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
+ "dev": true
+ }
}
},
"es-abstract": {
@@ -2807,11 +3146,11 @@
"integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
"dev": true,
"requires": {
- "es-to-primitive": "1.2.0",
- "function-bind": "1.1.1",
- "has": "1.0.3",
- "is-callable": "1.1.4",
- "is-regex": "1.0.4"
+ "es-to-primitive": "^1.1.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.1",
+ "is-callable": "^1.1.3",
+ "is-regex": "^1.0.4"
}
},
"es-to-primitive": {
@@ -2820,9 +3159,9 @@
"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
"dev": true,
"requires": {
- "is-callable": "1.1.4",
- "is-date-object": "1.0.1",
- "is-symbol": "1.0.2"
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
}
},
"es5-ext": {
@@ -2831,9 +3170,9 @@
"integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
"dev": true,
"requires": {
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1",
- "next-tick": "1.0.0"
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.1",
+ "next-tick": "1"
}
},
"es6-iterator": {
@@ -2842,9 +3181,9 @@
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"dev": true,
"requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-symbol": "3.1.1"
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
}
},
"es6-map": {
@@ -2853,27 +3192,29 @@
"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
"dev": true,
"requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-iterator": "2.0.3",
- "es6-set": "0.1.5",
- "es6-symbol": "3.1.1",
- "event-emitter": "0.3.5"
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-set": "~0.1.5",
+ "es6-symbol": "~3.1.1",
+ "event-emitter": "~0.3.5"
}
},
"es6-promise": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
"integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"es6-promisify": {
"version": "5.0.0",
"resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
"dev": true,
+ "optional": true,
"requires": {
- "es6-promise": "4.2.5"
+ "es6-promise": "^4.0.3"
}
},
"es6-set": {
@@ -2882,11 +3223,11 @@
"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
"dev": true,
"requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-iterator": "2.0.3",
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
"es6-symbol": "3.1.1",
- "event-emitter": "0.3.5"
+ "event-emitter": "~0.3.5"
}
},
"es6-symbol": {
@@ -2895,8 +3236,8 @@
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
"dev": true,
"requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46"
+ "d": "1",
+ "es5-ext": "~0.10.14"
}
},
"es6-weak-map": {
@@ -2905,10 +3246,10 @@
"integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
"dev": true,
"requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1"
+ "d": "1",
+ "es5-ext": "^0.10.14",
+ "es6-iterator": "^2.0.1",
+ "es6-symbol": "^3.1.1"
}
},
"escape-html": {
@@ -2930,11 +3271,11 @@
"dev": true,
"optional": true,
"requires": {
- "esprima": "3.1.3",
- "estraverse": "4.2.0",
- "esutils": "2.0.2",
- "optionator": "0.8.2",
- "source-map": "0.6.1"
+ "esprima": "^3.1.3",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
},
"dependencies": {
"esprima": {
@@ -2959,10 +3300,10 @@
"integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
"dev": true,
"requires": {
- "es6-map": "0.1.5",
- "es6-weak-map": "2.0.2",
- "esrecurse": "4.2.1",
- "estraverse": "4.2.0"
+ "es6-map": "^0.1.3",
+ "es6-weak-map": "^2.0.1",
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
}
},
"esprima": {
@@ -2977,7 +3318,7 @@
"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
"dev": true,
"requires": {
- "estraverse": "4.2.0"
+ "estraverse": "^4.1.0"
}
},
"estraverse": {
@@ -3004,8 +3345,8 @@
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
"dev": true,
"requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46"
+ "d": "1",
+ "es5-ext": "~0.10.14"
}
},
"eventemitter3": {
@@ -3026,7 +3367,7 @@
"integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
"dev": true,
"requires": {
- "original": "1.0.2"
+ "original": ">=0.0.5"
}
},
"evp_bytestokey": {
@@ -3035,8 +3376,8 @@
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"dev": true,
"requires": {
- "md5.js": "1.3.5",
- "safe-buffer": "5.1.2"
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
}
},
"execa": {
@@ -3045,13 +3386,13 @@
"integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"dev": true,
"requires": {
- "cross-spawn": "5.1.0",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
+ "cross-spawn": "^5.0.1",
+ "get-stream": "^3.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
},
"dependencies": {
"cross-spawn": {
@@ -3060,9 +3401,9 @@
"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
"requires": {
- "lru-cache": "4.1.3",
- "shebang-command": "1.2.0",
- "which": "1.3.1"
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
}
}
}
@@ -3079,9 +3420,9 @@
"integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
"dev": true,
"requires": {
- "array-slice": "0.2.3",
- "array-unique": "0.2.1",
- "braces": "0.1.5"
+ "array-slice": "^0.2.3",
+ "array-unique": "^0.2.1",
+ "braces": "^0.1.2"
},
"dependencies": {
"braces": {
@@ -3090,7 +3431,7 @@
"integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
"dev": true,
"requires": {
- "expand-range": "0.1.1"
+ "expand-range": "^0.1.0"
}
},
"expand-range": {
@@ -3099,8 +3440,8 @@
"integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
"dev": true,
"requires": {
- "is-number": "0.1.1",
- "repeat-string": "0.2.2"
+ "is-number": "^0.1.1",
+ "repeat-string": "^0.2.2"
}
},
"is-number": {
@@ -3123,7 +3464,7 @@
"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
"dev": true,
"requires": {
- "is-posix-bracket": "0.1.1"
+ "is-posix-bracket": "^0.1.0"
}
},
"expand-range": {
@@ -3132,7 +3473,7 @@
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
"dev": true,
"requires": {
- "fill-range": "2.2.4"
+ "fill-range": "^2.1.0"
}
},
"express": {
@@ -3141,36 +3482,36 @@
"integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
"dev": true,
"requires": {
- "accepts": "1.3.5",
+ "accepts": "~1.3.5",
"array-flatten": "1.1.1",
"body-parser": "1.18.3",
"content-disposition": "0.5.2",
- "content-type": "1.0.4",
+ "content-type": "~1.0.4",
"cookie": "0.3.1",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
- "depd": "1.1.2",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
"finalhandler": "1.1.1",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
- "methods": "1.1.2",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
"path-to-regexp": "0.1.7",
- "proxy-addr": "2.0.4",
+ "proxy-addr": "~2.0.4",
"qs": "6.5.2",
- "range-parser": "1.2.0",
+ "range-parser": "~1.2.0",
"safe-buffer": "5.1.2",
"send": "0.16.2",
"serve-static": "1.13.2",
"setprototypeof": "1.1.0",
- "statuses": "1.4.0",
- "type-is": "1.6.16",
+ "statuses": "~1.4.0",
+ "type-is": "~1.6.16",
"utils-merge": "1.0.1",
- "vary": "1.1.2"
+ "vary": "~1.1.2"
},
"dependencies": {
"array-flatten": {
@@ -3187,6 +3528,33 @@
}
}
},
+ "express-urlrewrite": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/express-urlrewrite/download/express-urlrewrite-1.2.0.tgz",
+ "integrity": "sha1-jmZ7d2H/HH/9sO+gXWQDU4fII+s=",
+ "dev": true,
+ "requires": {
+ "debug": "*",
+ "path-to-regexp": "^1.0.3"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz?cache=0&sync_timestamp=1562592125418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fisarray%2Fdownload%2Fisarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "1.7.0",
+ "resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.7.0.tgz",
+ "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
@@ -3199,8 +3567,8 @@
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
@@ -3209,7 +3577,7 @@
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
- "is-plain-object": "2.0.4"
+ "is-plain-object": "^2.0.4"
}
}
}
@@ -3220,7 +3588,7 @@
"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "^1.0.0"
}
},
"extract-text-webpack-plugin": {
@@ -3229,10 +3597,10 @@
"integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==",
"dev": true,
"requires": {
- "async": "2.6.1",
- "loader-utils": "1.1.0",
- "schema-utils": "0.3.0",
- "webpack-sources": "1.3.0"
+ "async": "^2.4.1",
+ "loader-utils": "^1.1.0",
+ "schema-utils": "^0.3.0",
+ "webpack-sources": "^1.0.1"
},
"dependencies": {
"ajv": {
@@ -3241,10 +3609,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"schema-utils": {
@@ -3253,7 +3621,7 @@
"integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
"requires": {
- "ajv": "5.5.2"
+ "ajv": "^5.0.0"
}
}
}
@@ -3264,6 +3632,11 @@
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
+ "faker": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/faker/download/faker-4.1.0.tgz",
+ "integrity": "sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8="
+ },
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
@@ -3295,7 +3668,7 @@
"integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
"dev": true,
"requires": {
- "websocket-driver": "0.7.0"
+ "websocket-driver": ">=0.5.1"
}
},
"file-loader": {
@@ -3304,8 +3677,8 @@
"integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "schema-utils": "0.4.7"
+ "loader-utils": "^1.0.2",
+ "schema-utils": "^0.4.5"
}
},
"file-uri-to-path": {
@@ -3327,8 +3700,8 @@
"integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
"dev": true,
"requires": {
- "glob": "7.1.3",
- "minimatch": "3.0.4"
+ "glob": "^7.0.3",
+ "minimatch": "^3.0.3"
}
},
"fill-range": {
@@ -3337,11 +3710,11 @@
"integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
"dev": true,
"requires": {
- "is-number": "2.1.0",
- "isobject": "2.1.0",
- "randomatic": "3.1.0",
- "repeat-element": "1.1.3",
- "repeat-string": "1.6.1"
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
}
},
"finalhandler": {
@@ -3351,12 +3724,12 @@
"dev": true,
"requires": {
"debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.4.0",
- "unpipe": "1.0.0"
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.2",
+ "statuses": "~1.4.0",
+ "unpipe": "~1.0.0"
}
},
"find-cache-dir": {
@@ -3365,9 +3738,9 @@
"integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
"dev": true,
"requires": {
- "commondir": "1.0.1",
- "make-dir": "1.3.0",
- "pkg-dir": "2.0.0"
+ "commondir": "^1.0.1",
+ "make-dir": "^1.0.0",
+ "pkg-dir": "^2.0.0"
}
},
"find-up": {
@@ -3376,7 +3749,7 @@
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"requires": {
- "locate-path": "2.0.0"
+ "locate-path": "^2.0.0"
}
},
"flush-write-stream": {
@@ -3385,8 +3758,8 @@
"integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.6"
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.4"
}
},
"follow-redirects": {
@@ -3395,7 +3768,7 @@
"integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==",
"dev": true,
"requires": {
- "debug": "3.1.0"
+ "debug": "=3.1.0"
},
"dependencies": {
"debug": {
@@ -3421,7 +3794,7 @@
"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
"dev": true,
"requires": {
- "for-in": "1.0.2"
+ "for-in": "^1.0.1"
}
},
"forever-agent": {
@@ -3437,9 +3810,9 @@
"dev": true,
"optional": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.5",
+ "mime-types": "^2.1.12"
}
},
"forwarded": {
@@ -3454,7 +3827,7 @@
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"dev": true,
"requires": {
- "map-cache": "0.2.2"
+ "map-cache": "^0.2.2"
}
},
"fresh": {
@@ -3469,8 +3842,8 @@
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.6"
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
}
},
"fs-access": {
@@ -3479,7 +3852,7 @@
"integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
"dev": true,
"requires": {
- "null-check": "1.0.0"
+ "null-check": "^1.0.0"
}
},
"fs-extra": {
@@ -3488,9 +3861,9 @@
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "jsonfile": "4.0.0",
- "universalify": "0.1.2"
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
}
},
"fs-write-stream-atomic": {
@@ -3499,10 +3872,10 @@
"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "iferr": "0.1.5",
- "imurmurhash": "0.1.4",
- "readable-stream": "2.3.6"
+ "graceful-fs": "^4.1.2",
+ "iferr": "^0.1.5",
+ "imurmurhash": "^0.1.4",
+ "readable-stream": "1 || 2"
}
},
"fs.realpath": {
@@ -3512,14 +3885,14 @@
"dev": true
},
"fsevents": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
- "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+ "version": "1.2.9",
+ "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.9.tgz",
+ "integrity": "sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=",
"dev": true,
"optional": true,
"requires": {
- "nan": "2.11.1",
- "node-pre-gyp": "0.10.0"
+ "nan": "^2.12.1",
+ "node-pre-gyp": "^0.12.0"
},
"dependencies": {
"abbrev": {
@@ -3531,7 +3904,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -3540,31 +3914,33 @@
"optional": true
},
"are-we-there-yet": {
- "version": "1.1.4",
+ "version": "1.1.5",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
}
},
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "balanced-match": "1.0.0",
+ "balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"chownr": {
- "version": "1.0.1",
+ "version": "1.1.1",
"bundled": true,
"dev": true,
"optional": true
@@ -3572,17 +3948,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -3591,16 +3970,16 @@
"optional": true
},
"debug": {
- "version": "2.6.9",
+ "version": "4.1.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "ms": "2.0.0"
+ "ms": "^2.1.1"
}
},
"deep-extend": {
- "version": "0.5.1",
+ "version": "0.6.0",
"bundled": true,
"dev": true,
"optional": true
@@ -3623,7 +4002,7 @@
"dev": true,
"optional": true,
"requires": {
- "minipass": "2.2.4"
+ "minipass": "^2.2.1"
}
},
"fs.realpath": {
@@ -3638,28 +4017,28 @@
"dev": true,
"optional": true,
"requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.2"
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
}
},
"glob": {
- "version": "7.1.2",
+ "version": "7.1.3",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
"has-unicode": {
@@ -3669,12 +4048,12 @@
"optional": true
},
"iconv-lite": {
- "version": "0.4.21",
+ "version": "0.4.24",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "safer-buffer": "2.1.2"
+ "safer-buffer": ">= 2.1.2 < 3"
}
},
"ignore-walk": {
@@ -3683,7 +4062,7 @@
"dev": true,
"optional": true,
"requires": {
- "minimatch": "3.0.4"
+ "minimatch": "^3.0.4"
}
},
"inflight": {
@@ -3692,14 +4071,15 @@
"dev": true,
"optional": true,
"requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -3711,8 +4091,9 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "^1.0.0"
}
},
"isarray": {
@@ -3725,74 +4106,85 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
- "version": "2.2.4",
+ "version": "2.3.5",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
}
},
"minizlib": {
- "version": "1.1.0",
+ "version": "1.2.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "minipass": "2.2.4"
+ "minipass": "^2.2.1"
}
},
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
},
"ms": {
- "version": "2.0.0",
+ "version": "2.1.1",
"bundled": true,
"dev": true,
"optional": true
},
+ "nan": {
+ "version": "2.14.0",
+ "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.0.tgz",
+ "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=",
+ "dev": true,
+ "optional": true
+ },
"needle": {
- "version": "2.2.0",
+ "version": "2.3.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "debug": "2.6.9",
- "iconv-lite": "0.4.21",
- "sax": "1.2.4"
+ "debug": "^4.1.0",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
}
},
"node-pre-gyp": {
- "version": "0.10.0",
+ "version": "0.12.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "detect-libc": "1.0.3",
- "mkdirp": "0.5.1",
- "needle": "2.2.0",
- "nopt": "4.0.1",
- "npm-packlist": "1.1.10",
- "npmlog": "4.1.2",
- "rc": "1.2.7",
- "rimraf": "2.6.2",
- "semver": "5.5.0",
- "tar": "4.4.1"
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
}
},
"nopt": {
@@ -3801,24 +4193,24 @@
"dev": true,
"optional": true,
"requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
+ "abbrev": "1",
+ "osenv": "^0.1.4"
}
},
"npm-bundled": {
- "version": "1.0.3",
+ "version": "1.0.6",
"bundled": true,
"dev": true,
"optional": true
},
"npm-packlist": {
- "version": "1.1.10",
+ "version": "1.4.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "ignore-walk": "3.0.1",
- "npm-bundled": "1.0.3"
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1"
}
},
"npmlog": {
@@ -3827,16 +4219,17 @@
"dev": true,
"optional": true,
"requires": {
- "are-we-there-yet": "1.1.4",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
}
},
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -3848,8 +4241,9 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "wrappy": "1.0.2"
+ "wrappy": "1"
}
},
"os-homedir": {
@@ -3870,8 +4264,8 @@
"dev": true,
"optional": true,
"requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
}
},
"path-is-absolute": {
@@ -3887,15 +4281,15 @@
"optional": true
},
"rc": {
- "version": "1.2.7",
+ "version": "1.2.8",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "deep-extend": "0.5.1",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
},
"dependencies": {
"minimist": {
@@ -3912,28 +4306,29 @@
"dev": true,
"optional": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
"rimraf": {
- "version": "2.6.2",
+ "version": "2.6.3",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "glob": "7.1.2"
+ "glob": "^7.1.3"
}
},
"safe-buffer": {
- "version": "5.1.1",
+ "version": "5.1.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -3948,7 +4343,7 @@
"optional": true
},
"semver": {
- "version": "5.5.0",
+ "version": "5.7.0",
"bundled": true,
"dev": true,
"optional": true
@@ -3969,10 +4364,11 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
}
},
"string_decoder": {
@@ -3981,15 +4377,16 @@
"dev": true,
"optional": true,
"requires": {
- "safe-buffer": "5.1.1"
+ "safe-buffer": "~5.1.0"
}
},
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "ansi-regex": "^2.0.0"
}
},
"strip-json-comments": {
@@ -3999,18 +4396,18 @@
"optional": true
},
"tar": {
- "version": "4.4.1",
+ "version": "4.4.8",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "chownr": "1.0.1",
- "fs-minipass": "1.2.5",
- "minipass": "2.2.4",
- "minizlib": "1.1.0",
- "mkdirp": "0.5.1",
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.3.4",
+ "minizlib": "^1.1.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.2"
}
},
"util-deprecate": {
@@ -4020,36 +4417,39 @@
"optional": true
},
"wide-align": {
- "version": "1.1.2",
+ "version": "1.1.3",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
- "string-width": "1.0.2"
+ "string-width": "^1.0.2 || 2"
}
},
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"yallist": {
- "version": "3.0.2",
+ "version": "3.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
"fstream": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "version": "1.0.12",
+ "resolved": "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz",
+ "integrity": "sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU=",
"dev": true,
+ "optional": true,
"requires": {
- "graceful-fs": "4.1.11",
- "inherits": "2.0.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2"
+ "graceful-fs": "^4.1.2",
+ "inherits": "~2.0.0",
+ "mkdirp": ">=0.5 0",
+ "rimraf": "2"
}
},
"ftp": {
@@ -4059,7 +4459,7 @@
"dev": true,
"optional": true,
"requires": {
- "readable-stream": "1.1.14",
+ "readable-stream": "1.1.x",
"xregexp": "2.0.0"
},
"dependencies": {
@@ -4077,10 +4477,10 @@
"dev": true,
"optional": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
"isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "string_decoder": "~0.10.x"
}
},
"string_decoder": {
@@ -4103,15 +4503,16 @@
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
+ "optional": true,
"requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.3"
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
}
},
"gaze": {
@@ -4121,7 +4522,7 @@
"dev": true,
"optional": true,
"requires": {
- "globule": "1.2.1"
+ "globule": "^1.0.0"
}
},
"generate-function": {
@@ -4131,7 +4532,7 @@
"dev": true,
"optional": true,
"requires": {
- "is-property": "1.0.2"
+ "is-property": "^1.0.2"
}
},
"generate-object-property": {
@@ -4141,7 +4542,7 @@
"dev": true,
"optional": true,
"requires": {
- "is-property": "1.0.2"
+ "is-property": "^1.0.0"
}
},
"get-caller-file": {
@@ -4169,12 +4570,12 @@
"dev": true,
"optional": true,
"requires": {
- "data-uri-to-buffer": "1.2.0",
- "debug": "2.6.9",
- "extend": "3.0.2",
- "file-uri-to-path": "1.0.0",
- "ftp": "0.3.10",
- "readable-stream": "2.3.6"
+ "data-uri-to-buffer": "1",
+ "debug": "2",
+ "extend": "3",
+ "file-uri-to-path": "1",
+ "ftp": "~0.3.10",
+ "readable-stream": "2"
}
},
"get-value": {
@@ -4189,7 +4590,7 @@
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0"
+ "assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
@@ -4206,12 +4607,12 @@
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"dev": true,
"requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
"glob-base": {
@@ -4220,8 +4621,8 @@
"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
"dev": true,
"requires": {
- "glob-parent": "2.0.0",
- "is-glob": "2.0.1"
+ "glob-parent": "^2.0.0",
+ "is-glob": "^2.0.0"
}
},
"glob-parent": {
@@ -4230,7 +4631,16 @@
"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
"dev": true,
"requires": {
- "is-glob": "2.0.1"
+ "is-glob": "^2.0.0"
+ }
+ },
+ "global-dirs": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npm.taobao.org/global-dirs/download/global-dirs-0.1.1.tgz",
+ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.4"
}
},
"globals": {
@@ -4245,12 +4655,12 @@
"integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
"dev": true,
"requires": {
- "array-union": "1.0.2",
- "dir-glob": "2.0.0",
- "glob": "7.1.3",
- "ignore": "3.3.10",
- "pify": "3.0.0",
- "slash": "1.0.0"
+ "array-union": "^1.0.1",
+ "dir-glob": "^2.0.0",
+ "glob": "^7.1.2",
+ "ignore": "^3.3.5",
+ "pify": "^3.0.0",
+ "slash": "^1.0.0"
}
},
"globule": {
@@ -4260,9 +4670,49 @@
"dev": true,
"optional": true,
"requires": {
- "glob": "7.1.3",
- "lodash": "4.17.11",
- "minimatch": "3.0.4"
+ "glob": "~7.1.1",
+ "lodash": "~4.17.10",
+ "minimatch": "~3.0.2"
+ }
+ },
+ "got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz",
+ "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz",
+ "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
+ "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ }
}
},
"graceful-fs": {
@@ -4271,28 +4721,22 @@
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
- "handle-thing": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
- "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=",
- "dev": true
- },
"handlebars": {
- "version": "4.0.12",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
- "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npm.taobao.org/handlebars/download/handlebars-4.1.2.tgz",
+ "integrity": "sha1-trN8HO0DBrIh4JT8eso+wjsTG2c=",
"dev": true,
"requires": {
- "async": "2.6.1",
- "optimist": "0.6.1",
- "source-map": "0.6.1",
- "uglify-js": "3.4.9"
+ "neo-async": "^2.6.0",
+ "optimist": "^0.6.1",
+ "source-map": "^0.6.1",
+ "uglify-js": "^3.1.4"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+ "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
"dev": true
}
}
@@ -4311,8 +4755,8 @@
"dev": true,
"optional": true,
"requires": {
- "ajv": "4.11.8",
- "har-schema": "1.0.5"
+ "ajv": "^4.9.1",
+ "har-schema": "^1.0.5"
},
"dependencies": {
"ajv": {
@@ -4322,8 +4766,8 @@
"dev": true,
"optional": true,
"requires": {
- "co": "4.6.0",
- "json-stable-stringify": "1.0.1"
+ "co": "^4.6.0",
+ "json-stable-stringify": "^1.0.1"
}
}
}
@@ -4334,7 +4778,7 @@
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
- "function-bind": "1.1.1"
+ "function-bind": "^1.1.1"
}
},
"has-ansi": {
@@ -4343,7 +4787,7 @@
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "ansi-regex": "^2.0.0"
}
},
"has-binary2": {
@@ -4385,7 +4829,8 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"has-value": {
"version": "1.0.0",
@@ -4393,9 +4838,9 @@
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
"requires": {
- "get-value": "2.0.6",
- "has-values": "1.0.0",
- "isobject": "3.0.1"
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
},
"dependencies": {
"isobject": {
@@ -4412,8 +4857,8 @@
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
"requires": {
- "is-number": "3.0.0",
- "kind-of": "4.0.0"
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
},
"dependencies": {
"is-number": {
@@ -4422,7 +4867,7 @@
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -4431,7 +4876,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -4442,19 +4887,25 @@
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
},
+ "has-yarn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/has-yarn/download/has-yarn-2.1.0.tgz",
+ "integrity": "sha1-E34RNUp7W/EapctknPDG8/8rLnc=",
+ "dev": true
+ },
"hash-base": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
}
},
"hash.js": {
@@ -4463,8 +4914,8 @@
"integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
}
},
"hawk": {
@@ -4474,10 +4925,10 @@
"dev": true,
"optional": true,
"requires": {
- "boom": "2.10.1",
- "cryptiles": "2.0.5",
- "hoek": "2.16.3",
- "sntp": "1.0.9"
+ "boom": "2.x.x",
+ "cryptiles": "2.x.x",
+ "hoek": "2.x.x",
+ "sntp": "1.x.x"
}
},
"he": {
@@ -4493,8 +4944,8 @@
"dev": true,
"optional": true,
"requires": {
- "lodash": "4.17.11",
- "request": "2.81.0"
+ "lodash": "^4.0.0",
+ "request": "^2.0.0"
}
},
"hmac-drbg": {
@@ -4503,16 +4954,17 @@
"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
"dev": true,
"requires": {
- "hash.js": "1.1.5",
- "minimalistic-assert": "1.0.1",
- "minimalistic-crypto-utils": "1.0.1"
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"homedir-polyfill": {
"version": "1.0.1",
@@ -4520,7 +4972,7 @@
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
"dev": true,
"requires": {
- "parse-passwd": "1.0.0"
+ "parse-passwd": "^1.0.0"
}
},
"hosted-git-info": {
@@ -4535,10 +4987,10 @@
"integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "obuf": "1.1.2",
- "readable-stream": "2.3.6",
- "wbuf": "1.7.3"
+ "inherits": "^2.0.1",
+ "obuf": "^1.0.0",
+ "readable-stream": "^2.0.1",
+ "wbuf": "^1.1.0"
}
},
"html-entities": {
@@ -4553,13 +5005,13 @@
"integrity": "sha512-ZmgNLaTp54+HFKkONyLFEfs5dd/ZOtlquKaTnqIWFmx3Av5zG6ZPcV2d0o9XM2fXOTxxIf6eDcwzFFotke/5zA==",
"dev": true,
"requires": {
- "camel-case": "3.0.0",
- "clean-css": "4.2.1",
- "commander": "2.17.1",
- "he": "1.1.1",
- "param-case": "2.1.1",
- "relateurl": "0.2.7",
- "uglify-js": "3.4.9"
+ "camel-case": "3.0.x",
+ "clean-css": "4.2.x",
+ "commander": "2.17.x",
+ "he": "1.1.x",
+ "param-case": "2.1.x",
+ "relateurl": "0.2.x",
+ "uglify-js": "3.4.x"
}
},
"html-webpack-plugin": {
@@ -4568,12 +5020,12 @@
"integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=",
"dev": true,
"requires": {
- "bluebird": "3.5.2",
- "html-minifier": "3.5.20",
- "loader-utils": "0.2.17",
- "lodash": "4.17.11",
- "pretty-error": "2.1.1",
- "toposort": "1.0.7"
+ "bluebird": "^3.4.7",
+ "html-minifier": "^3.2.3",
+ "loader-utils": "^0.2.16",
+ "lodash": "^4.17.3",
+ "pretty-error": "^2.0.2",
+ "toposort": "^1.0.0"
},
"dependencies": {
"loader-utils": {
@@ -4582,10 +5034,10 @@
"integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0",
+ "object-assign": "^4.0.1"
}
}
}
@@ -4596,10 +5048,10 @@
"integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=",
"dev": true,
"requires": {
- "domelementtype": "1.2.1",
- "domhandler": "2.1.0",
- "domutils": "1.1.6",
- "readable-stream": "1.0.34"
+ "domelementtype": "1",
+ "domhandler": "2.1",
+ "domutils": "1.1",
+ "readable-stream": "1.0"
},
"dependencies": {
"domutils": {
@@ -4608,7 +5060,7 @@
"integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=",
"dev": true,
"requires": {
- "domelementtype": "1.2.1"
+ "domelementtype": "1"
}
},
"isarray": {
@@ -4623,10 +5075,10 @@
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
"isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "string_decoder": "~0.10.x"
}
},
"string_decoder": {
@@ -4637,6 +5089,12 @@
}
}
},
+ "http-cache-semantics": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.0.3.tgz",
+ "integrity": "sha1-SVcEdzJ37u9uQ/mrLCx9JZ3aJcU=",
+ "dev": true
+ },
"http-deceiver": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
@@ -4649,10 +5107,10 @@
"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
"dev": true,
"requires": {
- "depd": "1.1.2",
+ "depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.0",
- "statuses": "1.4.0"
+ "statuses": ">= 1.4.0 < 2"
}
},
"http-parser-js": {
@@ -4667,9 +5125,9 @@
"integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
"dev": true,
"requires": {
- "eventemitter3": "3.1.0",
- "follow-redirects": "1.5.9",
- "requires-port": "1.0.0"
+ "eventemitter3": "^3.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
}
},
"http-proxy-agent": {
@@ -4677,8 +5135,9 @@
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
"dev": true,
+ "optional": true,
"requires": {
- "agent-base": "4.2.1",
+ "agent-base": "4",
"debug": "3.1.0"
},
"dependencies": {
@@ -4687,41 +5146,13 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
+ "optional": true,
"requires": {
"ms": "2.0.0"
}
}
}
},
- "http-proxy-middleware": {
- "version": "0.17.4",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz",
- "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=",
- "dev": true,
- "requires": {
- "http-proxy": "1.17.0",
- "is-glob": "3.1.0",
- "lodash": "4.17.11",
- "micromatch": "2.3.11"
- },
- "dependencies": {
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "2.1.1"
- }
- }
- }
- },
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
@@ -4729,9 +5160,9 @@
"dev": true,
"optional": true,
"requires": {
- "assert-plus": "0.2.0",
- "jsprim": "1.4.1",
- "sshpk": "1.15.1"
+ "assert-plus": "^0.2.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
}
},
"httpntlm": {
@@ -4739,16 +5170,18 @@
"resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.6.1.tgz",
"integrity": "sha1-rQFScUOi6Hc8+uapb1hla7UqNLI=",
"dev": true,
+ "optional": true,
"requires": {
- "httpreq": "0.4.24",
- "underscore": "1.7.0"
+ "httpreq": ">=0.4.22",
+ "underscore": "~1.7.0"
}
},
"httpreq": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/httpreq/-/httpreq-0.4.24.tgz",
"integrity": "sha1-QzX/2CzZaWaKOUZckprGHWOTYn8=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"https-browserify": {
"version": "1.0.0",
@@ -4761,9 +5194,10 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
"dev": true,
+ "optional": true,
"requires": {
- "agent-base": "4.2.1",
- "debug": "3.2.6"
+ "agent-base": "^4.1.0",
+ "debug": "^3.1.0"
},
"dependencies": {
"debug": {
@@ -4771,15 +5205,17 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
+ "optional": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
@@ -4789,7 +5225,7 @@
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"dev": true,
"requires": {
- "safer-buffer": "2.1.2"
+ "safer-buffer": ">= 2.1.2 < 3"
}
},
"ieee754": {
@@ -4823,7 +5259,7 @@
"integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
"dev": true,
"requires": {
- "import-from": "2.1.0"
+ "import-from": "^2.1.0"
}
},
"import-from": {
@@ -4832,17 +5268,23 @@
"integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
"dev": true,
"requires": {
- "resolve-from": "3.0.0"
+ "resolve-from": "^3.0.0"
}
},
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/import-lazy/download/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
"import-local": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz",
"integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==",
"dev": true,
"requires": {
- "pkg-dir": "2.0.0",
- "resolve-cwd": "2.0.0"
+ "pkg-dir": "^2.0.0",
+ "resolve-cwd": "^2.0.0"
}
},
"imurmurhash": {
@@ -4864,7 +5306,7 @@
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
"requires": {
- "repeating": "2.0.1"
+ "repeating": "^2.0.0"
}
},
"indexof": {
@@ -4886,8 +5328,8 @@
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
"inherits": {
@@ -4908,7 +5350,7 @@
"integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
"dev": true,
"requires": {
- "meow": "3.7.0"
+ "meow": "^3.3.0"
}
},
"interpret": {
@@ -4923,7 +5365,7 @@
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": {
- "loose-envify": "1.4.0"
+ "loose-envify": "^1.0.0"
}
},
"invert-kv": {
@@ -4950,7 +5392,7 @@
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
}
},
"is-arrayish": {
@@ -4965,7 +5407,7 @@
"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
"dev": true,
"requires": {
- "binary-extensions": "1.12.0"
+ "binary-extensions": "^1.0.0"
}
},
"is-buffer": {
@@ -4980,7 +5422,7 @@
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
- "builtin-modules": "1.1.1"
+ "builtin-modules": "^1.0.0"
}
},
"is-callable": {
@@ -4989,13 +5431,22 @@
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz",
+ "integrity": "sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw=",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
}
},
"is-date-object": {
@@ -5010,9 +5461,9 @@
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
},
"dependencies": {
"kind-of": {
@@ -5041,7 +5492,7 @@
"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
"dev": true,
"requires": {
- "is-primitive": "2.0.0"
+ "is-primitive": "^2.0.0"
}
},
"is-extendable": {
@@ -5062,7 +5513,7 @@
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "^1.0.0"
}
},
"is-fullwidth-code-point": {
@@ -5071,7 +5522,7 @@
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
- "number-is-nan": "1.0.1"
+ "number-is-nan": "^1.0.0"
}
},
"is-glob": {
@@ -5080,7 +5531,17 @@
"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
"dev": true,
"requires": {
- "is-extglob": "1.0.0"
+ "is-extglob": "^1.0.0"
+ }
+ },
+ "is-installed-globally": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npm.taobao.org/is-installed-globally/download/is-installed-globally-0.1.0.tgz",
+ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^0.1.0",
+ "is-path-inside": "^1.0.0"
}
},
"is-my-ip-valid": {
@@ -5097,22 +5558,34 @@
"dev": true,
"optional": true,
"requires": {
- "generate-function": "2.3.1",
- "generate-object-property": "1.2.0",
- "is-my-ip-valid": "1.0.0",
- "jsonpointer": "4.0.1",
- "xtend": "4.0.1"
+ "generate-function": "^2.0.0",
+ "generate-object-property": "^1.1.0",
+ "is-my-ip-valid": "^1.0.0",
+ "jsonpointer": "^4.0.0",
+ "xtend": "^4.0.0"
}
},
+ "is-npm": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/is-npm/download/is-npm-3.0.0.tgz",
+ "integrity": "sha1-7JFHv7YpxD9JTPZ5Nqlh7ex+gFM=",
+ "dev": true
+ },
"is-number": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
}
},
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
"is-path-cwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
@@ -5125,7 +5598,7 @@
"integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
"dev": true,
"requires": {
- "is-path-inside": "1.0.1"
+ "is-path-inside": "^1.0.0"
}
},
"is-path-inside": {
@@ -5134,7 +5607,7 @@
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
"dev": true,
"requires": {
- "path-is-inside": "1.0.2"
+ "path-is-inside": "^1.0.1"
}
},
"is-plain-object": {
@@ -5143,7 +5616,7 @@
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"requires": {
- "isobject": "3.0.1"
+ "isobject": "^3.0.1"
},
"dependencies": {
"isobject": {
@@ -5166,11 +5639,18 @@
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
"dev": true
},
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
"is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"is-regex": {
"version": "1.0.4",
@@ -5178,7 +5658,7 @@
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"dev": true,
"requires": {
- "has": "1.0.3"
+ "has": "^1.0.1"
}
},
"is-stream": {
@@ -5193,7 +5673,7 @@
"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"dev": true,
"requires": {
- "has-symbols": "1.0.0"
+ "has-symbols": "^1.0.0"
}
},
"is-typedarray": {
@@ -5220,6 +5700,12 @@
"integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
"dev": true
},
+ "is-yarn-global": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npm.taobao.org/is-yarn-global/download/is-yarn-global-0.3.0.tgz",
+ "integrity": "sha1-1QLTOCWQ6jAEiTdGdUyJE5lz4jI=",
+ "dev": true
+ },
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@@ -5232,7 +5718,7 @@
"integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
"dev": true,
"requires": {
- "buffer-alloc": "1.2.0"
+ "buffer-alloc": "^1.2.0"
}
},
"isexe": {
@@ -5262,17 +5748,17 @@
"integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==",
"dev": true,
"requires": {
- "async": "2.6.1",
- "fileset": "2.0.3",
- "istanbul-lib-coverage": "1.2.1",
- "istanbul-lib-hook": "1.2.2",
- "istanbul-lib-instrument": "1.10.2",
- "istanbul-lib-report": "1.1.5",
- "istanbul-lib-source-maps": "1.2.6",
- "istanbul-reports": "1.5.1",
- "js-yaml": "3.12.0",
- "mkdirp": "0.5.1",
- "once": "1.4.0"
+ "async": "^2.1.4",
+ "fileset": "^2.0.2",
+ "istanbul-lib-coverage": "^1.2.1",
+ "istanbul-lib-hook": "^1.2.2",
+ "istanbul-lib-instrument": "^1.10.2",
+ "istanbul-lib-report": "^1.1.5",
+ "istanbul-lib-source-maps": "^1.2.6",
+ "istanbul-reports": "^1.5.1",
+ "js-yaml": "^3.7.0",
+ "mkdirp": "^0.5.1",
+ "once": "^1.4.0"
}
},
"istanbul-instrumenter-loader": {
@@ -5281,10 +5767,10 @@
"integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
"dev": true,
"requires": {
- "convert-source-map": "1.6.0",
- "istanbul-lib-instrument": "1.10.2",
- "loader-utils": "1.1.0",
- "schema-utils": "0.3.0"
+ "convert-source-map": "^1.5.0",
+ "istanbul-lib-instrument": "^1.7.3",
+ "loader-utils": "^1.1.0",
+ "schema-utils": "^0.3.0"
},
"dependencies": {
"ajv": {
@@ -5293,10 +5779,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"schema-utils": {
@@ -5305,7 +5791,7 @@
"integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
"requires": {
- "ajv": "5.5.2"
+ "ajv": "^5.0.0"
}
}
}
@@ -5322,7 +5808,7 @@
"integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==",
"dev": true,
"requires": {
- "append-transform": "0.4.0"
+ "append-transform": "^0.4.0"
}
},
"istanbul-lib-instrument": {
@@ -5331,13 +5817,13 @@
"integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
"dev": true,
"requires": {
- "babel-generator": "6.26.1",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "istanbul-lib-coverage": "1.2.1",
- "semver": "5.6.0"
+ "babel-generator": "^6.18.0",
+ "babel-template": "^6.16.0",
+ "babel-traverse": "^6.18.0",
+ "babel-types": "^6.18.0",
+ "babylon": "^6.18.0",
+ "istanbul-lib-coverage": "^1.2.1",
+ "semver": "^5.3.0"
}
},
"istanbul-lib-report": {
@@ -5346,10 +5832,10 @@
"integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "1.2.1",
- "mkdirp": "0.5.1",
- "path-parse": "1.0.6",
- "supports-color": "3.2.3"
+ "istanbul-lib-coverage": "^1.2.1",
+ "mkdirp": "^0.5.1",
+ "path-parse": "^1.0.5",
+ "supports-color": "^3.1.2"
},
"dependencies": {
"has-flag": {
@@ -5364,7 +5850,7 @@
"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
"dev": true,
"requires": {
- "has-flag": "1.0.0"
+ "has-flag": "^1.0.0"
}
}
}
@@ -5375,11 +5861,11 @@
"integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==",
"dev": true,
"requires": {
- "debug": "3.2.6",
- "istanbul-lib-coverage": "1.2.1",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "source-map": "0.5.7"
+ "debug": "^3.1.0",
+ "istanbul-lib-coverage": "^1.2.1",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.6.1",
+ "source-map": "^0.5.3"
},
"dependencies": {
"debug": {
@@ -5388,7 +5874,7 @@
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
}
},
"ms": {
@@ -5405,7 +5891,7 @@
"integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==",
"dev": true,
"requires": {
- "handlebars": "4.0.12"
+ "handlebars": "^4.0.3"
}
},
"jasmine": {
@@ -5414,9 +5900,9 @@
"integrity": "sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc=",
"dev": true,
"requires": {
- "exit": "0.1.2",
- "glob": "7.1.3",
- "jasmine-core": "2.99.1"
+ "exit": "^0.1.2",
+ "glob": "^7.0.6",
+ "jasmine-core": "~2.99.0"
},
"dependencies": {
"jasmine-core": {
@@ -5448,10 +5934,16 @@
"integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
"dev": true
},
+ "jju": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npm.taobao.org/jju/download/jju-1.4.0.tgz",
+ "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=",
+ "dev": true
+ },
"jquery": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz",
- "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
+ "version": "3.4.1",
+ "resolved": "https://registry.npm.taobao.org/jquery/download/jquery-3.4.1.tgz",
+ "integrity": "sha1-cU8fjZ3eS9+lV2S6N+8hRjDYDvI="
},
"js-base64": {
"version": "2.4.9",
@@ -5467,13 +5959,13 @@
"dev": true
},
"js-yaml": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "version": "3.13.1",
+ "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz",
+ "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=",
"dev": true,
"requires": {
- "argparse": "1.0.10",
- "esprima": "4.0.1"
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
}
},
"jsbn": {
@@ -5488,6 +5980,12 @@
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
"dev": true
},
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true
+ },
"json-loader": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
@@ -5500,6 +5998,15 @@
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
+ "json-parse-helpfulerror": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npm.taobao.org/json-parse-helpfulerror/download/json-parse-helpfulerror-1.0.3.tgz",
+ "integrity": "sha1-E/FM4C7tTpgSl7ZOueO5MuLdE9w=",
+ "dev": true,
+ "requires": {
+ "jju": "^1.1.0"
+ }
+ },
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
@@ -5512,6 +6019,649 @@
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
+ "json-server": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npm.taobao.org/json-server/download/json-server-0.15.0.tgz",
+ "integrity": "sha1-uLCEAHfkbxVgjp7/LDT8TWPRkTk=",
+ "dev": true,
+ "requires": {
+ "body-parser": "^1.19.0",
+ "chalk": "^2.4.2",
+ "compression": "^1.7.4",
+ "connect-pause": "^0.1.1",
+ "cors": "^2.8.5",
+ "errorhandler": "^1.5.1",
+ "express": "^4.17.0",
+ "express-urlrewrite": "^1.2.0",
+ "json-parse-helpfulerror": "^1.0.3",
+ "lodash": "^4.17.11",
+ "lodash-id": "^0.14.0",
+ "lowdb": "^1.0.0",
+ "method-override": "^3.0.0",
+ "morgan": "^1.9.1",
+ "nanoid": "^2.0.2",
+ "object-assign": "^4.1.1",
+ "please-upgrade-node": "^3.1.1",
+ "pluralize": "^7.0.0",
+ "request": "^2.88.0",
+ "server-destroy": "^1.0.1",
+ "update-notifier": "^3.0.0",
+ "yargs": "^13.2.4"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.10.2",
+ "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.10.2.tgz",
+ "integrity": "sha1-086gTWsBeyiUrWkED+yLYj60vVI=",
+ "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"
+ }
+ },
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+ "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+ "dev": true
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz",
+ "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ }
+ },
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz",
+ "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz",
+ "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+ "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz",
+ "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "compressible": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.17.tgz",
+ "integrity": "sha1-bowQihatWDhKl386SCyiC/8vOME=",
+ "dev": true,
+ "requires": {
+ "mime-db": ">= 1.40.0 < 2"
+ }
+ },
+ "compression": {
+ "version": "1.7.4",
+ "resolved": "http://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz",
+ "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
+ "compressible": "~2.0.16",
+ "debug": "2.6.9",
+ "on-headers": "~1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "bytes": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "dev": true
+ }
+ }
+ },
+ "content-disposition": {
+ "version": "0.5.3",
+ "resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz",
+ "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "cookie": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz",
+ "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=",
+ "dev": true
+ },
+ "express": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz",
+ "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=",
+ "dev": true,
+ "requires": {
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
+ "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
+ "dev": true,
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ }
+ }
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "dev": true
+ },
+ "finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz",
+ "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
+ "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz",
+ "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
+ "dev": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
+ "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
+ "dev": true
+ },
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
+ },
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.3.tgz",
+ "integrity": "sha1-HvievT5JllV2de7ZiTEQ3DUPoIA=",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.5.5",
+ "har-schema": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1561418526117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz",
+ "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=",
+ "dev": true,
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ }
+ },
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz",
+ "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ipaddr.js": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.0.tgz",
+ "integrity": "sha1-N9905DCg5HVQ/lSi3v4w2KzZX2U=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
+ "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "mime-db": {
+ "version": "1.40.0",
+ "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.40.0.tgz",
+ "integrity": "sha1-plBX6ZjbCQ9zKmj2wnbTh9QSbDI=",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.24",
+ "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.24.tgz",
+ "integrity": "sha1-tvjQs+lR77d97eyhlM/20W9nb4E=",
+ "dev": true,
+ "requires": {
+ "mime-db": "1.40.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz",
+ "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
+ "dev": true
+ },
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
+ "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
+ "dev": true
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
+ "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
+ "dev": true
+ },
+ "on-headers": {
+ "version": "1.0.2",
+ "resolved": "http://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz",
+ "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.2.1.tgz",
+ "integrity": "sha1-qgeniMwxUck5tRMfY1cPDdIAlTc=",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
+ "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+ "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz",
+ "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=",
+ "dev": true
+ },
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "proxy-addr": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.5.tgz",
+ "integrity": "sha1-NMvWSi2B9LH9IedvnwbIpFKZ7jQ=",
+ "dev": true,
+ "requires": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.0"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz",
+ "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=",
+ "dev": true
+ },
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz",
+ "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz?cache=0&sync_timestamp=1561521020890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fraw-body%2Fdownload%2Fraw-body-2.4.0.tgz",
+ "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ }
+ },
+ "request": {
+ "version": "2.88.0",
+ "resolved": "http://registry.npm.taobao.org/request/download/request-2.88.0.tgz",
+ "integrity": "sha1-nC/KT301tZLv5Xx/ClXoEFIST+8=",
+ "dev": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz",
+ "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
+ "dev": true
+ }
+ }
+ },
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
+ "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
+ "dev": true
+ },
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz",
+ "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ }
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz",
+ "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=",
+ "dev": true,
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ }
+ },
+ "setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz",
+ "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=",
+ "dev": true
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz",
+ "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz",
+ "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.4.3",
+ "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz",
+ "integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=",
+ "dev": true,
+ "requires": {
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
+ }
+ },
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz",
+ "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ }
+ },
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.0",
+ "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.0.tgz",
+ "integrity": "sha1-TGV6VeB+Xyz5R/ijZlZ8BKDe3IM=",
+ "dev": true,
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.1"
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.1",
+ "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.1.tgz",
+ "integrity": "sha1-0mBYUyqgbTZf4JH2ofwGsvfl7KA=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
@@ -5519,7 +6669,7 @@
"dev": true,
"optional": true,
"requires": {
- "jsonify": "0.0.0"
+ "jsonify": "~0.0.0"
}
},
"json-stringify-safe": {
@@ -5546,7 +6696,7 @@
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11"
+ "graceful-fs": "^4.1.6"
}
},
"jsonify": {
@@ -5589,43 +6739,43 @@
"integrity": "sha512-rECezBeY7mjzGUWhFlB7CvPHgkHJLXyUmWg+6vHCEsdWNUTnmiS6jRrIMcJEWgU2DUGZzGWG0bTRVky8fsDTOA==",
"dev": true,
"requires": {
- "bluebird": "3.5.2",
- "body-parser": "1.18.3",
- "chokidar": "2.0.4",
- "colors": "1.1.2",
- "combine-lists": "1.0.1",
- "connect": "3.6.6",
- "core-js": "2.5.7",
- "di": "0.0.1",
- "dom-serialize": "2.2.1",
- "expand-braces": "0.1.2",
- "glob": "7.1.3",
- "graceful-fs": "4.1.11",
- "http-proxy": "1.17.0",
- "isbinaryfile": "3.0.3",
- "lodash": "4.17.11",
- "log4js": "2.11.0",
- "mime": "1.6.0",
- "minimatch": "3.0.4",
- "optimist": "0.6.1",
- "qjobs": "1.2.0",
- "range-parser": "1.2.0",
- "rimraf": "2.6.2",
- "safe-buffer": "5.1.2",
+ "bluebird": "^3.3.0",
+ "body-parser": "^1.16.1",
+ "chokidar": "^2.0.3",
+ "colors": "^1.1.0",
+ "combine-lists": "^1.0.0",
+ "connect": "^3.6.0",
+ "core-js": "^2.2.0",
+ "di": "^0.0.1",
+ "dom-serialize": "^2.2.0",
+ "expand-braces": "^0.1.1",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.1.2",
+ "http-proxy": "^1.13.0",
+ "isbinaryfile": "^3.0.0",
+ "lodash": "^4.17.4",
+ "log4js": "^2.5.3",
+ "mime": "^1.3.4",
+ "minimatch": "^3.0.2",
+ "optimist": "^0.6.1",
+ "qjobs": "^1.1.4",
+ "range-parser": "^1.2.0",
+ "rimraf": "^2.6.0",
+ "safe-buffer": "^5.0.1",
"socket.io": "2.0.4",
- "source-map": "0.6.1",
+ "source-map": "^0.6.1",
"tmp": "0.0.33",
"useragent": "2.2.1"
},
"dependencies": {
"anymatch": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+ "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
"dev": true,
"requires": {
- "micromatch": "3.1.10",
- "normalize-path": "2.1.1"
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
}
},
"arr-diff": {
@@ -5642,20 +6792,20 @@
},
"braces": {
"version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.3",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
+ "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+ "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
@@ -5664,30 +6814,43 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
},
"chokidar": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
- "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
- "dev": true,
- "requires": {
- "anymatch": "2.0.0",
- "async-each": "1.0.1",
- "braces": "2.3.2",
- "fsevents": "1.2.4",
- "glob-parent": "3.1.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "4.0.0",
- "lodash.debounce": "4.0.8",
- "normalize-path": "2.1.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.2.1",
- "upath": "1.1.0"
+ "version": "2.1.6",
+ "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.6.tgz",
+ "integrity": "sha1-tsrWU6kp4kTOioNCRBZNJB+pVMU=",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
+ "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+ "dev": true
+ },
+ "upath": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/upath/download/upath-1.1.2.tgz",
+ "integrity": "sha1-PbZYYA7a7sy+bbXmhNZ+6MKs0Gg=",
+ "dev": true
+ }
}
},
"expand-brackets": {
@@ -5696,13 +6859,13 @@
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -5711,7 +6874,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
@@ -5720,7 +6883,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
@@ -5729,7 +6892,7 @@
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -5738,7 +6901,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -5749,7 +6912,7 @@
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -5758,44 +6921,44 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
},
"is-descriptor": {
"version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
}
},
"kind-of": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"extglob": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -5804,7 +6967,7 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
@@ -5813,7 +6976,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -5824,10 +6987,10 @@
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
@@ -5836,7 +6999,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -5847,8 +7010,8 @@
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
- "is-glob": "3.1.0",
- "path-dirname": "1.0.2"
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
},
"dependencies": {
"is-glob": {
@@ -5857,38 +7020,38 @@
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.0"
}
}
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"is-extglob": {
@@ -5898,12 +7061,12 @@
"dev": true
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+ "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.1"
}
},
"is-number": {
@@ -5912,7 +7075,7 @@
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -5921,7 +7084,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -5934,29 +7097,29 @@
},
"kind-of": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
"dev": true
},
"micromatch": {
"version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
+ "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
"dev": true,
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
}
},
"source-map": {
@@ -5973,8 +7136,8 @@
"integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
"dev": true,
"requires": {
- "fs-access": "1.0.1",
- "which": "1.3.1"
+ "fs-access": "^1.0.0",
+ "which": "^1.2.1"
}
},
"karma-coverage-istanbul-reporter": {
@@ -5983,8 +7146,8 @@
"integrity": "sha1-O13/RmT6W41RlrmInj9hwforgNk=",
"dev": true,
"requires": {
- "istanbul-api": "1.3.7",
- "minimatch": "3.0.4"
+ "istanbul-api": "^1.3.1",
+ "minimatch": "^3.0.4"
}
},
"karma-jasmine": {
@@ -5999,7 +7162,7 @@
"integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=",
"dev": true,
"requires": {
- "karma-jasmine": "1.1.2"
+ "karma-jasmine": "^1.0.2"
}
},
"karma-source-map-support": {
@@ -6008,7 +7171,7 @@
"integrity": "sha512-HcPqdAusNez/ywa+biN4EphGz62MmQyPggUsDfsHqa7tSe4jdsxgvTKuDfIazjL+IOxpVWyT7Pr4dhAV+sxX5Q==",
"dev": true,
"requires": {
- "source-map-support": "0.5.9"
+ "source-map-support": "^0.5.5"
},
"dependencies": {
"source-map": {
@@ -6023,12 +7186,21 @@
"integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
"dev": true,
"requires": {
- "buffer-from": "1.1.1",
- "source-map": "0.6.1"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
}
}
},
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz",
+ "integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -6041,7 +7213,16 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
+ }
+ },
+ "latest-version": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/latest-version/download/latest-version-5.1.0.tgz",
+ "integrity": "sha1-EZ3+kI/jjRXfpD7NE/oS7Igy+s4=",
+ "dev": true,
+ "requires": {
+ "package-json": "^6.3.0"
}
},
"lazy-cache": {
@@ -6056,7 +7237,7 @@
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"dev": true,
"requires": {
- "invert-kv": "1.0.0"
+ "invert-kv": "^1.0.0"
}
},
"less": {
@@ -6065,14 +7246,14 @@
"integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==",
"dev": true,
"requires": {
- "errno": "0.1.7",
- "graceful-fs": "4.1.11",
- "image-size": "0.5.5",
- "mime": "1.6.0",
- "mkdirp": "0.5.1",
- "promise": "7.3.1",
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "mime": "^1.2.11",
+ "mkdirp": "^0.5.0",
+ "promise": "^7.1.1",
"request": "2.81.0",
- "source-map": "0.5.7"
+ "source-map": "^0.5.3"
}
},
"less-loader": {
@@ -6081,9 +7262,9 @@
"integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==",
"dev": true,
"requires": {
- "clone": "2.1.2",
- "loader-utils": "1.1.0",
- "pify": "3.0.0"
+ "clone": "^2.1.1",
+ "loader-utils": "^1.1.0",
+ "pify": "^3.0.0"
}
},
"levn": {
@@ -6093,21 +7274,23 @@
"dev": true,
"optional": true,
"requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
}
},
"libbase64": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
"integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"libmime": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/libmime/-/libmime-3.0.0.tgz",
"integrity": "sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY=",
"dev": true,
+ "optional": true,
"requires": {
"iconv-lite": "0.4.15",
"libbase64": "0.1.0",
@@ -6118,7 +7301,8 @@
"version": "0.4.15",
"resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=",
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
@@ -6126,7 +7310,8 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz",
"integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"license-webpack-plugin": {
"version": "1.5.0",
@@ -6134,7 +7319,7 @@
"integrity": "sha512-Of/H79rZqm2aeg4RnP9SMSh19qkKemoLT5VaJV58uH5AxeYWEcBgGFs753JEJ/Hm6BPvQVfIlrrjoBwYj8p7Tw==",
"dev": true,
"requires": {
- "ejs": "2.6.1"
+ "ejs": "^2.5.7"
}
},
"load-json-file": {
@@ -6143,11 +7328,11 @@
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
},
"dependencies": {
"pify": {
@@ -6170,9 +7355,9 @@
"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
+ "big.js": "^3.1.3",
+ "emojis-list": "^2.0.0",
+ "json5": "^0.5.0"
}
},
"locate-path": {
@@ -6181,14 +7366,19 @@
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"requires": {
- "p-locate": "2.0.0",
- "path-exists": "3.0.0"
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
}
},
"lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "version": "4.17.15",
+ "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz",
+ "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+ },
+ "lodash-id": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npm.taobao.org/lodash-id/download/lodash-id-0.14.0.tgz",
+ "integrity": "sha1-uvSJNOVDobXWNG+MhGmLGoyAOJY=",
"dev": true
},
"lodash.assign": {
@@ -6204,16 +7394,10 @@
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
- "lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
- "dev": true
- },
"lodash.mergewith": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+ "version": "4.6.2",
+ "resolved": "https://registry.npm.taobao.org/lodash.mergewith/download/lodash.mergewith-4.6.2.tgz?cache=0&sync_timestamp=1562718558085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.mergewith%2Fdownload%2Flodash.mergewith-4.6.2.tgz",
+ "integrity": "sha1-YXEh+JrFX1kEfHrsHM1mVMZZD1U=",
"dev": true,
"optional": true
},
@@ -6229,18 +7413,18 @@
"integrity": "sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ==",
"dev": true,
"requires": {
- "amqplib": "0.5.2",
- "axios": "0.15.3",
- "circular-json": "0.5.8",
- "date-format": "1.2.0",
- "debug": "3.2.6",
- "hipchat-notifier": "1.1.0",
- "loggly": "1.1.1",
- "mailgun-js": "0.18.1",
- "nodemailer": "2.7.2",
- "redis": "2.8.0",
- "semver": "5.6.0",
- "slack-node": "0.2.0",
+ "amqplib": "^0.5.2",
+ "axios": "^0.15.3",
+ "circular-json": "^0.5.4",
+ "date-format": "^1.2.0",
+ "debug": "^3.1.0",
+ "hipchat-notifier": "^1.1.0",
+ "loggly": "^1.1.0",
+ "mailgun-js": "^0.18.0",
+ "nodemailer": "^2.5.0",
+ "redis": "^2.7.1",
+ "semver": "^5.5.0",
+ "slack-node": "~0.2.0",
"streamroller": "0.7.0"
},
"dependencies": {
@@ -6250,7 +7434,7 @@
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
}
},
"ms": {
@@ -6268,9 +7452,9 @@
"dev": true,
"optional": true,
"requires": {
- "json-stringify-safe": "5.0.1",
- "request": "2.75.0",
- "timespan": "2.3.0"
+ "json-stringify-safe": "5.0.x",
+ "request": "2.75.x",
+ "timespan": "2.3.x"
},
"dependencies": {
"ansi-styles": {
@@ -6294,11 +7478,11 @@
"dev": true,
"optional": true,
"requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
}
},
"form-data": {
@@ -6308,9 +7492,9 @@
"dev": true,
"optional": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.5",
+ "mime-types": "^2.1.11"
}
},
"har-validator": {
@@ -6320,10 +7504,10 @@
"dev": true,
"optional": true,
"requires": {
- "chalk": "1.1.3",
- "commander": "2.17.1",
- "is-my-json-valid": "2.19.0",
- "pinkie-promise": "2.0.1"
+ "chalk": "^1.1.1",
+ "commander": "^2.9.0",
+ "is-my-json-valid": "^2.12.4",
+ "pinkie-promise": "^2.0.0"
}
},
"node-uuid": {
@@ -6347,27 +7531,27 @@
"dev": true,
"optional": true,
"requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.8.0",
- "bl": "1.1.2",
- "caseless": "0.11.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.0.0",
- "har-validator": "2.0.6",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "node-uuid": "1.4.8",
- "oauth-sign": "0.8.2",
- "qs": "6.2.3",
- "stringstream": "0.0.6",
- "tough-cookie": "2.3.4",
- "tunnel-agent": "0.4.3"
+ "aws-sign2": "~0.6.0",
+ "aws4": "^1.2.1",
+ "bl": "~1.1.2",
+ "caseless": "~0.11.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.0",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.0.0",
+ "har-validator": "~2.0.6",
+ "hawk": "~3.1.3",
+ "http-signature": "~1.1.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.7",
+ "node-uuid": "~1.4.7",
+ "oauth-sign": "~0.8.1",
+ "qs": "~6.2.0",
+ "stringstream": "~0.0.4",
+ "tough-cookie": "~2.3.0",
+ "tunnel-agent": "~0.4.1"
}
},
"supports-color": {
@@ -6404,7 +7588,7 @@
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": {
- "js-tokens": "3.0.2"
+ "js-tokens": "^3.0.0 || ^4.0.0"
}
},
"loud-rejection": {
@@ -6413,8 +7597,21 @@
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
"requires": {
- "currently-unhandled": "0.4.1",
- "signal-exit": "3.0.2"
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "lowdb": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/lowdb/download/lowdb-1.0.0.tgz",
+ "integrity": "sha1-UkO+ayJ4bMzjDlDJoz6sNrIMgGQ=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.3",
+ "is-promise": "^2.1.0",
+ "lodash": "4",
+ "pify": "^3.0.0",
+ "steno": "^0.4.1"
}
},
"lower-case": {
@@ -6423,14 +7620,20 @@
"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
"dev": true
},
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
+ "dev": true
+ },
"lru-cache": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
"dev": true,
"requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
}
},
"magic-string": {
@@ -6439,7 +7642,7 @@
"integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
"dev": true,
"requires": {
- "vlq": "0.2.3"
+ "vlq": "^0.2.2"
}
},
"mailcomposer": {
@@ -6460,15 +7663,15 @@
"dev": true,
"optional": true,
"requires": {
- "async": "2.6.1",
- "debug": "3.1.0",
- "form-data": "2.3.3",
- "inflection": "1.12.0",
- "is-stream": "1.1.0",
- "path-proxy": "1.0.0",
- "promisify-call": "2.0.4",
- "proxy-agent": "3.0.3",
- "tsscmp": "1.0.6"
+ "async": "~2.6.0",
+ "debug": "~3.1.0",
+ "form-data": "~2.3.0",
+ "inflection": "~1.12.0",
+ "is-stream": "^1.1.0",
+ "path-proxy": "~1.0.0",
+ "promisify-call": "^2.0.2",
+ "proxy-agent": "~3.0.0",
+ "tsscmp": "~1.0.0"
},
"dependencies": {
"debug": {
@@ -6488,9 +7691,9 @@
"dev": true,
"optional": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
}
}
}
@@ -6501,7 +7704,7 @@
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"dev": true,
"requires": {
- "pify": "3.0.0"
+ "pify": "^3.0.0"
}
},
"make-error": {
@@ -6528,7 +7731,7 @@
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
"requires": {
- "object-visit": "1.0.1"
+ "object-visit": "^1.0.0"
}
},
"math-random": {
@@ -6543,9 +7746,9 @@
"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
"dev": true,
"requires": {
- "hash-base": "3.0.4",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"media-typer": {
@@ -6560,7 +7763,7 @@
"integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
"dev": true,
"requires": {
- "mimic-fn": "1.2.0"
+ "mimic-fn": "^1.0.0"
}
},
"memory-fs": {
@@ -6569,8 +7772,8 @@
"integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
"dev": true,
"requires": {
- "errno": "0.1.7",
- "readable-stream": "2.3.6"
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
}
},
"meow": {
@@ -6579,16 +7782,16 @@
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
- "camelcase-keys": "2.1.0",
- "decamelize": "1.2.0",
- "loud-rejection": "1.6.0",
- "map-obj": "1.0.1",
- "minimist": "1.2.0",
- "normalize-package-data": "2.4.0",
- "object-assign": "4.1.1",
- "read-pkg-up": "1.0.1",
- "redent": "1.0.0",
- "trim-newlines": "1.0.0"
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
},
"dependencies": {
"minimist": {
@@ -6605,6 +7808,29 @@
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
},
+ "method-override": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/method-override/download/method-override-3.0.0.tgz",
+ "integrity": "sha1-arDV1XTjII8VsMnPRatSAARo16I=",
+ "dev": true,
+ "requires": {
+ "debug": "3.1.0",
+ "methods": "~1.1.2",
+ "parseurl": "~1.3.2",
+ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
"methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
@@ -6617,19 +7843,19 @@
"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
"dev": true,
"requires": {
- "arr-diff": "2.0.0",
- "array-unique": "0.2.1",
- "braces": "1.8.5",
- "expand-brackets": "0.1.5",
- "extglob": "0.3.2",
- "filename-regex": "2.0.1",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1",
- "kind-of": "3.2.2",
- "normalize-path": "2.1.1",
- "object.omit": "2.0.1",
- "parse-glob": "3.0.4",
- "regex-cache": "0.4.4"
+ "arr-diff": "^2.0.0",
+ "array-unique": "^0.2.1",
+ "braces": "^1.8.2",
+ "expand-brackets": "^0.1.4",
+ "extglob": "^0.3.1",
+ "filename-regex": "^2.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.1",
+ "kind-of": "^3.0.2",
+ "normalize-path": "^2.0.1",
+ "object.omit": "^2.0.0",
+ "parse-glob": "^3.0.4",
+ "regex-cache": "^0.4.2"
}
},
"miller-rabin": {
@@ -6638,8 +7864,8 @@
"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0"
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
}
},
"mime": {
@@ -6660,7 +7886,7 @@
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
"dev": true,
"requires": {
- "mime-db": "1.37.0"
+ "mime-db": "~1.37.0"
}
},
"mimic-fn": {
@@ -6669,6 +7895,12 @@
"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
"dev": true
},
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz",
+ "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+ "dev": true
+ },
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -6687,7 +7919,7 @@
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "brace-expansion": "^1.1.7"
}
},
"minimist": {
@@ -6702,35 +7934,35 @@
"integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
"dev": true,
"requires": {
- "concat-stream": "1.6.2",
- "duplexify": "3.6.1",
- "end-of-stream": "1.4.1",
- "flush-write-stream": "1.0.3",
- "from2": "2.3.0",
- "parallel-transform": "1.1.0",
- "pump": "2.0.1",
- "pumpify": "1.5.1",
- "stream-each": "1.2.3",
- "through2": "2.0.3"
+ "concat-stream": "^1.5.0",
+ "duplexify": "^3.4.2",
+ "end-of-stream": "^1.1.0",
+ "flush-write-stream": "^1.0.0",
+ "from2": "^2.1.0",
+ "parallel-transform": "^1.1.0",
+ "pump": "^2.0.1",
+ "pumpify": "^1.3.3",
+ "stream-each": "^1.1.0",
+ "through2": "^2.0.0"
}
},
"mixin-deep": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
- "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz?cache=0&sync_timestamp=1561409514276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmixin-deep%2Fdownload%2Fmixin-deep-1.3.2.tgz",
+ "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
"dev": true,
"requires": {
- "for-in": "1.0.2",
- "is-extendable": "1.0.1"
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "resolved": "http://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+ "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
"dev": true,
"requires": {
- "is-plain-object": "2.0.4"
+ "is-plain-object": "^2.0.4"
}
}
}
@@ -6741,8 +7973,8 @@
"integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
"dev": true,
"requires": {
- "for-in": "0.1.8",
- "is-extendable": "0.1.1"
+ "for-in": "^0.1.3",
+ "is-extendable": "^0.1.1"
},
"dependencies": {
"for-in": {
@@ -6762,18 +7994,31 @@
"minimist": "0.0.8"
}
},
+ "morgan": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npm.taobao.org/morgan/download/morgan-1.9.1.tgz",
+ "integrity": "sha1-Co0Wc0odmvvIJLmd+H5zjlji2lk=",
+ "dev": true,
+ "requires": {
+ "basic-auth": "~2.0.0",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "on-headers": "~1.0.1"
+ }
+ },
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
"dev": true,
"requires": {
- "aproba": "1.2.0",
- "copy-concurrently": "1.0.5",
- "fs-write-stream-atomic": "1.0.10",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "run-queue": "1.0.3"
+ "aproba": "^1.1.1",
+ "copy-concurrently": "^1.0.0",
+ "fs-write-stream-atomic": "^1.0.8",
+ "mkdirp": "^0.5.1",
+ "rimraf": "^2.5.4",
+ "run-queue": "^1.0.3"
}
},
"ms": {
@@ -6788,8 +8033,8 @@
"integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
"dev": true,
"requires": {
- "dns-packet": "1.3.1",
- "thunky": "1.0.3"
+ "dns-packet": "^1.3.1",
+ "thunky": "^1.0.2"
}
},
"multicast-dns-service-types": {
@@ -6805,23 +8050,29 @@
"dev": true,
"optional": true
},
+ "nanoid": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npm.taobao.org/nanoid/download/nanoid-2.0.3.tgz",
+ "integrity": "sha1-3emZ4XO8nXvS7idGuJkJremOB14=",
+ "dev": true
+ },
"nanomatch": {
"version": "1.2.13",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
"integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
"dev": true,
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "fragment-cache": "0.2.1",
- "is-windows": "1.0.2",
- "kind-of": "6.0.2",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"arr-diff": {
@@ -6874,8 +8125,8 @@
"resolved": "https://registry.npmjs.org/ng-zorro-antd/-/ng-zorro-antd-0.7.1.tgz",
"integrity": "sha512-GqeQ8BqOVu3ubKtavYsFti5niRKQwNgz6tMeULmKZdJAwS/ylAsDDmx5AB0bGLv4CrIgto9fUolRyxR8+dLYVw==",
"requires": {
- "@angular/cdk": "5.2.5",
- "date-fns": "1.29.0"
+ "@angular/cdk": "^5.0.0",
+ "date-fns": "^1.29.0"
}
},
"ngx-echarts": {
@@ -6889,7 +8140,7 @@
"integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
"dev": true,
"requires": {
- "lower-case": "1.1.4"
+ "lower-case": "^1.1.1"
}
},
"node-forge": {
@@ -6905,18 +8156,18 @@
"dev": true,
"optional": true,
"requires": {
- "fstream": "1.0.11",
- "glob": "7.1.3",
- "graceful-fs": "4.1.11",
- "mkdirp": "0.5.1",
- "nopt": "3.0.6",
- "npmlog": "4.1.2",
- "osenv": "0.1.5",
- "request": "2.88.0",
- "rimraf": "2.6.2",
- "semver": "5.3.0",
- "tar": "2.2.1",
- "which": "1.3.1"
+ "fstream": "^1.0.0",
+ "glob": "^7.0.3",
+ "graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
+ "nopt": "2 || 3",
+ "npmlog": "0 || 1 || 2 || 3 || 4",
+ "osenv": "0",
+ "request": "^2.87.0",
+ "rimraf": "2",
+ "semver": "~5.3.0",
+ "tar": "^2.0.0",
+ "which": "1"
},
"dependencies": {
"ajv": {
@@ -6926,10 +8177,10 @@
"dev": true,
"optional": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"assert-plus": {
@@ -6953,9 +8204,9 @@
"dev": true,
"optional": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
}
},
"har-schema": {
@@ -6972,8 +8223,8 @@
"dev": true,
"optional": true,
"requires": {
- "ajv": "5.5.2",
- "har-schema": "2.0.0"
+ "ajv": "^5.3.0",
+ "har-schema": "^2.0.0"
}
},
"http-signature": {
@@ -6983,9 +8234,9 @@
"dev": true,
"optional": true,
"requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.15.1"
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
}
},
"nopt": {
@@ -6995,7 +8246,7 @@
"dev": true,
"optional": true,
"requires": {
- "abbrev": "1.1.1"
+ "abbrev": "1"
}
},
"oauth-sign": {
@@ -7033,26 +8284,26 @@
"dev": true,
"optional": true,
"requires": {
- "aws-sign2": "0.7.0",
- "aws4": "1.8.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.3.3",
- "har-validator": "5.1.0",
- "http-signature": "1.2.0",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "oauth-sign": "0.9.0",
- "performance-now": "2.1.0",
- "qs": "6.5.2",
- "safe-buffer": "5.1.2",
- "tough-cookie": "2.4.3",
- "tunnel-agent": "0.6.0",
- "uuid": "3.3.2"
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
}
},
"semver": {
@@ -7069,8 +8320,8 @@
"dev": true,
"optional": true,
"requires": {
- "psl": "1.1.29",
- "punycode": "1.4.1"
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
}
}
}
@@ -7081,28 +8332,28 @@
"integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
"dev": true,
"requires": {
- "assert": "1.4.1",
- "browserify-zlib": "0.2.0",
- "buffer": "4.9.1",
- "console-browserify": "1.1.0",
- "constants-browserify": "1.0.0",
- "crypto-browserify": "3.12.0",
- "domain-browser": "1.2.0",
- "events": "1.1.1",
- "https-browserify": "1.0.0",
- "os-browserify": "0.3.0",
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^1.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
"path-browserify": "0.0.0",
- "process": "0.11.10",
- "punycode": "1.4.1",
- "querystring-es3": "0.2.1",
- "readable-stream": "2.3.6",
- "stream-browserify": "2.0.1",
- "stream-http": "2.8.3",
- "string_decoder": "1.1.1",
- "timers-browserify": "2.0.10",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
"tty-browserify": "0.0.0",
- "url": "0.11.0",
- "util": "0.10.4",
+ "url": "^0.11.0",
+ "util": "^0.10.3",
"vm-browserify": "0.0.4"
},
"dependencies": {
@@ -7127,25 +8378,25 @@
"dev": true,
"optional": true,
"requires": {
- "async-foreach": "0.1.3",
- "chalk": "1.1.3",
- "cross-spawn": "3.0.1",
- "gaze": "1.1.3",
- "get-stdin": "4.0.1",
- "glob": "7.1.3",
- "in-publish": "2.0.0",
- "lodash.assign": "4.2.0",
- "lodash.clonedeep": "4.5.0",
- "lodash.mergewith": "4.6.1",
- "meow": "3.7.0",
- "mkdirp": "0.5.1",
- "nan": "2.11.1",
- "node-gyp": "3.8.0",
- "npmlog": "4.1.2",
- "request": "2.88.0",
- "sass-graph": "2.2.4",
- "stdout-stream": "1.4.1",
- "true-case-path": "1.0.3"
+ "async-foreach": "^0.1.3",
+ "chalk": "^1.1.1",
+ "cross-spawn": "^3.0.0",
+ "gaze": "^1.0.0",
+ "get-stdin": "^4.0.1",
+ "glob": "^7.0.3",
+ "in-publish": "^2.0.0",
+ "lodash.assign": "^4.2.0",
+ "lodash.clonedeep": "^4.3.2",
+ "lodash.mergewith": "^4.6.0",
+ "meow": "^3.7.0",
+ "mkdirp": "^0.5.1",
+ "nan": "^2.10.0",
+ "node-gyp": "^3.8.0",
+ "npmlog": "^4.0.0",
+ "request": "^2.88.0",
+ "sass-graph": "^2.2.4",
+ "stdout-stream": "^1.4.0",
+ "true-case-path": "^1.0.2"
},
"dependencies": {
"ajv": {
@@ -7155,10 +8406,10 @@
"dev": true,
"optional": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"ansi-styles": {
@@ -7189,11 +8440,11 @@
"dev": true,
"optional": true,
"requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
}
},
"form-data": {
@@ -7203,9 +8454,9 @@
"dev": true,
"optional": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
}
},
"har-schema": {
@@ -7222,8 +8473,8 @@
"dev": true,
"optional": true,
"requires": {
- "ajv": "5.5.2",
- "har-schema": "2.0.0"
+ "ajv": "^5.3.0",
+ "har-schema": "^2.0.0"
}
},
"http-signature": {
@@ -7233,9 +8484,9 @@
"dev": true,
"optional": true,
"requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.15.1"
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
}
},
"oauth-sign": {
@@ -7273,26 +8524,26 @@
"dev": true,
"optional": true,
"requires": {
- "aws-sign2": "0.7.0",
- "aws4": "1.8.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.3.3",
- "har-validator": "5.1.0",
- "http-signature": "1.2.0",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "oauth-sign": "0.9.0",
- "performance-now": "2.1.0",
- "qs": "6.5.2",
- "safe-buffer": "5.1.2",
- "tough-cookie": "2.4.3",
- "tunnel-agent": "0.6.0",
- "uuid": "3.3.2"
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
}
},
"supports-color": {
@@ -7309,8 +8560,8 @@
"dev": true,
"optional": true,
"requires": {
- "psl": "1.1.29",
- "punycode": "1.4.1"
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
}
}
}
@@ -7345,8 +8596,8 @@
"dev": true,
"optional": true,
"requires": {
- "ip": "1.1.5",
- "smart-buffer": "1.1.15"
+ "ip": "^1.1.2",
+ "smart-buffer": "^1.0.4"
}
}
}
@@ -7366,13 +8617,15 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz",
"integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"nodemailer-shared": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz",
"integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=",
"dev": true,
+ "optional": true,
"requires": {
"nodemailer-fetch": "1.6.0"
}
@@ -7405,7 +8658,8 @@
"version": "0.1.10",
"resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz",
"integrity": "sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"nopt": {
"version": "4.0.1",
@@ -7413,8 +8667,8 @@
"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"dev": true,
"requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
+ "abbrev": "1",
+ "osenv": "^0.1.4"
}
},
"normalize-package-data": {
@@ -7423,10 +8677,10 @@
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"dev": true,
"requires": {
- "hosted-git-info": "2.7.1",
- "is-builtin-module": "1.0.0",
- "semver": "5.6.0",
- "validate-npm-package-license": "3.0.4"
+ "hosted-git-info": "^2.1.4",
+ "is-builtin-module": "^1.0.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
}
},
"normalize-path": {
@@ -7435,7 +8689,7 @@
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
"requires": {
- "remove-trailing-separator": "1.1.0"
+ "remove-trailing-separator": "^1.0.1"
}
},
"normalize-range": {
@@ -7444,13 +8698,19 @@
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
+ "normalize-url": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-4.3.0.tgz",
+ "integrity": "sha1-nEnhD8GHaut226iL8bK12fpXsu4=",
+ "dev": true
+ },
"npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
"requires": {
- "path-key": "2.0.1"
+ "path-key": "^2.0.0"
}
},
"npmlog": {
@@ -7458,11 +8718,12 @@
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": true,
+ "optional": true,
"requires": {
- "are-we-there-yet": "1.1.5",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
}
},
"nth-check": {
@@ -7471,7 +8732,7 @@
"integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
"dev": true,
"requires": {
- "boolbase": "1.0.0"
+ "boolbase": "~1.0.0"
}
},
"null-check": {
@@ -7517,9 +8778,9 @@
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
- "copy-descriptor": "0.1.1",
- "define-property": "0.2.5",
- "kind-of": "3.2.2"
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
},
"dependencies": {
"define-property": {
@@ -7528,7 +8789,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
}
}
@@ -7545,7 +8806,7 @@
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
"requires": {
- "isobject": "3.0.1"
+ "isobject": "^3.0.0"
},
"dependencies": {
"isobject": {
@@ -7562,8 +8823,8 @@
"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
"dev": true,
"requires": {
- "for-own": "0.1.5",
- "is-extendable": "0.1.1"
+ "for-own": "^0.1.4",
+ "is-extendable": "^0.1.1"
}
},
"object.pick": {
@@ -7572,7 +8833,7 @@
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"dev": true,
"requires": {
- "isobject": "3.0.1"
+ "isobject": "^3.0.1"
},
"dependencies": {
"isobject": {
@@ -7610,7 +8871,7 @@
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
- "wrappy": "1.0.2"
+ "wrappy": "1"
}
},
"opn": {
@@ -7619,7 +8880,7 @@
"integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==",
"dev": true,
"requires": {
- "is-wsl": "1.1.0"
+ "is-wsl": "^1.1.0"
}
},
"optimist": {
@@ -7628,8 +8889,8 @@
"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
"dev": true,
"requires": {
- "minimist": "0.0.8",
- "wordwrap": "0.0.2"
+ "minimist": "~0.0.1",
+ "wordwrap": "~0.0.2"
}
},
"optionator": {
@@ -7639,12 +8900,12 @@
"dev": true,
"optional": true,
"requires": {
- "deep-is": "0.1.3",
- "fast-levenshtein": "2.0.6",
- "levn": "0.3.0",
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2",
- "wordwrap": "1.0.0"
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.4",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "wordwrap": "~1.0.0"
},
"dependencies": {
"wordwrap": {
@@ -7668,7 +8929,7 @@
"integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
"dev": true,
"requires": {
- "url-parse": "1.4.3"
+ "url-parse": "^1.4.3"
}
},
"os-browserify": {
@@ -7689,7 +8950,7 @@
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true,
"requires": {
- "lcid": "1.0.0"
+ "lcid": "^1.0.0"
}
},
"os-tmpdir": {
@@ -7704,10 +8965,16 @@
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
}
},
+ "p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz",
+ "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=",
+ "dev": true
+ },
"p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
@@ -7720,7 +8987,7 @@
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"dev": true,
"requires": {
- "p-try": "1.0.0"
+ "p-try": "^1.0.0"
}
},
"p-locate": {
@@ -7729,7 +8996,7 @@
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"dev": true,
"requires": {
- "p-limit": "1.3.0"
+ "p-limit": "^1.1.0"
}
},
"p-map": {
@@ -7751,14 +9018,14 @@
"dev": true,
"optional": true,
"requires": {
- "agent-base": "4.2.1",
- "debug": "3.2.6",
- "get-uri": "2.0.2",
- "http-proxy-agent": "2.1.0",
- "https-proxy-agent": "2.2.1",
- "pac-resolver": "3.0.0",
- "raw-body": "2.3.3",
- "socks-proxy-agent": "4.0.1"
+ "agent-base": "^4.2.0",
+ "debug": "^3.1.0",
+ "get-uri": "^2.0.0",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^2.2.1",
+ "pac-resolver": "^3.0.0",
+ "raw-body": "^2.2.0",
+ "socks-proxy-agent": "^4.0.1"
},
"dependencies": {
"debug": {
@@ -7768,7 +9035,7 @@
"dev": true,
"optional": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
}
},
"ms": {
@@ -7787,11 +9054,31 @@
"dev": true,
"optional": true,
"requires": {
- "co": "4.6.0",
- "degenerator": "1.0.4",
- "ip": "1.1.5",
- "netmask": "1.0.6",
- "thunkify": "2.1.2"
+ "co": "^4.6.0",
+ "degenerator": "^1.0.4",
+ "ip": "^1.1.5",
+ "netmask": "^1.0.6",
+ "thunkify": "^2.1.2"
+ }
+ },
+ "package-json": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npm.taobao.org/package-json/download/package-json-6.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpackage-json%2Fdownload%2Fpackage-json-6.5.0.tgz",
+ "integrity": "sha1-b+7ayjXnVyWHbQsOZJdGl/7RRbA=",
+ "dev": true,
+ "requires": {
+ "got": "^9.6.0",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^6.2.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1565627367398&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+ "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
+ "dev": true
+ }
}
},
"pako": {
@@ -7806,9 +9093,9 @@
"integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
"dev": true,
"requires": {
- "cyclist": "0.2.2",
- "inherits": "2.0.3",
- "readable-stream": "2.3.6"
+ "cyclist": "~0.2.2",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.1.5"
}
},
"param-case": {
@@ -7817,7 +9104,7 @@
"integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
"dev": true,
"requires": {
- "no-case": "2.3.2"
+ "no-case": "^2.2.0"
}
},
"parse-asn1": {
@@ -7826,11 +9113,11 @@
"integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
"dev": true,
"requires": {
- "asn1.js": "4.10.1",
- "browserify-aes": "1.2.0",
- "create-hash": "1.2.0",
- "evp_bytestokey": "1.0.3",
- "pbkdf2": "3.0.17"
+ "asn1.js": "^4.0.0",
+ "browserify-aes": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3"
}
},
"parse-glob": {
@@ -7839,10 +9126,10 @@
"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
"dev": true,
"requires": {
- "glob-base": "0.3.0",
- "is-dotfile": "1.0.3",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1"
+ "glob-base": "^0.3.0",
+ "is-dotfile": "^1.0.0",
+ "is-extglob": "^1.0.0",
+ "is-glob": "^2.0.0"
}
},
"parse-json": {
@@ -7851,7 +9138,7 @@
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
- "error-ex": "1.3.2"
+ "error-ex": "^1.2.0"
}
},
"parse-passwd": {
@@ -7866,7 +9153,7 @@
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
"dev": true,
"requires": {
- "better-assert": "1.0.2"
+ "better-assert": "~1.0.0"
}
},
"parseuri": {
@@ -7875,7 +9162,7 @@
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
"dev": true,
"requires": {
- "better-assert": "1.0.2"
+ "better-assert": "~1.0.0"
}
},
"parseurl": {
@@ -7939,7 +9226,7 @@
"dev": true,
"optional": true,
"requires": {
- "inflection": "1.3.8"
+ "inflection": "~1.3.0"
},
"dependencies": {
"inflection": {
@@ -7963,7 +9250,7 @@
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"dev": true,
"requires": {
- "pify": "3.0.0"
+ "pify": "^3.0.0"
}
},
"pbkdf2": {
@@ -7972,11 +9259,11 @@
"integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
"dev": true,
"requires": {
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "ripemd160": "2.0.2",
- "safe-buffer": "5.1.2",
- "sha.js": "2.4.11"
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
}
},
"performance-now": {
@@ -8004,7 +9291,7 @@
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
- "pinkie": "2.0.4"
+ "pinkie": "^2.0.0"
}
},
"pkg-dir": {
@@ -8013,18 +9300,33 @@
"integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
"dev": true,
"requires": {
- "find-up": "2.1.0"
+ "find-up": "^2.1.0"
}
},
+ "please-upgrade-node": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npm.taobao.org/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=",
+ "dev": true,
+ "requires": {
+ "semver-compare": "^1.0.0"
+ }
+ },
+ "pluralize": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpluralize%2Fdownload%2Fpluralize-7.0.0.tgz",
+ "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=",
+ "dev": true
+ },
"portfinder": {
"version": "1.0.18",
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.18.tgz",
"integrity": "sha512-KanzLOERzKoX3En5yTiV8K/arnU1ykYVokmtEn0PgCzqKZG9489tqW8ifp9+v3/VJZ5YDjvDt/PAP5WaPgk7FA==",
"dev": true,
"requires": {
- "async": "1.5.2",
- "debug": "2.6.9",
- "mkdirp": "0.5.1"
+ "async": "^1.5.2",
+ "debug": "^2.2.0",
+ "mkdirp": "0.5.x"
},
"dependencies": {
"async": {
@@ -8047,9 +9349,9 @@
"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
"dev": true,
"requires": {
- "chalk": "2.4.1",
- "source-map": "0.6.1",
- "supports-color": "5.5.0"
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
},
"dependencies": {
"chalk": {
@@ -8058,9 +9360,9 @@
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
},
"has-flag": {
@@ -8081,7 +9383,7 @@
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "^3.0.0"
}
}
}
@@ -8092,10 +9394,10 @@
"integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==",
"dev": true,
"requires": {
- "postcss": "6.0.23",
- "postcss-value-parser": "3.3.1",
- "read-cache": "1.0.0",
- "resolve": "1.8.1"
+ "postcss": "^6.0.1",
+ "postcss-value-parser": "^3.2.3",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
}
},
"postcss-load-config": {
@@ -8104,8 +9406,8 @@
"integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
"dev": true,
"requires": {
- "cosmiconfig": "4.0.0",
- "import-cwd": "2.1.0"
+ "cosmiconfig": "^4.0.0",
+ "import-cwd": "^2.0.0"
}
},
"postcss-loader": {
@@ -8114,10 +9416,10 @@
"integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "postcss": "6.0.23",
- "postcss-load-config": "2.0.0",
- "schema-utils": "0.4.7"
+ "loader-utils": "^1.1.0",
+ "postcss": "^6.0.0",
+ "postcss-load-config": "^2.0.0",
+ "schema-utils": "^0.4.0"
}
},
"postcss-url": {
@@ -8126,11 +9428,11 @@
"integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==",
"dev": true,
"requires": {
- "mime": "1.6.0",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "postcss": "6.0.23",
- "xxhashjs": "0.2.2"
+ "mime": "^1.4.1",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.0",
+ "postcss": "^6.0.1",
+ "xxhashjs": "^0.2.1"
}
},
"postcss-value-parser": {
@@ -8143,6 +9445,13 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true,
+ "optional": true
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
"dev": true
},
"preserve": {
@@ -8157,8 +9466,8 @@
"integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
"dev": true,
"requires": {
- "renderkid": "2.0.2",
- "utila": "0.4.0"
+ "renderkid": "^2.0.1",
+ "utila": "~0.4"
}
},
"process": {
@@ -8180,7 +9489,7 @@
"dev": true,
"optional": true,
"requires": {
- "asap": "2.0.6"
+ "asap": "~2.0.3"
}
},
"promise-inflight": {
@@ -8196,7 +9505,7 @@
"dev": true,
"optional": true,
"requires": {
- "with-callback": "1.0.2"
+ "with-callback": "^1.0.2"
}
},
"protractor": {
@@ -8205,21 +9514,21 @@
"integrity": "sha1-myIXQXCaTGLVzVPGqt1UpxE36V8=",
"dev": true,
"requires": {
- "@types/node": "6.0.118",
- "@types/q": "0.0.32",
- "@types/selenium-webdriver": "2.53.43",
+ "@types/node": "^6.0.46",
+ "@types/q": "^0.0.32",
+ "@types/selenium-webdriver": "~2.53.39",
"blocking-proxy": "0.0.5",
- "chalk": "1.1.3",
- "glob": "7.1.3",
- "jasmine": "2.99.0",
- "jasminewd2": "2.2.0",
- "optimist": "0.6.1",
+ "chalk": "^1.1.3",
+ "glob": "^7.0.3",
+ "jasmine": "^2.5.3",
+ "jasminewd2": "^2.1.0",
+ "optimist": "~0.6.0",
"q": "1.4.1",
- "saucelabs": "1.3.0",
+ "saucelabs": "~1.3.0",
"selenium-webdriver": "3.0.1",
- "source-map-support": "0.4.18",
- "webdriver-js-extender": "1.0.0",
- "webdriver-manager": "12.1.0"
+ "source-map-support": "~0.4.0",
+ "webdriver-js-extender": "^1.0.0",
+ "webdriver-manager": "^12.0.6"
},
"dependencies": {
"ajv": {
@@ -8228,10 +9537,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"ansi-styles": {
@@ -8258,11 +9567,11 @@
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
}
},
"del": {
@@ -8271,13 +9580,13 @@
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
"dev": true,
"requires": {
- "globby": "5.0.0",
- "is-path-cwd": "1.0.0",
- "is-path-in-cwd": "1.0.1",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "rimraf": "2.6.2"
+ "globby": "^5.0.0",
+ "is-path-cwd": "^1.0.0",
+ "is-path-in-cwd": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "rimraf": "^2.2.8"
}
},
"form-data": {
@@ -8286,9 +9595,9 @@
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"dev": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
}
},
"globby": {
@@ -8297,12 +9606,12 @@
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
"requires": {
- "array-union": "1.0.2",
- "arrify": "1.0.1",
- "glob": "7.1.3",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
}
},
"har-schema": {
@@ -8317,8 +9626,8 @@
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
"dev": true,
"requires": {
- "ajv": "5.5.2",
- "har-schema": "2.0.0"
+ "ajv": "^5.3.0",
+ "har-schema": "^2.0.0"
}
},
"http-signature": {
@@ -8327,9 +9636,9 @@
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.15.1"
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
}
},
"minimist": {
@@ -8374,26 +9683,26 @@
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
"dev": true,
"requires": {
- "aws-sign2": "0.7.0",
- "aws4": "1.8.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.3.3",
- "har-validator": "5.1.0",
- "http-signature": "1.2.0",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "oauth-sign": "0.9.0",
- "performance-now": "2.1.0",
- "qs": "6.5.2",
- "safe-buffer": "5.1.2",
- "tough-cookie": "2.4.3",
- "tunnel-agent": "0.6.0",
- "uuid": "3.3.2"
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.0",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.4.3",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
}
},
"supports-color": {
@@ -8408,8 +9717,8 @@
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
"dev": true,
"requires": {
- "psl": "1.1.29",
- "punycode": "1.4.1"
+ "psl": "^1.1.24",
+ "punycode": "^1.4.1"
}
},
"webdriver-manager": {
@@ -8418,17 +9727,17 @@
"integrity": "sha512-oEc5fmkpz6Yh6udhwir5m0eN5mgRPq9P/NU5YWuT3Up5slt6Zz+znhLU7q4+8rwCZz/Qq3Fgpr/4oao7NPCm2A==",
"dev": true,
"requires": {
- "adm-zip": "0.4.11",
- "chalk": "1.1.3",
- "del": "2.2.2",
- "glob": "7.1.3",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "q": "1.4.1",
- "request": "2.88.0",
- "rimraf": "2.6.2",
- "semver": "5.6.0",
- "xml2js": "0.4.19"
+ "adm-zip": "^0.4.9",
+ "chalk": "^1.1.1",
+ "del": "^2.2.0",
+ "glob": "^7.0.3",
+ "ini": "^1.3.4",
+ "minimist": "^1.2.0",
+ "q": "^1.4.1",
+ "request": "^2.87.0",
+ "rimraf": "^2.5.2",
+ "semver": "^5.3.0",
+ "xml2js": "^0.4.17"
}
}
}
@@ -8439,7 +9748,7 @@
"integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
"dev": true,
"requires": {
- "forwarded": "0.1.2",
+ "forwarded": "~0.1.2",
"ipaddr.js": "1.8.0"
}
},
@@ -8450,14 +9759,14 @@
"dev": true,
"optional": true,
"requires": {
- "agent-base": "4.2.1",
- "debug": "3.2.6",
- "http-proxy-agent": "2.1.0",
- "https-proxy-agent": "2.2.1",
- "lru-cache": "4.1.3",
- "pac-proxy-agent": "3.0.0",
- "proxy-from-env": "1.0.0",
- "socks-proxy-agent": "4.0.1"
+ "agent-base": "^4.2.0",
+ "debug": "^3.1.0",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^2.2.1",
+ "lru-cache": "^4.1.2",
+ "pac-proxy-agent": "^3.0.0",
+ "proxy-from-env": "^1.0.0",
+ "socks-proxy-agent": "^4.0.1"
},
"dependencies": {
"debug": {
@@ -8467,7 +9776,7 @@
"dev": true,
"optional": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
}
},
"ms": {
@@ -8510,12 +9819,12 @@
"integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"dev": true,
"requires": {
- "bn.js": "4.11.8",
- "browserify-rsa": "4.0.1",
- "create-hash": "1.2.0",
- "parse-asn1": "5.1.1",
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2"
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
}
},
"pump": {
@@ -8524,8 +9833,8 @@
"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
"dev": true,
"requires": {
- "end-of-stream": "1.4.1",
- "once": "1.4.0"
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
}
},
"pumpify": {
@@ -8534,9 +9843,9 @@
"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
"dev": true,
"requires": {
- "duplexify": "3.6.1",
- "inherits": "2.0.3",
- "pump": "2.0.1"
+ "duplexify": "^3.6.0",
+ "inherits": "^2.0.3",
+ "pump": "^2.0.0"
}
},
"punycode": {
@@ -8588,9 +9897,9 @@
"integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==",
"dev": true,
"requires": {
- "is-number": "4.0.0",
- "kind-of": "6.0.2",
- "math-random": "1.0.1"
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
},
"dependencies": {
"is-number": {
@@ -8613,7 +9922,7 @@
"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "^5.1.0"
}
},
"randomfill": {
@@ -8622,8 +9931,8 @@
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"dev": true,
"requires": {
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2"
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
}
},
"range-parser": {
@@ -8650,13 +9959,33 @@
"integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=",
"dev": true
},
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "http://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz",
+ "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=",
+ "dev": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true
+ }
+ }
+ },
"read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
"dev": true,
"requires": {
- "pify": "2.3.0"
+ "pify": "^2.3.0"
},
"dependencies": {
"pify": {
@@ -8673,9 +10002,9 @@
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
- "load-json-file": "1.1.0",
- "normalize-package-data": "2.4.0",
- "path-type": "1.1.0"
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
},
"dependencies": {
"path-type": {
@@ -8684,9 +10013,9 @@
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
}
},
"pify": {
@@ -8703,8 +10032,8 @@
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
- "find-up": "1.1.2",
- "read-pkg": "1.1.0"
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
},
"dependencies": {
"find-up": {
@@ -8713,8 +10042,8 @@
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
}
},
"path-exists": {
@@ -8723,7 +10052,7 @@
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
- "pinkie-promise": "2.0.1"
+ "pinkie-promise": "^2.0.0"
}
}
}
@@ -8734,13 +10063,13 @@
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.2",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
}
},
"readdirp": {
@@ -8749,9 +10078,9 @@
"integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "micromatch": "3.1.10",
- "readable-stream": "2.3.6"
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
},
"dependencies": {
"arr-diff": {
@@ -8772,16 +10101,16 @@
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.3",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
@@ -8790,7 +10119,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -8801,13 +10130,13 @@
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -8816,7 +10145,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
@@ -8825,7 +10154,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
@@ -8834,7 +10163,7 @@
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -8843,7 +10172,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -8854,7 +10183,7 @@
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -8863,7 +10192,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -8874,9 +10203,9 @@
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
}
},
"kind-of": {
@@ -8893,14 +10222,14 @@
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
"requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -8909,7 +10238,7 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
@@ -8918,7 +10247,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -8929,10 +10258,10 @@
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
@@ -8941,7 +10270,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -8952,7 +10281,7 @@
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
@@ -8961,7 +10290,7 @@
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
@@ -8970,9 +10299,9 @@
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"is-number": {
@@ -8981,7 +10310,7 @@
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -8990,7 +10319,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -9013,19 +10342,19 @@
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
}
}
}
@@ -9036,8 +10365,8 @@
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
"requires": {
- "indent-string": "2.1.0",
- "strip-indent": "1.0.1"
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
}
},
"redis": {
@@ -9047,9 +10376,9 @@
"dev": true,
"optional": true,
"requires": {
- "double-ended-queue": "2.1.0-0",
- "redis-commands": "1.4.0",
- "redis-parser": "2.6.0"
+ "double-ended-queue": "^2.1.0-0",
+ "redis-commands": "^1.2.0",
+ "redis-parser": "^2.6.0"
}
},
"redis-commands": {
@@ -9090,7 +10419,7 @@
"integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
"dev": true,
"requires": {
- "is-equal-shallow": "0.1.3"
+ "is-equal-shallow": "^0.1.3"
}
},
"regex-not": {
@@ -9099,8 +10428,8 @@
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"dev": true,
"requires": {
- "extend-shallow": "3.0.2",
- "safe-regex": "1.1.0"
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
}
},
"regexpu-core": {
@@ -9109,9 +10438,28 @@
"integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
"dev": true,
"requires": {
- "regenerate": "1.4.0",
- "regjsgen": "0.2.0",
- "regjsparser": "0.1.5"
+ "regenerate": "^1.2.1",
+ "regjsgen": "^0.2.0",
+ "regjsparser": "^0.1.4"
+ }
+ },
+ "registry-auth-token": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npm.taobao.org/registry-auth-token/download/registry-auth-token-4.0.0.tgz?cache=0&sync_timestamp=1560785240550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregistry-auth-token%2Fdownload%2Fregistry-auth-token-4.0.0.tgz",
+ "integrity": "sha1-MOVZYe7Hc3naVR6lxM9Dy/A1Ir4=",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "registry-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npm.taobao.org/registry-url/download/registry-url-5.1.0.tgz",
+ "integrity": "sha1-6YM0tQ1UNLgRNrROxjjZwgCcUAk=",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8"
}
},
"regjsgen": {
@@ -9126,7 +10474,7 @@
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
"dev": true,
"requires": {
- "jsesc": "0.5.0"
+ "jsesc": "~0.5.0"
},
"dependencies": {
"jsesc": {
@@ -9155,11 +10503,11 @@
"integrity": "sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg==",
"dev": true,
"requires": {
- "css-select": "1.2.0",
- "dom-converter": "0.2.0",
- "htmlparser2": "3.3.0",
- "strip-ansi": "3.0.1",
- "utila": "0.4.0"
+ "css-select": "^1.1.0",
+ "dom-converter": "~0.2",
+ "htmlparser2": "~3.3.0",
+ "strip-ansi": "^3.0.0",
+ "utila": "^0.4.0"
}
},
"repeat-element": {
@@ -9180,7 +10528,7 @@
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
"requires": {
- "is-finite": "1.0.2"
+ "is-finite": "^1.0.0"
}
},
"request": {
@@ -9190,28 +10538,28 @@
"dev": true,
"optional": true,
"requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.8.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "4.2.1",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "oauth-sign": "0.8.2",
- "performance-now": "0.2.0",
- "qs": "6.4.0",
- "safe-buffer": "5.1.2",
- "stringstream": "0.0.6",
- "tough-cookie": "2.3.4",
- "tunnel-agent": "0.6.0",
- "uuid": "3.3.2"
+ "aws-sign2": "~0.6.0",
+ "aws4": "^1.2.1",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.5",
+ "extend": "~3.0.0",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.1.1",
+ "har-validator": "~4.2.1",
+ "hawk": "~3.1.3",
+ "http-signature": "~1.1.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.7",
+ "oauth-sign": "~0.8.1",
+ "performance-now": "^0.2.0",
+ "qs": "~6.4.0",
+ "safe-buffer": "^5.0.1",
+ "stringstream": "~0.0.4",
+ "tough-cookie": "~2.3.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.0.0"
}
},
"requestretry": {
@@ -9221,10 +10569,10 @@
"dev": true,
"optional": true,
"requires": {
- "extend": "3.0.2",
- "lodash": "4.17.11",
- "request": "2.81.0",
- "when": "3.7.8"
+ "extend": "^3.0.0",
+ "lodash": "^4.15.0",
+ "request": "^2.74.0",
+ "when": "^3.7.7"
},
"dependencies": {
"when": {
@@ -9266,7 +10614,7 @@
"integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
"dev": true,
"requires": {
- "path-parse": "1.0.6"
+ "path-parse": "^1.0.5"
}
},
"resolve-cwd": {
@@ -9275,7 +10623,7 @@
"integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
"dev": true,
"requires": {
- "resolve-from": "3.0.0"
+ "resolve-from": "^3.0.0"
}
},
"resolve-from": {
@@ -9290,6 +10638,15 @@
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
@@ -9302,7 +10659,7 @@
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
"dev": true,
"requires": {
- "align-text": "0.1.4"
+ "align-text": "^0.1.1"
}
},
"rimraf": {
@@ -9311,7 +10668,7 @@
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"dev": true,
"requires": {
- "glob": "7.1.3"
+ "glob": "^7.0.5"
}
},
"ripemd160": {
@@ -9320,8 +10677,8 @@
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"dev": true,
"requires": {
- "hash-base": "3.0.4",
- "inherits": "2.0.3"
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
}
},
"run-queue": {
@@ -9330,7 +10687,7 @@
"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
"dev": true,
"requires": {
- "aproba": "1.2.0"
+ "aproba": "^1.1.1"
}
},
"rxjs": {
@@ -9353,7 +10710,7 @@
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
- "ret": "0.1.15"
+ "ret": "~0.1.10"
}
},
"safer-buffer": {
@@ -9369,10 +10726,10 @@
"dev": true,
"optional": true,
"requires": {
- "glob": "7.1.3",
- "lodash": "4.17.11",
- "scss-tokenizer": "0.2.3",
- "yargs": "7.1.0"
+ "glob": "^7.0.0",
+ "lodash": "^4.0.0",
+ "scss-tokenizer": "^0.2.3",
+ "yargs": "^7.0.0"
}
},
"sass-loader": {
@@ -9381,11 +10738,11 @@
"integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==",
"dev": true,
"requires": {
- "clone-deep": "2.0.2",
- "loader-utils": "1.1.0",
- "lodash.tail": "4.1.1",
- "neo-async": "2.6.0",
- "pify": "3.0.0"
+ "clone-deep": "^2.0.1",
+ "loader-utils": "^1.0.1",
+ "lodash.tail": "^4.1.1",
+ "neo-async": "^2.5.0",
+ "pify": "^3.0.0"
}
},
"saucelabs": {
@@ -9394,7 +10751,7 @@
"integrity": "sha1-0kDoAJ33+ocwbsRXimm6O1xCT+4=",
"dev": true,
"requires": {
- "https-proxy-agent": "1.0.0"
+ "https-proxy-agent": "^1.0.0"
},
"dependencies": {
"agent-base": {
@@ -9403,8 +10760,8 @@
"integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
"dev": true,
"requires": {
- "extend": "3.0.2",
- "semver": "5.0.3"
+ "extend": "~3.0.0",
+ "semver": "~5.0.1"
}
},
"https-proxy-agent": {
@@ -9413,9 +10770,9 @@
"integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
"dev": true,
"requires": {
- "agent-base": "2.1.1",
- "debug": "2.6.9",
- "extend": "3.0.2"
+ "agent-base": "2",
+ "debug": "2",
+ "extend": "3"
}
},
"semver": {
@@ -9438,8 +10795,8 @@
"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
"dev": true,
"requires": {
- "ajv": "6.5.4",
- "ajv-keywords": "3.2.0"
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0"
}
},
"scss-tokenizer": {
@@ -9449,8 +10806,8 @@
"dev": true,
"optional": true,
"requires": {
- "js-base64": "2.4.9",
- "source-map": "0.4.4"
+ "js-base64": "^2.1.8",
+ "source-map": "^0.4.2"
},
"dependencies": {
"source-map": {
@@ -9460,7 +10817,7 @@
"dev": true,
"optional": true,
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": ">=0.0.4"
}
}
}
@@ -9477,10 +10834,10 @@
"integrity": "sha1-ot6l2kqX9mcuiefKcnbO+jZRR6c=",
"dev": true,
"requires": {
- "adm-zip": "0.4.11",
- "rimraf": "2.6.2",
+ "adm-zip": "^0.4.7",
+ "rimraf": "^2.5.4",
"tmp": "0.0.30",
- "xml2js": "0.4.19"
+ "xml2js": "^0.4.17"
},
"dependencies": {
"tmp": {
@@ -9489,7 +10846,7 @@
"integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
"dev": true,
"requires": {
- "os-tmpdir": "1.0.2"
+ "os-tmpdir": "~1.0.1"
}
}
}
@@ -9509,13 +10866,28 @@
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
"dev": true
},
+ "semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz",
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "dev": true
+ },
+ "semver-diff": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npm.taobao.org/semver-diff/download/semver-diff-2.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver-diff%2Fdownload%2Fsemver-diff-2.1.0.tgz",
+ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "dev": true,
+ "requires": {
+ "semver": "^5.0.3"
+ }
+ },
"semver-dsl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz",
"integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=",
"dev": true,
"requires": {
- "semver": "5.6.0"
+ "semver": "^5.3.0"
}
},
"semver-intersect": {
@@ -9524,7 +10896,7 @@
"integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
"dev": true,
"requires": {
- "semver": "5.6.0"
+ "semver": "^5.0.0"
}
},
"send": {
@@ -9534,18 +10906,18 @@
"dev": true,
"requires": {
"debug": "2.6.9",
- "depd": "1.1.2",
- "destroy": "1.0.4",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
"fresh": "0.5.2",
- "http-errors": "1.6.3",
+ "http-errors": "~1.6.2",
"mime": "1.4.1",
"ms": "2.0.0",
- "on-finished": "2.3.0",
- "range-parser": "1.2.0",
- "statuses": "1.4.0"
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.0",
+ "statuses": "~1.4.0"
},
"dependencies": {
"mime": {
@@ -9568,13 +10940,13 @@
"integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
"dev": true,
"requires": {
- "accepts": "1.3.5",
+ "accepts": "~1.3.4",
"batch": "0.6.1",
"debug": "2.6.9",
- "escape-html": "1.0.3",
- "http-errors": "1.6.3",
- "mime-types": "2.1.21",
- "parseurl": "1.3.2"
+ "escape-html": "~1.0.3",
+ "http-errors": "~1.6.2",
+ "mime-types": "~2.1.17",
+ "parseurl": "~1.3.2"
}
},
"serve-static": {
@@ -9583,12 +10955,18 @@
"integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
"dev": true,
"requires": {
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "parseurl": "1.3.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.2",
"send": "0.16.2"
}
},
+ "server-destroy": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/server-destroy/download/server-destroy-1.0.1.tgz",
+ "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=",
+ "dev": true
+ },
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -9596,15 +10974,15 @@
"dev": true
},
"set-value": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz",
+ "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
"dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "split-string": "3.1.0"
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
@@ -9613,7 +10991,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -9636,8 +11014,8 @@
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
}
},
"shallow-clone": {
@@ -9646,9 +11024,9 @@
"integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
"dev": true,
"requires": {
- "is-extendable": "0.1.1",
- "kind-of": "5.1.0",
- "mixin-object": "2.0.1"
+ "is-extendable": "^0.1.1",
+ "kind-of": "^5.0.0",
+ "mixin-object": "^2.0.1"
},
"dependencies": {
"kind-of": {
@@ -9665,7 +11043,7 @@
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
"requires": {
- "shebang-regex": "1.0.0"
+ "shebang-regex": "^1.0.0"
}
},
"shebang-regex": {
@@ -9686,7 +11064,7 @@
"integrity": "sha512-n4iEKyNcg4v6/jpb3c0/iyH2G1nzUNl7Gpqtn/mHIJK9S/q/7MCfoO4rwVOoO59qPFIc0hVHvMbiOJ0NdtxKKw==",
"dev": true,
"requires": {
- "debug": "2.6.9"
+ "debug": "^2.2.0"
}
},
"slack-node": {
@@ -9696,7 +11074,7 @@
"dev": true,
"optional": true,
"requires": {
- "requestretry": "1.13.0"
+ "requestretry": "^1.2.2"
}
},
"slash": {
@@ -9709,13 +11087,15 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz",
"integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==",
- "dev": true
+ "dev": true,
+ "optional": true
},
"smtp-connection": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-2.12.0.tgz",
"integrity": "sha1-1275EnyyPCJZ7bHoNJwujV4tdME=",
"dev": true,
+ "optional": true,
"requires": {
"httpntlm": "1.6.1",
"nodemailer-shared": "1.1.0"
@@ -9727,14 +11107,14 @@
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
"requires": {
- "base": "0.11.2",
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "map-cache": "0.2.2",
- "source-map": "0.5.7",
- "source-map-resolve": "0.5.2",
- "use": "3.1.1"
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
},
"dependencies": {
"define-property": {
@@ -9743,7 +11123,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
@@ -9752,7 +11132,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -9763,9 +11143,9 @@
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
"requires": {
- "define-property": "1.0.0",
- "isobject": "3.0.1",
- "snapdragon-util": "3.0.1"
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -9774,7 +11154,7 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
@@ -9783,7 +11163,7 @@
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
@@ -9792,7 +11172,7 @@
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
@@ -9801,9 +11181,9 @@
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"isobject": {
@@ -9826,7 +11206,7 @@
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.2.0"
}
},
"sntp": {
@@ -9836,7 +11216,7 @@
"dev": true,
"optional": true,
"requires": {
- "hoek": "2.16.3"
+ "hoek": "2.x.x"
}
},
"socket.io": {
@@ -9845,11 +11225,11 @@
"integrity": "sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "engine.io": "3.1.5",
- "socket.io-adapter": "1.1.1",
+ "debug": "~2.6.6",
+ "engine.io": "~3.1.0",
+ "socket.io-adapter": "~1.1.0",
"socket.io-client": "2.0.4",
- "socket.io-parser": "3.1.3"
+ "socket.io-parser": "~3.1.1"
}
},
"socket.io-adapter": {
@@ -9868,14 +11248,14 @@
"base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0",
"component-emitter": "1.2.1",
- "debug": "2.6.9",
- "engine.io-client": "3.1.6",
+ "debug": "~2.6.4",
+ "engine.io-client": "~3.1.0",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"object-component": "0.0.3",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
- "socket.io-parser": "3.1.3",
+ "socket.io-parser": "~3.1.1",
"to-array": "0.1.4"
}
},
@@ -9886,8 +11266,8 @@
"dev": true,
"requires": {
"component-emitter": "1.2.1",
- "debug": "3.1.0",
- "has-binary2": "1.0.3",
+ "debug": "~3.1.0",
+ "has-binary2": "~1.0.2",
"isarray": "2.0.1"
},
"dependencies": {
@@ -9914,8 +11294,8 @@
"integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
"dev": true,
"requires": {
- "faye-websocket": "0.10.0",
- "uuid": "3.3.2"
+ "faye-websocket": "^0.10.0",
+ "uuid": "^3.0.1"
}
},
"sockjs-client": {
@@ -9924,12 +11304,12 @@
"integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=",
"dev": true,
"requires": {
- "debug": "2.6.9",
+ "debug": "^2.6.6",
"eventsource": "0.1.6",
- "faye-websocket": "0.11.1",
- "inherits": "2.0.3",
- "json3": "3.3.2",
- "url-parse": "1.4.3"
+ "faye-websocket": "~0.11.0",
+ "inherits": "^2.0.1",
+ "json3": "^3.3.2",
+ "url-parse": "^1.1.8"
},
"dependencies": {
"faye-websocket": {
@@ -9938,7 +11318,7 @@
"integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
"dev": true,
"requires": {
- "websocket-driver": "0.7.0"
+ "websocket-driver": ">=0.5.1"
}
}
}
@@ -9948,9 +11328,10 @@
"resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz",
"integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==",
"dev": true,
+ "optional": true,
"requires": {
- "ip": "1.1.5",
- "smart-buffer": "4.0.1"
+ "ip": "^1.1.5",
+ "smart-buffer": "^4.0.1"
}
},
"socks-proxy-agent": {
@@ -9958,9 +11339,10 @@
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz",
"integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==",
"dev": true,
+ "optional": true,
"requires": {
- "agent-base": "4.2.1",
- "socks": "2.2.1"
+ "agent-base": "~4.2.0",
+ "socks": "~2.2.0"
}
},
"source-list-map": {
@@ -9981,11 +11363,11 @@
"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
"dev": true,
"requires": {
- "atob": "2.1.2",
- "decode-uri-component": "0.2.0",
- "resolve-url": "0.2.1",
- "source-map-url": "0.4.0",
- "urix": "0.1.0"
+ "atob": "^2.1.1",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
}
},
"source-map-support": {
@@ -9994,7 +11376,7 @@
"integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
"dev": true,
"requires": {
- "source-map": "0.5.7"
+ "source-map": "^0.5.6"
}
},
"source-map-url": {
@@ -10009,8 +11391,8 @@
"integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
"dev": true,
"requires": {
- "spdx-expression-parse": "3.0.0",
- "spdx-license-ids": "3.0.1"
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
}
},
"spdx-exceptions": {
@@ -10025,8 +11407,8 @@
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true,
"requires": {
- "spdx-exceptions": "2.2.0",
- "spdx-license-ids": "3.0.1"
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
}
},
"spdx-license-ids": {
@@ -10035,42 +11417,13 @@
"integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==",
"dev": true
},
- "spdy": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
- "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "handle-thing": "1.2.5",
- "http-deceiver": "1.2.7",
- "safe-buffer": "5.1.2",
- "select-hose": "2.0.0",
- "spdy-transport": "2.1.0"
- }
- },
- "spdy-transport": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz",
- "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "detect-node": "2.0.4",
- "hpack.js": "2.1.6",
- "obuf": "1.1.2",
- "readable-stream": "2.3.6",
- "safe-buffer": "5.1.2",
- "wbuf": "1.7.3"
- }
- },
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
"requires": {
- "extend-shallow": "3.0.2"
+ "extend-shallow": "^3.0.0"
}
},
"sprintf-js": {
@@ -10085,15 +11438,15 @@
"integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==",
"dev": true,
"requires": {
- "asn1": "0.2.4",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.2",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.2",
- "getpass": "0.1.7",
- "jsbn": "0.1.1",
- "safer-buffer": "2.1.2",
- "tweetnacl": "0.14.5"
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
},
"dependencies": {
"assert-plus": {
@@ -10110,7 +11463,7 @@
"integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "^5.1.1"
}
},
"static-extend": {
@@ -10119,8 +11472,8 @@
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
"requires": {
- "define-property": "0.2.5",
- "object-copy": "0.1.0"
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
},
"dependencies": {
"define-property": {
@@ -10129,7 +11482,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
}
}
@@ -10147,7 +11500,16 @@
"dev": true,
"optional": true,
"requires": {
- "readable-stream": "2.3.6"
+ "readable-stream": "^2.0.1"
+ }
+ },
+ "steno": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npm.taobao.org/steno/download/steno-0.4.4.tgz",
+ "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.3"
}
},
"stream-browserify": {
@@ -10156,8 +11518,8 @@
"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
"dev": true,
"requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.6"
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
}
},
"stream-each": {
@@ -10166,8 +11528,8 @@
"integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
"dev": true,
"requires": {
- "end-of-stream": "1.4.1",
- "stream-shift": "1.0.0"
+ "end-of-stream": "^1.1.0",
+ "stream-shift": "^1.0.0"
}
},
"stream-http": {
@@ -10176,11 +11538,11 @@
"integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
"dev": true,
"requires": {
- "builtin-status-codes": "3.0.0",
- "inherits": "2.0.3",
- "readable-stream": "2.3.6",
- "to-arraybuffer": "1.0.1",
- "xtend": "4.0.1"
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
}
},
"stream-shift": {
@@ -10195,10 +11557,10 @@
"integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
"dev": true,
"requires": {
- "date-format": "1.2.0",
- "debug": "3.2.6",
- "mkdirp": "0.5.1",
- "readable-stream": "2.3.6"
+ "date-format": "^1.2.0",
+ "debug": "^3.1.0",
+ "mkdirp": "^0.5.1",
+ "readable-stream": "^2.3.0"
},
"dependencies": {
"debug": {
@@ -10207,7 +11569,7 @@
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
}
},
"ms": {
@@ -10224,9 +11586,9 @@
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
}
},
"string_decoder": {
@@ -10235,7 +11597,7 @@
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "~5.1.0"
}
},
"stringstream": {
@@ -10251,7 +11613,7 @@
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "ansi-regex": "^2.0.0"
}
},
"strip-bom": {
@@ -10260,7 +11622,7 @@
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
- "is-utf8": "0.2.1"
+ "is-utf8": "^0.2.0"
}
},
"strip-eof": {
@@ -10275,7 +11637,7 @@
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
"dev": true,
"requires": {
- "get-stdin": "4.0.1"
+ "get-stdin": "^4.0.1"
}
},
"strip-json-comments": {
@@ -10290,8 +11652,8 @@
"integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "schema-utils": "0.3.0"
+ "loader-utils": "^1.0.2",
+ "schema-utils": "^0.3.0"
},
"dependencies": {
"ajv": {
@@ -10300,10 +11662,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"schema-utils": {
@@ -10312,7 +11674,7 @@
"integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
"requires": {
- "ajv": "5.5.2"
+ "ajv": "^5.0.0"
}
}
}
@@ -10323,12 +11685,12 @@
"integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=",
"dev": true,
"requires": {
- "css-parse": "1.7.0",
- "debug": "2.6.9",
- "glob": "7.0.6",
- "mkdirp": "0.5.1",
- "sax": "0.5.8",
- "source-map": "0.1.43"
+ "css-parse": "1.7.x",
+ "debug": "*",
+ "glob": "7.0.x",
+ "mkdirp": "0.5.x",
+ "sax": "0.5.x",
+ "source-map": "0.1.x"
},
"dependencies": {
"glob": {
@@ -10337,12 +11699,12 @@
"integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
"dev": true,
"requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
"source-map": {
@@ -10351,7 +11713,7 @@
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"requires": {
- "amdefine": "1.0.1"
+ "amdefine": ">=0.0.4"
}
}
}
@@ -10362,9 +11724,9 @@
"integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "lodash.clonedeep": "4.5.0",
- "when": "3.6.4"
+ "loader-utils": "^1.0.2",
+ "lodash.clonedeep": "^4.5.0",
+ "when": "~3.6.x"
}
},
"supports-color": {
@@ -10373,7 +11735,7 @@
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
"dev": true,
"requires": {
- "has-flag": "2.0.0"
+ "has-flag": "^2.0.0"
}
},
"symbol-observable": {
@@ -10394,9 +11756,18 @@
"dev": true,
"optional": true,
"requires": {
- "block-stream": "0.0.9",
- "fstream": "1.0.11",
- "inherits": "2.0.3"
+ "block-stream": "*",
+ "fstream": "^1.0.2",
+ "inherits": "2"
+ }
+ },
+ "term-size": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npm.taobao.org/term-size/download/term-size-1.2.0.tgz",
+ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+ "dev": true,
+ "requires": {
+ "execa": "^0.7.0"
}
},
"through": {
@@ -10411,8 +11782,8 @@
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
"dev": true,
"requires": {
- "readable-stream": "2.3.6",
- "xtend": "4.0.1"
+ "readable-stream": "^2.1.5",
+ "xtend": "~4.0.1"
}
},
"thunkify": {
@@ -10440,7 +11811,7 @@
"integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
"dev": true,
"requires": {
- "setimmediate": "1.0.5"
+ "setimmediate": "^1.0.4"
}
},
"timespan": {
@@ -10456,7 +11827,7 @@
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"dev": true,
"requires": {
- "os-tmpdir": "1.0.2"
+ "os-tmpdir": "~1.0.2"
}
},
"to-array": {
@@ -10483,19 +11854,25 @@
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
}
},
+ "to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/to-readable-stream/download/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha1-zgqgwvPfat+FLvtASng+d8BHV3E=",
+ "dev": true
+ },
"to-regex": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
"dev": true,
"requires": {
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "regex-not": "1.0.2",
- "safe-regex": "1.1.0"
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
}
},
"to-regex-range": {
@@ -10504,8 +11881,8 @@
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
"requires": {
- "is-number": "3.0.0",
- "repeat-string": "1.6.1"
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
},
"dependencies": {
"is-number": {
@@ -10514,11 +11891,17 @@
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
}
}
}
},
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
+ "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=",
+ "dev": true
+ },
"toposort": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
@@ -10532,7 +11915,7 @@
"dev": true,
"optional": true,
"requires": {
- "punycode": "1.4.1"
+ "punycode": "^1.4.1"
},
"dependencies": {
"punycode": {
@@ -10569,7 +11952,7 @@
"dev": true,
"optional": true,
"requires": {
- "glob": "7.1.3"
+ "glob": "^7.1.2"
}
},
"ts-node": {
@@ -10578,16 +11961,16 @@
"integrity": "sha512-xcZH12oVg9PShKhy3UHyDmuDLV3y7iKwX25aMVPt1SIXSuAfWkFiGPEkg+th8R4YKW/QCxDoW7lJdb15lx6QWg==",
"dev": true,
"requires": {
- "arrify": "1.0.1",
- "chalk": "2.4.1",
- "diff": "3.5.0",
- "make-error": "1.3.5",
- "minimist": "1.2.0",
- "mkdirp": "0.5.1",
- "source-map-support": "0.5.9",
- "tsconfig": "7.0.0",
- "v8flags": "3.1.1",
- "yn": "2.0.0"
+ "arrify": "^1.0.0",
+ "chalk": "^2.3.0",
+ "diff": "^3.1.0",
+ "make-error": "^1.1.1",
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.5.0",
+ "tsconfig": "^7.0.0",
+ "v8flags": "^3.0.0",
+ "yn": "^2.0.0"
},
"dependencies": {
"chalk": {
@@ -10596,9 +11979,9 @@
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
},
"has-flag": {
@@ -10625,8 +12008,8 @@
"integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
"dev": true,
"requires": {
- "buffer-from": "1.1.1",
- "source-map": "0.6.1"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
},
"supports-color": {
@@ -10635,7 +12018,7 @@
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "^3.0.0"
}
}
}
@@ -10646,10 +12029,10 @@
"integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==",
"dev": true,
"requires": {
- "@types/strip-bom": "3.0.0",
+ "@types/strip-bom": "^3.0.0",
"@types/strip-json-comments": "0.0.30",
- "strip-bom": "3.0.0",
- "strip-json-comments": "2.0.1"
+ "strip-bom": "^3.0.0",
+ "strip-json-comments": "^2.0.0"
},
"dependencies": {
"strip-bom": {
@@ -10666,10 +12049,10 @@
"integrity": "sha512-NP+CjM1EXza/M8mOXBLH3vkFEJiu1zfEAlC5WdJxHPn8l96QPz5eooP6uAgYtw1CcKfuSyIiheNUdKxtDWCNeg==",
"dev": true,
"requires": {
- "minimist": "1.2.0",
- "mkdirp": "0.5.1",
- "source-map": "0.6.1",
- "source-map-support": "0.5.9"
+ "minimist": "^1.2.0",
+ "mkdirp": "^0.5.1",
+ "source-map": "^0.6.0",
+ "source-map-support": "^0.5.0"
},
"dependencies": {
"minimist": {
@@ -10690,8 +12073,8 @@
"integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
"dev": true,
"requires": {
- "buffer-from": "1.1.1",
- "source-map": "0.6.1"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
}
}
}
@@ -10707,18 +12090,18 @@
"integrity": "sha1-ElX4ej/1frCw4fDmEKi0dIBGya4=",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "builtin-modules": "1.1.1",
- "chalk": "2.4.1",
- "commander": "2.17.1",
- "diff": "3.5.0",
- "glob": "7.1.3",
- "js-yaml": "3.12.0",
- "minimatch": "3.0.4",
- "resolve": "1.8.1",
- "semver": "5.6.0",
- "tslib": "1.9.3",
- "tsutils": "2.29.0"
+ "babel-code-frame": "^6.22.0",
+ "builtin-modules": "^1.1.1",
+ "chalk": "^2.3.0",
+ "commander": "^2.12.1",
+ "diff": "^3.2.0",
+ "glob": "^7.1.1",
+ "js-yaml": "^3.7.0",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.3.2",
+ "semver": "^5.3.0",
+ "tslib": "^1.8.0",
+ "tsutils": "^2.12.1"
},
"dependencies": {
"chalk": {
@@ -10727,9 +12110,9 @@
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
},
"has-flag": {
@@ -10744,7 +12127,7 @@
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "^3.0.0"
}
}
}
@@ -10762,7 +12145,7 @@
"integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
"dev": true,
"requires": {
- "tslib": "1.9.3"
+ "tslib": "^1.8.1"
}
},
"tty-browserify": {
@@ -10777,7 +12160,7 @@
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
@@ -10791,10 +12174,17 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"dev": true,
+ "optional": true,
"requires": {
- "prelude-ls": "1.1.2"
+ "prelude-ls": "~1.1.2"
}
},
+ "type-fest": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.3.1.tgz?cache=0&sync_timestamp=1564840459932&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.3.1.tgz",
+ "integrity": "sha1-Y9ANIE4FlHT+Xht8ARESu9HcKeE=",
+ "dev": true
+ },
"type-is": {
"version": "1.6.16",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
@@ -10802,7 +12192,7 @@
"dev": true,
"requires": {
"media-typer": "0.3.0",
- "mime-types": "2.1.21"
+ "mime-types": "~2.1.18"
}
},
"typedarray": {
@@ -10823,8 +12213,8 @@
"integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
"dev": true,
"requires": {
- "commander": "2.17.1",
- "source-map": "0.6.1"
+ "commander": "~2.17.1",
+ "source-map": "~0.6.1"
},
"dependencies": {
"source-map": {
@@ -10848,14 +12238,14 @@
"integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
"dev": true,
"requires": {
- "cacache": "10.0.4",
- "find-cache-dir": "1.0.0",
- "schema-utils": "0.4.7",
- "serialize-javascript": "1.5.0",
- "source-map": "0.6.1",
- "uglify-es": "3.3.9",
- "webpack-sources": "1.3.0",
- "worker-farm": "1.6.0"
+ "cacache": "^10.0.4",
+ "find-cache-dir": "^1.0.0",
+ "schema-utils": "^0.4.5",
+ "serialize-javascript": "^1.4.0",
+ "source-map": "^0.6.1",
+ "uglify-es": "^3.3.4",
+ "webpack-sources": "^1.1.0",
+ "worker-farm": "^1.5.2"
},
"dependencies": {
"commander": {
@@ -10876,8 +12266,8 @@
"integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
"dev": true,
"requires": {
- "commander": "2.13.0",
- "source-map": "0.6.1"
+ "commander": "~2.13.0",
+ "source-map": "~0.6.1"
}
}
}
@@ -10892,41 +12282,19 @@
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
- "dev": true
+ "dev": true,
+ "optional": true
},
"union-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
- "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz",
+ "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=",
"dev": true,
"requires": {
- "arr-union": "3.1.0",
- "get-value": "2.0.6",
- "is-extendable": "0.1.1",
- "set-value": "0.4.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "dev": true,
- "requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "to-object-path": "0.3.0"
- }
- }
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
}
},
"unique-filename": {
@@ -10935,7 +12303,7 @@
"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
"dev": true,
"requires": {
- "unique-slug": "2.0.1"
+ "unique-slug": "^2.0.0"
}
},
"unique-slug": {
@@ -10944,7 +12312,16 @@
"integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
"dev": true,
"requires": {
- "imurmurhash": "0.1.4"
+ "imurmurhash": "^0.1.4"
+ }
+ },
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/unique-string/download/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^1.0.0"
}
},
"universalify": {
@@ -10965,8 +12342,8 @@
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
"requires": {
- "has-value": "0.3.1",
- "isobject": "3.0.1"
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
},
"dependencies": {
"has-value": {
@@ -10975,9 +12352,9 @@
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
"requires": {
- "get-value": "2.0.6",
- "has-values": "0.1.4",
- "isobject": "2.1.0"
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
},
"dependencies": {
"isobject": {
@@ -11005,11 +12382,25 @@
}
}
},
- "upath": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
- "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
- "dev": true
+ "update-notifier": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npm.taobao.org/update-notifier/download/update-notifier-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupdate-notifier%2Fdownload%2Fupdate-notifier-3.0.1.tgz",
+ "integrity": "sha1-eOy2i5FeL9G+n3Z/bimM6HtzYlA=",
+ "dev": true,
+ "requires": {
+ "boxen": "^3.0.0",
+ "chalk": "^2.0.1",
+ "configstore": "^4.0.0",
+ "has-yarn": "^2.1.0",
+ "import-lazy": "^2.1.0",
+ "is-ci": "^2.0.0",
+ "is-installed-globally": "^0.1.0",
+ "is-npm": "^3.0.0",
+ "is-yarn-global": "^0.3.0",
+ "latest-version": "^5.0.0",
+ "semver-diff": "^2.0.0",
+ "xdg-basedir": "^3.0.0"
+ }
},
"upper-case": {
"version": "1.1.3",
@@ -11023,7 +12414,7 @@
"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
"dev": true,
"requires": {
- "punycode": "2.1.1"
+ "punycode": "^2.1.0"
}
},
"urix": {
@@ -11056,9 +12447,9 @@
"integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "mime": "1.6.0",
- "schema-utils": "0.3.0"
+ "loader-utils": "^1.0.2",
+ "mime": "^1.4.1",
+ "schema-utils": "^0.3.0"
},
"dependencies": {
"ajv": {
@@ -11067,10 +12458,10 @@
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
}
},
"schema-utils": {
@@ -11079,7 +12470,7 @@
"integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
"dev": true,
"requires": {
- "ajv": "5.5.2"
+ "ajv": "^5.0.0"
}
}
}
@@ -11090,8 +12481,17 @@
"integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==",
"dev": true,
"requires": {
- "querystringify": "2.1.0",
- "requires-port": "1.0.0"
+ "querystringify": "^2.0.0",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0"
}
},
"use": {
@@ -11106,8 +12506,8 @@
"integrity": "sha1-z1k+9PLRdYdei7ZY6pLhik/QbY4=",
"dev": true,
"requires": {
- "lru-cache": "2.2.4",
- "tmp": "0.0.33"
+ "lru-cache": "2.2.x",
+ "tmp": "0.0.x"
},
"dependencies": {
"lru-cache": {
@@ -11164,7 +12564,7 @@
"integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==",
"dev": true,
"requires": {
- "homedir-polyfill": "1.0.1"
+ "homedir-polyfill": "^1.0.1"
}
},
"validate-npm-package-license": {
@@ -11173,8 +12573,8 @@
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
"requires": {
- "spdx-correct": "3.0.2",
- "spdx-expression-parse": "3.0.0"
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
"vary": {
@@ -11189,9 +12589,9 @@
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
- "assert-plus": "1.0.0",
+ "assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
- "extsprintf": "1.3.0"
+ "extsprintf": "^1.2.0"
},
"dependencies": {
"assert-plus": {
@@ -11229,19 +12629,19 @@
"integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
"dev": true,
"requires": {
- "chokidar": "2.0.4",
- "graceful-fs": "4.1.11",
- "neo-async": "2.6.0"
+ "chokidar": "^2.0.2",
+ "graceful-fs": "^4.1.2",
+ "neo-async": "^2.5.0"
},
"dependencies": {
"anymatch": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+ "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
"dev": true,
"requires": {
- "micromatch": "3.1.10",
- "normalize-path": "2.1.1"
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
}
},
"arr-diff": {
@@ -11258,20 +12658,20 @@
},
"braces": {
"version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.3",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
+ "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+ "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
@@ -11280,30 +12680,43 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
},
"chokidar": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
- "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
- "dev": true,
- "requires": {
- "anymatch": "2.0.0",
- "async-each": "1.0.1",
- "braces": "2.3.2",
- "fsevents": "1.2.4",
- "glob-parent": "3.1.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "4.0.0",
- "lodash.debounce": "4.0.8",
- "normalize-path": "2.1.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.2.1",
- "upath": "1.1.0"
+ "version": "2.1.6",
+ "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.6.tgz",
+ "integrity": "sha1-tsrWU6kp4kTOioNCRBZNJB+pVMU=",
+ "dev": true,
+ "requires": {
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
+ "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+ "dev": true
+ },
+ "upath": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/upath/download/upath-1.1.2.tgz",
+ "integrity": "sha1-PbZYYA7a7sy+bbXmhNZ+6MKs0Gg=",
+ "dev": true
+ }
}
},
"expand-brackets": {
@@ -11312,13 +12725,13 @@
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -11327,7 +12740,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
@@ -11336,7 +12749,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
@@ -11345,7 +12758,7 @@
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -11354,7 +12767,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -11365,7 +12778,7 @@
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -11374,44 +12787,44 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
},
"is-descriptor": {
"version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
}
},
"kind-of": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"extglob": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -11420,7 +12833,7 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
@@ -11429,7 +12842,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -11440,10 +12853,10 @@
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
@@ -11452,7 +12865,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -11463,8 +12876,8 @@
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
- "is-glob": "3.1.0",
- "path-dirname": "1.0.2"
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
},
"dependencies": {
"is-glob": {
@@ -11473,38 +12886,38 @@
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.0"
}
}
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"is-extglob": {
@@ -11514,12 +12927,12 @@
"dev": true
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+ "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.1"
}
},
"is-number": {
@@ -11528,7 +12941,7 @@
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -11537,7 +12950,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -11550,29 +12963,29 @@
},
"kind-of": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
"dev": true
},
"micromatch": {
"version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
+ "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
}
}
}
@@ -11583,7 +12996,7 @@
"integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
"dev": true,
"requires": {
- "minimalistic-assert": "1.0.1"
+ "minimalistic-assert": "^1.0.0"
}
},
"webdriver-js-extender": {
@@ -11592,8 +13005,8 @@
"integrity": "sha1-gcUzqeM9W/tZe05j4s2yW1R3dRU=",
"dev": true,
"requires": {
- "@types/selenium-webdriver": "2.53.43",
- "selenium-webdriver": "2.53.3"
+ "@types/selenium-webdriver": "^2.53.35",
+ "selenium-webdriver": "^2.53.2"
},
"dependencies": {
"adm-zip": {
@@ -11615,9 +13028,9 @@
"dev": true,
"requires": {
"adm-zip": "0.4.4",
- "rimraf": "2.6.2",
+ "rimraf": "^2.2.8",
"tmp": "0.0.24",
- "ws": "1.1.5",
+ "ws": "^1.0.1",
"xml2js": "0.4.4"
}
},
@@ -11639,8 +13052,8 @@
"integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
"dev": true,
"requires": {
- "options": "0.0.6",
- "ultron": "1.0.2"
+ "options": ">=0.0.5",
+ "ultron": "1.0.x"
}
},
"xml2js": {
@@ -11649,8 +13062,8 @@
"integrity": "sha1-MREBAAMAiuGSQOuhdJe1fHKcVV0=",
"dev": true,
"requires": {
- "sax": "0.6.1",
- "xmlbuilder": "9.0.7"
+ "sax": "0.6.x",
+ "xmlbuilder": ">=1.0.0"
}
}
}
@@ -11661,28 +13074,28 @@
"integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==",
"dev": true,
"requires": {
- "acorn": "5.7.3",
- "acorn-dynamic-import": "2.0.2",
- "ajv": "6.5.4",
- "ajv-keywords": "3.2.0",
- "async": "2.6.1",
- "enhanced-resolve": "3.4.1",
- "escope": "3.6.0",
- "interpret": "1.1.0",
- "json-loader": "0.5.7",
- "json5": "0.5.1",
- "loader-runner": "2.3.1",
- "loader-utils": "1.1.0",
- "memory-fs": "0.4.1",
- "mkdirp": "0.5.1",
- "node-libs-browser": "2.1.0",
- "source-map": "0.5.7",
- "supports-color": "4.5.0",
- "tapable": "0.2.8",
- "uglifyjs-webpack-plugin": "0.4.6",
- "watchpack": "1.6.0",
- "webpack-sources": "1.3.0",
- "yargs": "8.0.2"
+ "acorn": "^5.0.0",
+ "acorn-dynamic-import": "^2.0.0",
+ "ajv": "^6.1.0",
+ "ajv-keywords": "^3.1.0",
+ "async": "^2.1.2",
+ "enhanced-resolve": "^3.4.0",
+ "escope": "^3.6.0",
+ "interpret": "^1.0.0",
+ "json-loader": "^0.5.4",
+ "json5": "^0.5.1",
+ "loader-runner": "^2.3.0",
+ "loader-utils": "^1.1.0",
+ "memory-fs": "~0.4.1",
+ "mkdirp": "~0.5.0",
+ "node-libs-browser": "^2.0.0",
+ "source-map": "^0.5.3",
+ "supports-color": "^4.2.1",
+ "tapable": "^0.2.7",
+ "uglifyjs-webpack-plugin": "^0.4.6",
+ "watchpack": "^1.4.0",
+ "webpack-sources": "^1.0.1",
+ "yargs": "^8.0.2"
},
"dependencies": {
"ansi-regex": {
@@ -11703,8 +13116,8 @@
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"dev": true,
"requires": {
- "center-align": "0.1.3",
- "right-align": "0.1.3",
+ "center-align": "^0.1.1",
+ "right-align": "^0.1.1",
"wordwrap": "0.0.2"
}
},
@@ -11714,10 +13127,10 @@
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
}
},
"os-locale": {
@@ -11726,9 +13139,9 @@
"integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
"dev": true,
"requires": {
- "execa": "0.7.0",
- "lcid": "1.0.0",
- "mem": "1.1.0"
+ "execa": "^0.7.0",
+ "lcid": "^1.0.0",
+ "mem": "^1.1.0"
}
},
"path-type": {
@@ -11737,7 +13150,7 @@
"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
"dev": true,
"requires": {
- "pify": "2.3.0"
+ "pify": "^2.0.0"
}
},
"pify": {
@@ -11752,9 +13165,9 @@
"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
"dev": true,
"requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
}
},
"read-pkg-up": {
@@ -11763,8 +13176,8 @@
"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "find-up": "2.1.0",
- "read-pkg": "2.0.0"
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
}
},
"string-width": {
@@ -11773,8 +13186,8 @@
"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
},
"dependencies": {
"is-fullwidth-code-point": {
@@ -11789,7 +13202,7 @@
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
- "ansi-regex": "3.0.0"
+ "ansi-regex": "^3.0.0"
}
}
}
@@ -11806,9 +13219,9 @@
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"dev": true,
"requires": {
- "source-map": "0.5.7",
- "uglify-to-browserify": "1.0.2",
- "yargs": "3.10.0"
+ "source-map": "~0.5.1",
+ "uglify-to-browserify": "~1.0.0",
+ "yargs": "~3.10.0"
},
"dependencies": {
"yargs": {
@@ -11817,9 +13230,9 @@
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
- "camelcase": "1.2.1",
- "cliui": "2.1.0",
- "decamelize": "1.2.0",
+ "camelcase": "^1.0.2",
+ "cliui": "^2.1.0",
+ "decamelize": "^1.0.0",
"window-size": "0.1.0"
}
}
@@ -11831,9 +13244,9 @@
"integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
"dev": true,
"requires": {
- "source-map": "0.5.7",
- "uglify-js": "2.8.29",
- "webpack-sources": "1.3.0"
+ "source-map": "^0.5.6",
+ "uglify-js": "^2.8.29",
+ "webpack-sources": "^1.0.1"
}
},
"which-module": {
@@ -11854,19 +13267,19 @@
"integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
"dev": true,
"requires": {
- "camelcase": "4.1.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.3",
- "os-locale": "2.1.0",
- "read-pkg-up": "2.0.0",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "2.1.1",
- "which-module": "2.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "7.0.0"
+ "camelcase": "^4.1.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^2.0.0",
+ "read-pkg-up": "^2.0.0",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^2.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^7.0.0"
},
"dependencies": {
"camelcase": {
@@ -11881,9 +13294,9 @@
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wrap-ansi": "^2.0.0"
},
"dependencies": {
"string-width": {
@@ -11892,9 +13305,9 @@
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
}
}
}
@@ -11907,7 +13320,7 @@
"integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
"dev": true,
"requires": {
- "camelcase": "4.1.0"
+ "camelcase": "^4.1.0"
},
"dependencies": {
"camelcase": {
@@ -11926,56 +13339,67 @@
"integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
"dev": true,
"requires": {
- "memory-fs": "0.4.1",
- "mime": "1.6.0",
- "path-is-absolute": "1.0.1",
- "range-parser": "1.2.0",
- "time-stamp": "2.1.0"
+ "memory-fs": "~0.4.1",
+ "mime": "^1.5.0",
+ "path-is-absolute": "^1.0.0",
+ "range-parser": "^1.0.3",
+ "time-stamp": "^2.0.0"
}
},
"webpack-dev-server": {
- "version": "2.11.3",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.3.tgz",
- "integrity": "sha512-Qz22YEFhWx+M2vvJ+rQppRv39JA0h5NNbOOdODApdX6iZ52Diz7vTPXjF7kJlfn+Uc24Qr48I3SZ9yncQwRycg==",
+ "version": "2.11.5",
+ "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-2.11.5.tgz?cache=0&sync_timestamp=1565370754455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-2.11.5.tgz",
+ "integrity": "sha1-QW+96g4E7r5EpibnkdWi6zf+jEg=",
"dev": true,
"requires": {
"ansi-html": "0.0.7",
- "array-includes": "3.0.3",
- "bonjour": "3.5.0",
- "chokidar": "2.0.4",
- "compression": "1.7.3",
- "connect-history-api-fallback": "1.5.0",
- "debug": "3.2.6",
- "del": "3.0.0",
- "express": "4.16.4",
- "html-entities": "1.2.1",
- "http-proxy-middleware": "0.17.4",
- "import-local": "1.0.0",
+ "array-includes": "^3.0.3",
+ "bonjour": "^3.5.0",
+ "chokidar": "^2.1.2",
+ "compression": "^1.7.3",
+ "connect-history-api-fallback": "^1.3.0",
+ "debug": "^3.1.0",
+ "del": "^3.0.0",
+ "express": "^4.16.2",
+ "html-entities": "^1.2.0",
+ "http-proxy-middleware": "^0.19.1",
+ "import-local": "^1.0.0",
"internal-ip": "1.2.0",
- "ip": "1.1.5",
- "killable": "1.0.1",
- "loglevel": "1.6.1",
- "opn": "5.1.0",
- "portfinder": "1.0.18",
- "selfsigned": "1.10.4",
- "serve-index": "1.9.1",
+ "ip": "^1.1.5",
+ "killable": "^1.0.0",
+ "loglevel": "^1.4.1",
+ "opn": "^5.1.0",
+ "portfinder": "^1.0.9",
+ "selfsigned": "^1.9.1",
+ "serve-index": "^1.9.1",
"sockjs": "0.3.19",
"sockjs-client": "1.1.5",
- "spdy": "3.4.7",
- "strip-ansi": "3.0.1",
- "supports-color": "5.5.0",
+ "spdy": "^4.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^5.1.0",
"webpack-dev-middleware": "1.12.2",
"yargs": "6.6.0"
},
"dependencies": {
"anymatch": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+ "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
"dev": true,
"requires": {
- "micromatch": "3.1.10",
- "normalize-path": "2.1.1"
+ "micromatch": "^3.1.4",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
}
},
"arr-diff": {
@@ -11992,20 +13416,20 @@
},
"braces": {
"version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.3",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
+ "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+ "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
@@ -12014,7 +13438,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -12026,39 +13450,38 @@
"dev": true
},
"chokidar": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
- "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+ "version": "2.1.6",
+ "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.6.tgz",
+ "integrity": "sha1-tsrWU6kp4kTOioNCRBZNJB+pVMU=",
"dev": true,
"requires": {
- "anymatch": "2.0.0",
- "async-each": "1.0.1",
- "braces": "2.3.2",
- "fsevents": "1.2.4",
- "glob-parent": "3.1.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "4.0.0",
- "lodash.debounce": "4.0.8",
- "normalize-path": "2.1.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.2.1",
- "upath": "1.1.0"
+ "anymatch": "^2.0.0",
+ "async-each": "^1.0.1",
+ "braces": "^2.3.2",
+ "fsevents": "^1.2.7",
+ "glob-parent": "^3.1.0",
+ "inherits": "^2.0.3",
+ "is-binary-path": "^1.0.0",
+ "is-glob": "^4.0.0",
+ "normalize-path": "^3.0.0",
+ "path-is-absolute": "^1.0.0",
+ "readdirp": "^2.2.1",
+ "upath": "^1.1.1"
}
},
"debug": {
"version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
+ "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
"dev": true,
"requires": {
- "ms": "2.1.1"
+ "ms": "^2.1.1"
},
"dependencies": {
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
"dev": true
}
}
@@ -12069,19 +13492,19 @@
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"debug": {
"version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
"dev": true,
"requires": {
"ms": "2.0.0"
@@ -12093,7 +13516,7 @@
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
@@ -12102,7 +13525,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
@@ -12111,7 +13534,7 @@
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -12120,7 +13543,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -12131,7 +13554,7 @@
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -12140,44 +13563,44 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
},
"is-descriptor": {
"version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+ "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
}
},
"kind-of": {
"version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
+ "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
"dev": true
}
}
},
"extglob": {
"version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "resolved": "http://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+ "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+ "dev": true,
+ "requires": {
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
@@ -12186,7 +13609,7 @@
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "is-descriptor": "1.0.2"
+ "is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
@@ -12195,7 +13618,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -12206,10 +13629,10 @@
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
@@ -12218,7 +13641,7 @@
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "is-extendable": "^0.1.0"
}
}
}
@@ -12229,8 +13652,8 @@
"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
- "is-glob": "3.1.0",
- "path-dirname": "1.0.2"
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
},
"dependencies": {
"is-glob": {
@@ -12239,44 +13662,62 @@
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.0"
}
}
}
},
+ "handle-thing": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.0.tgz",
+ "integrity": "sha1-DgOWlf9QyT/CiFV9aW88HcZ3Z1Q=",
+ "dev": true
+ },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
+ "http-proxy-middleware": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz",
+ "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=",
+ "dev": true,
+ "requires": {
+ "http-proxy": "^1.17.0",
+ "is-glob": "^4.0.0",
+ "lodash": "^4.17.11",
+ "micromatch": "^3.1.10"
+ }
+ },
"is-accessor-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "resolved": "http://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "resolved": "http://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
"dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "resolved": "http://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+ "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
"dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
},
"is-extglob": {
@@ -12286,12 +13727,12 @@
"dev": true
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+ "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
"dev": true,
"requires": {
- "is-extglob": "2.1.1"
+ "is-extglob": "^2.1.1"
}
},
"is-number": {
@@ -12300,7 +13741,7 @@
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
@@ -12309,7 +13750,7 @@
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "is-buffer": "^1.1.5"
}
}
}
@@ -12322,40 +13763,124 @@
},
"kind-of": {
"version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-6.0.2.tgz",
+ "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
"dev": true
},
"micromatch": {
"version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
+ "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
+ "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.4.0.tgz",
+ "integrity": "sha1-pRwmdUZY4KPCHb9ZFjvUW6b0R/w=",
"dev": true,
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "spdy": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.1.tgz",
+ "integrity": "sha1-bxLtHF236k8k67i4m6WMh8CCV/I=",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "handle-thing": "^2.0.0",
+ "http-deceiver": "^1.2.7",
+ "select-hose": "^2.0.0",
+ "spdy-transport": "^3.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
+ }
+ },
+ "spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz",
+ "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.0",
+ "detect-node": "^2.0.4",
+ "hpack.js": "^2.1.6",
+ "obuf": "^1.1.2",
+ "readable-stream": "^3.0.6",
+ "wbuf": "^1.7.3"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+ "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
+ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+ "dev": true
+ }
}
},
"supports-color": {
"version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
+ "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "has-flag": "^3.0.0"
}
},
+ "upath": {
+ "version": "1.1.2",
+ "resolved": "http://registry.npm.taobao.org/upath/download/upath-1.1.2.tgz",
+ "integrity": "sha1-PbZYYA7a7sy+bbXmhNZ+6MKs0Gg=",
+ "dev": true
+ },
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
@@ -12368,19 +13893,19 @@
"integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
"dev": true,
"requires": {
- "camelcase": "3.0.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.3",
- "os-locale": "1.4.0",
- "read-pkg-up": "1.0.1",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "1.0.2",
- "which-module": "1.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "4.2.1"
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^4.2.0"
}
},
"yargs-parser": {
@@ -12389,7 +13914,7 @@
"integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
"dev": true,
"requires": {
- "camelcase": "3.0.0"
+ "camelcase": "^3.0.0"
}
}
}
@@ -12400,7 +13925,7 @@
"integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==",
"dev": true,
"requires": {
- "lodash": "4.17.11"
+ "lodash": "^4.17.5"
}
},
"webpack-sources": {
@@ -12409,8 +13934,8 @@
"integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
"dev": true,
"requires": {
- "source-list-map": "2.0.1",
- "source-map": "0.6.1"
+ "source-list-map": "^2.0.0",
+ "source-map": "~0.6.1"
},
"dependencies": {
"source-map": {
@@ -12427,7 +13952,7 @@
"integrity": "sha512-bdMR4DRbINUFt+QhNfBFHURnCzT8mtHjXiclQWX/aXBpu2pM4nOb2qViyt84ZSFrVKEXkAbmz7mSoZQH/08xFg==",
"dev": true,
"requires": {
- "webpack-sources": "1.3.0"
+ "webpack-sources": "^1.3.0"
}
},
"websocket-driver": {
@@ -12436,8 +13961,8 @@
"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
"dev": true,
"requires": {
- "http-parser-js": "0.5.0",
- "websocket-extensions": "0.1.3"
+ "http-parser-js": ">=0.4.0",
+ "websocket-extensions": ">=0.1.1"
}
},
"websocket-extensions": {
@@ -12458,7 +13983,7 @@
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
- "isexe": "2.0.0"
+ "isexe": "^2.0.0"
}
},
"which-module": {
@@ -12472,8 +13997,51 @@
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"dev": true,
+ "optional": true,
"requires": {
- "string-width": "1.0.2"
+ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "widest-line": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npm.taobao.org/widest-line/download/widest-line-2.0.1.tgz",
+ "integrity": "sha1-dDh2RzDsfvQ4HOTfgvuYpTFCo/w=",
+ "dev": true,
+ "requires": {
+ "string-width": "^2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
+ "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
}
},
"window-size": {
@@ -12501,7 +14069,7 @@
"integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
"dev": true,
"requires": {
- "errno": "0.1.7"
+ "errno": "~0.1.7"
}
},
"wrap-ansi": {
@@ -12510,8 +14078,8 @@
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1"
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1"
}
},
"wrappy": {
@@ -12520,25 +14088,42 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
+ "write-file-atomic": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz",
+ "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.2"
+ }
+ },
"ws": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
"integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
"dev": true,
"requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.2",
- "ultron": "1.1.1"
+ "async-limiter": "~1.0.0",
+ "safe-buffer": "~5.1.0",
+ "ultron": "~1.1.0"
}
},
+ "xdg-basedir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npm.taobao.org/xdg-basedir/download/xdg-basedir-3.0.0.tgz",
+ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
+ "dev": true
+ },
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"dev": true,
"requires": {
- "sax": "1.2.4",
- "xmlbuilder": "9.0.7"
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~9.0.1"
},
"dependencies": {
"sax": {
@@ -12580,7 +14165,7 @@
"integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
"dev": true,
"requires": {
- "cuint": "0.2.2"
+ "cuint": "^0.2.2"
}
},
"y18n": {
@@ -12602,19 +14187,19 @@
"dev": true,
"optional": true,
"requires": {
- "camelcase": "3.0.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.3",
- "os-locale": "1.4.0",
- "read-pkg-up": "1.0.1",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "1.0.2",
- "which-module": "1.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "5.0.0"
+ "camelcase": "^3.0.0",
+ "cliui": "^3.2.0",
+ "decamelize": "^1.1.1",
+ "get-caller-file": "^1.0.1",
+ "os-locale": "^1.4.0",
+ "read-pkg-up": "^1.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^1.0.1",
+ "set-blocking": "^2.0.0",
+ "string-width": "^1.0.2",
+ "which-module": "^1.0.0",
+ "y18n": "^3.2.1",
+ "yargs-parser": "^5.0.0"
},
"dependencies": {
"camelcase": {
@@ -12640,7 +14225,7 @@
"dev": true,
"optional": true,
"requires": {
- "camelcase": "3.0.0"
+ "camelcase": "^3.0.0"
},
"dependencies": {
"camelcase": {
diff --git a/usecaseui-portal/package.json b/usecaseui-portal/package.json
index 70035a3c..e85f2365 100644
--- a/usecaseui-portal/package.json
+++ b/usecaseui-portal/package.json
@@ -5,10 +5,14 @@
"scripts": {
"ng": "ng",
"start": "ng serve",
+ "server": "ng serve --host='0.0.0.0' --proxy-config proxy.conf.json",
"build": "ng build --prod --aot",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
+ "mockproxy": "ng serve --host='0.0.0.0' --proxy-config localproxy.conf.json",
+ "mockconfig": "node ./src/app/mock/server.js --port 3004",
+ "mock": "npm run mockconfig & npm run mockproxy",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
},
"private": true,
@@ -27,7 +31,9 @@
"core-js": "^2.4.1",
"d3": "^3.5.17",
"echarts": "^4.1.0",
- "jquery": "^3.3.1",
+ "faker": "^4.1.0",
+ "jquery": "^3.4.1",
+ "lodash": "^4.17.15",
"ng-zorro-antd": "^0.7.1",
"ngx-echarts": "^2.2.0",
"rxjs": "^5.5.6",
@@ -43,6 +49,7 @@
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
+ "json-server": "^0.15.0",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^1.2.1",
diff --git a/usecaseui-portal/proxy.conf.json b/usecaseui-portal/proxy.conf.json
new file mode 100644
index 00000000..a5afae06
--- /dev/null
+++ b/usecaseui-portal/proxy.conf.json
@@ -0,0 +1,8 @@
+{
+ "/api/usecaseui-server/v1": {
+ "target": "http://10.73.191.100:8082",
+ "secure": false,
+ "logLevel": "debug",
+ "changeOrigin": true
+ }
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/alarm/alarm.component.spec.ts b/usecaseui-portal/src/app/alarm/alarm.component.spec.ts
deleted file mode 100644
index f64bcb83..00000000
--- a/usecaseui-portal/src/app/alarm/alarm.component.spec.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import { async, ComponentFixture, TestBed, inject, fakeAsync } from '@angular/core/testing';
-import { NO_ERRORS_SCHEMA,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
-import { NgxEchartsModule } from 'ngx-echarts';
-import { NgZorroAntdModule } from 'ng-zorro-antd';
-import { TranslateModule, TranslateLoader, TranslateService, TranslateFakeLoader} from '@ngx-translate/core';
-import { HttpClientModule } from '@angular/common/http';
-import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { NZ_I18N, en_US } from 'ng-zorro-antd';
-
-import { AlarmComponent } from './alarm.component';
-import { DetailsComponent } from '../components/details/details.component';
-import { LineComponent } from '../components/charts/line/line.component';
-import { HomesService } from '../homes.service';
-
-fdescribe('AlarmComponent', () => {
- let component: AlarmComponent;
- let fixture: ComponentFixture<AlarmComponent>;
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- declarations: [ AlarmComponent, DetailsComponent, LineComponent ],
- imports: [ TranslateModule.forRoot({loader: { provide: TranslateLoader, useClass: TranslateFakeLoader }}),
- NgZorroAntdModule.forRoot(),
- NgxEchartsModule,
- HttpClientModule,
- BrowserAnimationsModule,
- HttpClientTestingModule ],
- providers: [ TranslateService, HomesService,
- { provide: NZ_I18N, useValue: en_US } ],
- schemas: [
- CUSTOM_ELEMENTS_SCHEMA,
- NO_ERRORS_SCHEMA
- ]
- })
- .compileComponents();
- }));
-
- beforeEach(() => {
- fixture = TestBed.createComponent(AlarmComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', inject([HttpTestingController, HomesService],
- (httpMock: HttpTestingController, service: HomesService) => {
- expect(component).toBeTruthy();
- }));
-
- it('expects service to fetch data with proper sorting',
- inject([HttpTestingController, HomesService],
- (httpMock: HttpTestingController, service: HomesService) => {
- // We call the service
- service.getqueryAllSourceNames().subscribe(data => {
- expect(data.pageInfo.totalRecordCount).toBe(21);
- expect(data.pageInfo.pageNumber).toBe(0);
- expect(data.data.length).toBe(7);
- });
- // We set the expectations for the HttpClient mock
- const req = httpMock.expectOne('http://.../data/contacts');
- expect(req.request.method).toEqual('GET');
- // Then we set the fake data to be returned by the mock
- req.flush({data: ...});
- })
-);
-});
diff --git a/usecaseui-portal/src/app/app-routing.module.ts b/usecaseui-portal/src/app/app-routing.module.ts
index 04a6bc80..f47cf11b 100644
--- a/usecaseui-portal/src/app/app-routing.module.ts
+++ b/usecaseui-portal/src/app/app-routing.module.ts
@@ -13,48 +13,52 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
-import { NgModule } from '@angular/core';
+import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
-import { HomeComponent } from './home/home.component';
-import { ManagementComponent } from './management/management.component';
-import { FcapsComponent } from './fcaps/fcaps.component';
-import { ServicesComponent } from './services/services.component';
-import { ServicesListComponent } from './services/services-list/services-list.component';
-import { OnboardVnfVmComponent } from './services/onboard-vnf-vm/onboard-vnf-vm.component';
-import { AlarmComponent } from './alarm/alarm.component';
-import { PerformanceComponent } from './performance/performance.component';
-import { PerformanceVnfComponent } from './performance/performance-vnf/performance-vnf.component';
-import { PerformanceVmComponent } from './performance/performance-vm/performance-vm.component';
+import { HomeComponent } from './views/home/home.component';
+import { ManagementComponent } from './views/management/management.component';
+import { FcapsComponent } from './views/fcaps/fcaps.component';
+import { ServicesComponent } from './views/services/services.component';
+import { ServicesListComponent } from './views/services/services-list/services-list.component';
+import { OnboardVnfVmComponent } from './views/services/onboard-vnf-vm/onboard-vnf-vm.component';
+import { AlarmComponent } from './views/alarm/alarm.component';
+import { PerformanceComponent } from './views/performance/performance.component';
+import { PerformanceVnfComponent } from './views/performance/performance-vnf/performance-vnf.component';
+import { PerformanceVmComponent } from './views/performance/performance-vm/performance-vm.component';
-import { CcvpnNetworkComponent } from './ccvpn-network/ccvpn-network.component';
+import { CcvpnNetworkComponent } from './views/ccvpn-network/ccvpn-network.component';
+
+
+import { TestComponent } from './test/test.component';
// import { DetailsComponent } from './details/details.component';
const ServicesChildRoutes: Routes = [
- { path: 'services-list', component: ServicesListComponent},
- { path: 'onboard-vnf-vm', component: OnboardVnfVmComponent},
+ { path: 'services-list', component: ServicesListComponent },
+ { path: 'onboard-vnf-vm', component: OnboardVnfVmComponent },
{ path: '**', redirectTo: 'services-list' }
]
const routes: Routes = [
- { path: 'home', component: HomeComponent},
- { path: 'management', component: ManagementComponent},
- { path: 'fcaps', component: FcapsComponent},
+ { path: 'text', component: TestComponent },
+ { path: 'home', component: HomeComponent },
+ { path: 'management', component: ManagementComponent },
+ { path: 'fcaps', component: FcapsComponent },
// { path: 'services', component: ServicesComponent, children:ServicesChildRoutes}, //Temporarily not a sub-routing structure
- { path: 'services/services-list', component: ServicesListComponent},
- { path: 'services/onboard-vnf-vm', component: OnboardVnfVmComponent},
- { path: 'alarm', component: AlarmComponent},
- { path: 'performance', component: PerformanceComponent},
- { path: 'performance/performance-vnf', component: PerformanceVnfComponent},
- { path: 'performance/performance-vm', component: PerformanceVmComponent},
+ { path: 'services/services-list', component: ServicesListComponent },
+ { path: 'services/onboard-vnf-vm', component: OnboardVnfVmComponent },
+ { path: 'alarm', component: AlarmComponent },
+ { path: 'performance', component: PerformanceComponent },
+ { path: 'performance/performance-vnf', component: PerformanceVnfComponent },
+ { path: 'performance/performance-vm', component: PerformanceVmComponent },
{ path: 'network', component: CcvpnNetworkComponent },
- { path: '**', redirectTo: 'home', pathMatch: 'full'}
+ { path: '**', redirectTo: 'home', pathMatch: 'full' }
];
@NgModule({
- imports: [ RouterModule.forRoot(routes) ],
- exports: [ RouterModule ]
+ imports: [RouterModule.forRoot(routes)],
+ exports: [RouterModule]
})
-export class AppRoutingModule {}
+export class AppRoutingModule { }
diff --git a/usecaseui-portal/src/app/app.component.css b/usecaseui-portal/src/app/app.component.css
index 1e0f7181..7e91ee2b 100644
--- a/usecaseui-portal/src/app/app.component.css
+++ b/usecaseui-portal/src/app/app.component.css
@@ -25,7 +25,7 @@ nz-layout nz-sider ul li i {
height: 16px;
}
nz-layout nz-sider ul li .icon-services {
- background: url(../assets/images/icon.png) no-repeat 0px -16px;
+ background: url(assets/images/icon.png) no-repeat 0px -16px;
}
nz-layout nz-sider ul li ul li {
font-size: 12px;
diff --git a/usecaseui-portal/src/app/app.component.html b/usecaseui-portal/src/app/app.component.html
index 2bd60670..a0838c3d 100644
--- a/usecaseui-portal/src/app/app.component.html
+++ b/usecaseui-portal/src/app/app.component.html
@@ -23,7 +23,9 @@
<a routerLink="home">
<span title>
<i>
- <img src="{{activeMenuBar[0] == true ? 'assets/images/home-icon-active.png':'assets/images/home-icon.png'}}" alt="home">
+ <img
+ src="{{activeMenuBar[0] == true ? 'assets/images/home-icon-active.png':'assets/images/home-icon.png'}}"
+ alt="home">
</i>
<span> {{"i18nTextDefine_Home" | translate}} </span>
</span>
@@ -33,8 +35,10 @@
<li nz-menu-item [ngClass]="{'activeMenuBar':activeMenuBar[1] == true}" (click)="thisActive(1)">
<a routerLink="management">
<span title>
- <i>
- <img src="{{activeMenuBar[1] == true ? 'assets/images/customer-icon-active.png':'assets/images/customer-icon.png'}}" alt="home">
+ <i>
+ <img
+ src="{{activeMenuBar[1] == true ? 'assets/images/customer-icon-active.png':'assets/images/customer-icon.png'}}"
+ alt="home">
</i>
<span> {{"i18nTextDefine_Customer" | translate}} </span>
</span>
@@ -45,7 +49,9 @@
<a href="#" onclick="window.open('http://172.30.1.80:5601/app/kibana#/dashboards')">
<span title>
<i>
- <img src="{{activeMenuBar[2] == true ? 'assets/images/monitor-icon-active.png':'assets/images/monitor-icon.png'}}" alt="home">
+ <img
+ src="{{activeMenuBar[2] == true ? 'assets/images/monitor-icon-active.png':'assets/images/monitor-icon.png'}}"
+ alt="home">
</i>
<span> {{"i18nTextDefine_Monitor" | translate}} </span>
</span>
@@ -53,12 +59,16 @@
</li>
<hr>
<li nz-submenu [ngClass]="{'activeMenuBar':activeMenuBar[3] == true}" (click)="thisActive(3)">
- <span title> <i>
- <img src="{{activeMenuBar[3] == true ? 'assets/images/Services-icon-active.png':'assets/images/Services-icon.png'}}" alt="home">
- </i> {{"i18nTextDefine_Services" | translate}} </span>
+ <span title> <i>
+ <img
+ src="{{activeMenuBar[3] == true ? 'assets/images/Services-icon-active.png':'assets/images/Services-icon.png'}}"
+ alt="home">
+ </i> {{"i18nTextDefine_Services" | translate}} </span>
<ul>
- <li nz-menu-item [ngClass]="{'activeMenuList':activeMenuList[0] == true}" (click)="thisListActive(0)"><a routerLink='services/services-list'> {{"i18nTextDefine_ServicesList" | translate}} </a></li>
- <li nz-menu-item [ngClass]="{'activeMenuList':activeMenuList[1] == true}" (click)="thisListActive(1)"><a routerLink='services/onboard-vnf-vm'> {{"i18nTextDefine_PackageManagement" | translate}} </a></li>
+ <li nz-menu-item [ngClass]="{'activeMenuList':activeMenuList[0] == true}" (click)="thisListActive(0)"><a
+ routerLink='services/services-list'> {{"i18nTextDefine_ServicesList" | translate}} </a></li>
+ <li nz-menu-item [ngClass]="{'activeMenuList':activeMenuList[1] == true}" (click)="thisListActive(1)"><a
+ routerLink='services/onboard-vnf-vm'> {{"i18nTextDefine_PackageManagement" | translate}} </a></li>
</ul>
</li>
<!-- <hr>
@@ -82,8 +92,10 @@
<li nz-menu-item [ngClass]="{'activeMenuBar':activeMenuBar[4] == true}" (click)="thisActive(4)">
<a routerLink="network">
<span title>
- <i>
- <img src="{{activeMenuBar[4] == true ? 'assets/images/network-icon-active.png':'assets/images/network-icon.png'}}" alt="home">
+ <i>
+ <img
+ src="{{activeMenuBar[4] == true ? 'assets/images/network-icon-active.png':'assets/images/network-icon.png'}}"
+ alt="home">
</i>
<span> {{"i18nTextDefine_NetworkTopology" | translate}} </span>
</span>
@@ -92,6 +104,6 @@
</ul>
</nz-sider>
<nz-layout class="main">
- <router-outlet></router-outlet>
+ <router-outlet></router-outlet>
</nz-layout>
-</nz-layout>
+</nz-layout> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/app.component.spec.ts b/usecaseui-portal/src/app/app.component.spec.ts
index 653c52ea..32387b41 100644
--- a/usecaseui-portal/src/app/app.component.spec.ts
+++ b/usecaseui-portal/src/app/app.component.spec.ts
@@ -3,7 +3,7 @@ import { RouterTestingModule } from '@angular/router/testing';
import { NgZorroAntdModule } from 'ng-zorro-antd';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { TranslateModule, TranslateLoader, TranslateService, TranslateFakeLoader} from '@ngx-translate/core';
-import {HomesService} from "./homes.service";
+import {HomesService} from "./core/services/homes.service";
import { AppComponent } from './app.component';
diff --git a/usecaseui-portal/src/app/app.component.ts b/usecaseui-portal/src/app/app.component.ts
index 29555943..d654900c 100644
--- a/usecaseui-portal/src/app/app.component.ts
+++ b/usecaseui-portal/src/app/app.component.ts
@@ -15,8 +15,8 @@
*/
import {Component} from '@angular/core';
import {TranslateService} from '@ngx-translate/core';
-import {MyhttpService} from "./myhttp.service";
-import {HomesService} from "./homes.service";
+import {MyhttpService} from "./core/services/myhttp.service";
+import {HomesService} from "./core/services/homes.service";
@Component({
diff --git a/usecaseui-portal/src/app/app.module.ts b/usecaseui-portal/src/app/app.module.ts
index 9c69124f..fa4b6bfb 100644
--- a/usecaseui-portal/src/app/app.module.ts
+++ b/usecaseui-portal/src/app/app.module.ts
@@ -24,7 +24,7 @@ import { NZ_I18N, en_US } from 'ng-zorro-antd';
import { NgxEchartsModule } from 'ngx-echarts';
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
-import {TranslateHttpLoader} from '@ngx-translate/http-loader';
+import { TranslateHttpLoader } from '@ngx-translate/http-loader';
export function HttpLoaderFactory(httpClient: HttpClient) {
return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');
}
@@ -34,52 +34,55 @@ import { AppRoutingModule } from './app-routing.module';
//Registered language pack
import { registerLocaleData } from '@angular/common';
import en from '@angular/common/locales/en';
-registerLocaleData(en);
+registerLocaleData(en);
//Custom component
import { AppComponent } from './app.component';
-import { HomeComponent } from './home/home.component';
-import { ManagementComponent } from './management/management.component';
-import { ServicesComponent } from './services/services.component';
-import { ServicesListComponent } from './services/services-list/services-list.component';
-import { OnboardVnfVmComponent } from './services/onboard-vnf-vm/onboard-vnf-vm.component';
-import { AlarmComponent } from './alarm/alarm.component';
-import { PerformanceComponent } from './performance/performance.component';
-import { PerformanceVnfComponent } from './performance/performance-vnf/performance-vnf.component';
-import { PerformanceVmComponent } from './performance/performance-vm/performance-vm.component';
-import { CcvpnNetworkComponent } from './ccvpn-network/ccvpn-network.component';
-import { CcvpnDetailComponent } from './ccvpn-detail/ccvpn-detail.component';
-import { CcvpnCreationComponent } from './ccvpn-creation/ccvpn-creation.component';
+import { HomeComponent } from './views/home/home.component';
+import { ManagementComponent } from './views/management/management.component';
+import { ServicesComponent } from './views/services/services.component';
+import { ServicesListComponent } from './views/services/services-list/services-list.component';
+import { OnboardVnfVmComponent } from './views/services/onboard-vnf-vm/onboard-vnf-vm.component';
+import { AlarmComponent } from './views/alarm/alarm.component';
+import { PerformanceComponent } from './views/performance/performance.component';
+import { PerformanceVnfComponent } from './views/performance/performance-vnf/performance-vnf.component';
+import { PerformanceVmComponent } from './views/performance/performance-vm/performance-vm.component';
+import { CcvpnNetworkComponent } from './views/ccvpn-network/ccvpn-network.component';
+import { CcvpnDetailComponent } from './views/ccvpn-detail/ccvpn-detail.component';
+import { CcvpnCreationComponent } from './views/ccvpn-creation/ccvpn-creation.component';
-import { DetailsComponent } from './components/details/details.component';
-import { GraphiclistComponent } from './components/graphiclist/graphiclist.component';
-import { E2eCreationComponent } from './components/e2e-creation/e2e-creation.component';
+import { DetailsComponent } from './shared/components/details/details.component';
+import { GraphiclistComponent } from './shared/components/graphiclist/graphiclist.component';
+import { E2eCreationComponent } from './shared/components/e2e-creation/e2e-creation.component';
-import { BarComponent } from './components/charts/bar/bar.component';
-import { LineComponent } from './components/charts/line/line.component';
-import { PieComponent } from './components/charts/pie/pie.component';
+import { BarComponent } from './shared/components/charts/bar/bar.component';
+import { LineComponent } from './shared/components/charts/line/line.component';
+import { PieComponent } from './shared/components/charts/pie/pie.component';
-import {PathLocationStrategy, LocationStrategy, HashLocationStrategy} from '@angular/common';
+import { PathLocationStrategy, LocationStrategy, HashLocationStrategy } from '@angular/common';
// Custom service
-import { MyhttpService } from './myhttp.service';
-import { HomesService } from './homes.service';
-import { onboardService } from './onboard.service';
-import { networkHttpservice } from './networkHttpservice.service';
-import { PerformanceDetailsComponent } from './components/performance-details/performance-details.component';
-import { E2eDetailComponent } from './components/e2e-detail/e2e-detail.component';
-import { CustomerComponent } from './components/customer/customer.component';
-import { ManagemencsService } from './managemencs.service';
-import { FcapsComponent } from './fcaps/fcaps.component';
+import { MyhttpService } from './core/services/myhttp.service';
+import { HomesService } from './core/services/homes.service';
+import { onboardService } from './core/services/onboard.service';
+import { networkHttpservice } from './core/services/networkHttpservice.service';
+import { PerformanceDetailsComponent } from './shared/components/performance-details/performance-details.component';
+import { E2eDetailComponent } from './shared/components/e2e-detail/e2e-detail.component';
+import { CustomerComponent } from './shared/components/customer/customer.component';
+import { ManagemencsService } from './core/services/managemencs.service';
+import { FcapsComponent } from './views/fcaps/fcaps.component';
+import { TestComponent } from './test/test.component';
+import { TextService } from './core/services/text.service';
@NgModule({
- providers : [
+ providers: [
{ provide: LocationStrategy, useClass: HashLocationStrategy },
{ provide: NZ_I18N, useValue: en_US },
MyhttpService,
HomesService,
onboardService,
networkHttpservice,
- ManagemencsService
+ ManagemencsService,
+ TextService
],
declarations: [
AppComponent,
@@ -90,7 +93,7 @@ import { FcapsComponent } from './fcaps/fcaps.component';
OnboardVnfVmComponent,
AlarmComponent,
-
+
PerformanceComponent,
PerformanceVnfComponent,
PerformanceVmComponent,
@@ -105,9 +108,10 @@ import { FcapsComponent } from './fcaps/fcaps.component';
CcvpnDetailComponent,
CcvpnCreationComponent,
E2eDetailComponent,
- CustomerComponent ,
+ CustomerComponent,
PerformanceDetailsComponent,
- FcapsComponent
+ FcapsComponent,
+ TestComponent
],
imports: [
BrowserModule,
@@ -125,6 +129,6 @@ import { FcapsComponent } from './fcaps/fcaps.component';
NgxEchartsModule,
AppRoutingModule
],
- bootstrap: [ AppComponent ]
+ bootstrap: [AppComponent]
})
export class AppModule { } \ No newline at end of file
diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html
deleted file mode 100644
index 1645325c..00000000
--- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<!--
- Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<div class="model creation-model">
-
- <div class="top-title">
- <h3 class="title fl">{{createParams.commonParams.templateType}} {{"i18nTextDefine_InstanceCreation" | translate}} </h3>
- <div class="fl" style="width: 20%">
- <button class="submit" nz-button (click)="submit()"><span> {{"i18nTextDefine_Create" | translate}} </span>
- </button>
- <button class="back" nz-button (click)="goback()"></button>
- </div>
- </div>
- <!-- chart -->
- <div class="chart">
- <span style="padding: 25px;display: inline-block;">
- {{"i18nTextDefine_InstanceTopology" | translate}}
- </span>
- <div id="createChart">
- <svg width="100%" height="100%">
- <image id="domain" xlink:href="assets/images/domain1.png" style="width: 15%"
- x="40%" y="0"/>
- </svg>
- </div>
- </div>
- <!--Template resolution : Three major items-->
- <div class="creation">
- <nz-tabset [nzTabPosition]="'top'" [nzShowPagination]=false [nzTabBarGutter]="'2'" [nzTabBarStyle]=tabBarStyle>
- <nz-tab nzTitle="Service Info">
- <div class="service-title" style="clear: both">
- <span style="color: red;">*</span><span class="lable" style="width: 60px">name:</span>
- <input nz-input [(ngModel)]="this.templateParameters.service['name']" required="required">
- <span style="color: red;">*</span><span class="lable">description:</span>
- <input nz-input [(ngModel)]="this.templateParameters.service['description']">
- </div>
- </nz-tab>
- <nz-tab nzTitle="Sdwanvpnresource List">
- <div class="sotnvpn clearfix">
- <div style="clear: both;height: 10px">
- <h3 style="float: left;color: #3C4F8C">sdwanVPN List</h3>
- <button nz-button (click)="addSotnvpn()" class="addListBtn"
- style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700"></i> {{"i18nTextDefine_Add" | translate}}
- </button>
- </div>
- <nz-table #sotnVpnTable [nzData]="sotnVpnTableData"
- [nzShowPagination]="false"
- nzSize="small">
- <thead>
- <tr>
- <th width="30%"> NO.</th>
- <th *ngFor="let key of getKeys(this.sotnInfo)">{{key.split("_")[1] || key}}</th>
- <th width="10%"> Action</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let item of sotnVpnTable.data; let i = index; ">
- <td>{{i+1}}</td>
- <td *ngFor="let keys of getKeys(this.sotnInfo);let a = index;">
- {{item[keys]}}
- </td>
- <td>
- <span class="action" (click)="editSotnVpn(i+1)"><i class="anticon anticon-edit"></i></span>
- &nbsp;
- <span class="action" (click)="deleteSotnVpn(i+1)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
- </tbody>
- </nz-table>
- </div>
- </nz-tab>
- <nz-tab nzTitle="Sdwansiteresource List">
- <div class="site">
- <div style="height: 10px">
- <h3 style="float: left;color: #3C4F8C">Site List</h3>
- <button nz-button (click)="addSite()" class="addListBtn"
- style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700"></i>{{"i18nTextDefine_Add" | translate}}
- </button>
- </div>
- <nz-table #siteTable [nzData]="siteTableData"
- [nzShowPagination]="false"
- nzSize="small">
- <thead>
- <tr>
- <th nzWidth="10%"> NO.</th>
- <th *ngFor="let key of getKeys(this.siteBaseData)">{{key.split("_")[1] || key}}</th>
- <th nzWidth="20%" style="text-align: center"> Action</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let item of siteTable.data; let i = index; ">
- <td>{{i+1}}</td>
- <td *ngFor="let keys of getKeys(this.siteBaseData);let a = index;">
- {{item[keys]}}
- </td>
- <td style="text-align: center">
- <span class="action" (click)="editSite(i+1)"><i class="anticon anticon-edit"></i></span>
- &nbsp;
- <span class="action" (click)="deleteSite(i+1)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
- </tbody>
- </nz-table>
- </div>
- </nz-tab>
- </nz-tabset>
- </div>
- <!-- sotnVpnmodel -->
- <div class="sotnnpnmodel" *ngIf="sotnVpnModelShow">
- <h3> {{"i18nTextDefine_Base" | translate}} </h3>
- <div class="inputs">
- <ul>
- <li *ngFor="let item of this.templateParameters.sotnvpn.sdwanvpnresource_list">
- <span *ngIf="item.required" style="color: red;margin: 0;margin-right: -5px;">*</span><span>{{item.lableShow}}:</span>
- <input nz-input [(ngModel)]="sotnInfo[item.lable]" title="{{item.description ? item.description:null }}"
- required="{{item.required==true ? 'required':null}}"></li>
- </ul>
- </div>
- <div>
- <h3>Sdwansitelan List</h3>
- <div>
- <div style="width: 100%;text-align: right">
- <button nz-button (click)="addSotnSdwansitelan()" class="addListBtn"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
- </button>
- </div>
- <table class="siteWanTab">
- <thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.sotnSdwansitelanParams)">{{key}}</th>
- <th width="7%"> Action</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let item of sotnSdwansitelanData; let i = index;"
- [ngClass]="{'tr-border':item.tabInputShowSdwansitelan ==false}">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);let a = index;">
- <span *ngIf="!tabInputShowSdwansitelan[i]"
- title="{{this.templateParameters.sotnvpn.sdwansitelan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}">{{item[key]}}</span>
- <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowSdwansitelan[i] "
- title="{{this.templateParameters.sotnvpn.sdwansitelan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}"
- required="{{item.required==true ? 'required':null}}">
- </td>
- <td>
- <span class="action" (click)="editSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
- class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
- <span class="action" (click)="deleteSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="action">
- <button nz-button nzType="primary" (click)="addSotnVpn_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
- <button nz-button nzType="primary" (click)="addSotnVpn_OK()">{{"i18nTextDefine_Add" | translate}}</button>
- </div>
- </div>
- <!-- sitemodel -->
- <div class="sitemodel" *ngIf="siteModelShow">
- <h3> {{"i18nTextDefine_Base" | translate}} </h3>
- <div class="inputs">
- <ul>
- <li *ngFor="let item of this.templateParameters.site.sdwansiteresource_list">
- <span *ngIf="item.required" style="color: red;margin: 0;margin-right: -5px;">*</span><span>{{item.lableShow}}:</span>
- <input nz-input [(ngModel)]="siteBaseData[item.lable]" title="{{item.description}}"
- required="{{item.required==true ? 'required':null}}"></li>
- </ul>
- </div>
- <div>
- <h3>Sdwandevice</h3>
- <div>
- <div style="width: 100%;text-align: right">
- <button nz-button (click)="addSdwanDevice()" class="addListBtn"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
- </button>
- </div>
- <table class="siteWanTab">
- <thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.siteCpeData)">{{key}}</th>
- <th width="7%"> Action</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let item of siteSdwanDevice; let i = index;"
- [ngClass]="{'tr-border':item.tabInputShowDevice ==false}">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);let a = index;">
- <span *ngIf="!tabInputShowDevice[i]"
- title="{{this.templateParameters.site.sdwandevice_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwandevice_list[a].description:null}}">{{item[key]}}</span>
- <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowDevice[i] "
- title="{{this.templateParameters.site.sdwandevice_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwandevice_list[a].description:null}}"
- required="{{item.required==true ? 'required':null}}">
- </td>
- <td>
- <span class="action" (click)="editDevicePort(i+1,item,siteSdwanDevice)"><i
- class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
- <span class="action" (click)="deleteDevicePort(i+1,item,siteSdwanDevice)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
-
- <h3>Sdwansitewan List</h3>
- <div>
- <div style="width: 100%;text-align: right">
- <button nz-button (click)="addSiteWan()" class="addListBtn"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
- </button>
- </div>
- <table class="siteWanTab">
- <thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.siteWanParams)">{{key}}</th>
- <th width="7%"> Action</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let item of siteWanData; let i = index;"
- [ngClass]="{'tr-border':item.tabInputShowWanPort ==false}">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);let a = index;">
- <span *ngIf="!tabInputShowWanPort[i]"
- title="{{this.templateParameters.site.sdwansitewan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}">{{item[key]}}</span>
- <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowWanPort[i] "
- title="{{this.templateParameters.site.sdwansitewan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}"
- required="{{item.required==true ? 'required':null}}">
- </td>
- <td>
- <span class="action" (click)="editWanPort(i+1,item,siteWanData)"><i
- class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
- <span class="action" (click)="deleteWanPort(i+1,item,siteWanData)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="action">
- <button nz-button nzType="primary" (click)="addsite_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
- <button nz-button nzType="primary" (click)="addsite_OK()">{{"i18nTextDefine_Add" | translate}}</button>
- </div>
- </div>
- <div class="mask" *ngIf="siteModelShow || sotnVpnModelShow"></div>
-</div>
diff --git a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.ts b/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.ts
deleted file mode 100644
index 5446dc5f..00000000
--- a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.ts
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
-import { MyhttpService } from '../../myhttp.service';
-import * as d3 from 'd3';
-
-@Component({
- selector: 'app-e2e-creation',
- templateUrl: './e2e-creation.component.html',
- styleUrls: ['./e2e-creation.component.less']
-})
-export class E2eCreationComponent implements OnInit {
-
- constructor( private myhttp:MyhttpService ) { }
-
- ngOnInit() {
- this.gete2eTemParameters(this.e2e_ns_temParametersContent);
- this.getVimInfo();
- this.getSdnControllers();
- }
-
- @Output() e2eCloseCreate = new EventEmitter();
- @Output() nsCloseCreate = new EventEmitter();
- @Input() createParams;
- @Input() e2e_ns_temParametersContent;
-
-
- // e2e serviceTemplateParameters
- templateParameters = {
- invariantUUID: "",
- uuid: "",
- name: "",
- type: "",
- version: "",
- description: "",
- category: "",
- subcategory: "",
- customizationUuid: "",
- inputs:[],
- nestedTemplates:[]
- };
- // ns serviceTemplateParameters
- nsTemplateParameters = {
- inputs:{},
- inputs2:[],
- vnfs:[]
- };
- roote2e = {
- "name": "e2e",
- "type": "e2e",
- "children": []
- };
-
- rootns = {
- "name": "ns",
- "type": "ns",
- "children": []
- };
-
- imgmap = {
- '1': './assets/images/create-e2e.png',
- '2': './assets/images/create-ns.png',
- '3': './assets/images/create-vnf.png',
- };
- gete2eTemParameters(data) { //Get template parameters
- let type = this.createParams.commonParams.templateType == "E2E Service" ? "e2e" : "ns";
- console.log(this.createParams);
- console.log(data);
- if(type == "e2e"){
- this.templateParameters = data;
- this.templateParameters.nestedTemplates.forEach((item)=>{
- item.inputs = item.inputs.filter((input)=>{return input.type !== "sdn_controller"});
- });
- this.templateParameters.nestedTemplates.map((item,index) => {
- let nsIndex={
- "name": "ns",
- "type": "ns",
- "children": []
- };
- nsIndex.children=item.nestedTemplates.map((item,index) => {
- return {
- "name": "vnf",
- "type": "vnf",
- }
- });
- this.roote2e.children.push(nsIndex);
- });
- console.log(this.templateParameters);
- }else if(type == "ns"){
- if(data["model"]!=undefined && typeof data["model"]=='string'){
- this.nsTemplateParameters = JSON.parse(data["model"]);
- }else{
- this.nsTemplateParameters = data;
- }
- this.nsTemplateParameters["inputs2"] = [];
- let inputs = this.nsTemplateParameters.inputs;
- for(let key in inputs){
- this.nsTemplateParameters["inputs2"].push({name:key,type:inputs[key].type,value:inputs[key].value})
- }
- this.rootns.children=this.nsTemplateParameters.vnfs.map((item,index) => {
- return {
- "name": "vnf",
- "type": "vnf",
- }
- });
- console.log(this.nsTemplateParameters);
- }
-
- this.drawImage(type)
-
- }
- vimInfos=[];
- getVimInfo() {
- this.myhttp.getVimInfo()
- .subscribe((data)=>{
- this.vimInfos = data.map((item)=>{return {name:item['cloud-owner'],id:item['cloud-region-id']}});
- })
- };
- sdnControllers=[];
- getSdnControllers(){
- this.myhttp.getSdnControllers()
- .subscribe((data)=>{
- this.sdnControllers = data.map((item)=>{return {name:item['thirdparty-sdnc-id'],id:item['thirdparty-sdnc-id']}});
- })
- }
-
- // e2e requstbody
- service = {
- name: "",
- description: "",
- COS:"",
- EBS:"",
- serviceInvariantUuid: "",
- serviceUuid: "", // uuid ??
- globalSubscriberId: "", // "customer.id",
- serviceType: "", // "serviceType.value",
- parameters: {
- locationConstraints:[
-
- ],
- resources: [],
- requestInputs: {},
- }
-
- }
-
- // ns requstbody
- ns_service = {
- csarId: "",
- nsName: "",
- description: "",
- context: {
- globalCustomerId: "",
- serviceType: ""
- }
- };
- ns_service2 = {
- locationConstraints: [
-
- ],
- additionalParamForNs: {
- }
- };
- submit(){
- let type = this.createParams.commonParams.templateType == "E2E Service" ? "e2e" : "ns";
- if(type == "e2e"){
- this.service.serviceInvariantUuid = this.templateParameters.invariantUUID;
- this.service.serviceUuid = this.templateParameters.uuid;
- this.service.globalSubscriberId = this.createParams.commonParams.customer.id;
- this.service.serviceType = this.createParams.commonParams.serviceType.name;
-
- this.templateParameters.inputs.forEach((ipnut)=>{
- this.service.parameters.requestInputs[ipnut.name] = ipnut.value == undefined ? ipnut.defaultValue : ipnut.value;
- });
-
- this.templateParameters.nestedTemplates.forEach((item)=>{
- let nsService = {
- resourceName: item.name,
- resourceInvariantUuid: item.invariantUUID,
- resourceUuid: item.uuid,
- resourceCustomizationUuid: item.customizationUuid,
- parameters: {
- locationConstraints:[],
- resources:[],
- requestInputs:{}
- }
- };
- item.inputs.forEach((input)=>{
- if(input.type == "vf_location"){
- let location = {
- vnfProfileId: input.name,
- locationConstraints:{
- cloudOwner: input.value.name,
- cloudRegionId:input.value.id
- }
- };
- nsService.parameters.locationConstraints.push(location);
- }else{
- nsService.parameters.requestInputs[input.name] = input.value == undefined ? input.defaultValue : input.value;
- }
- })
- this.service.parameters.resources.push(nsService);
- })
- console.log(this.service);
- this.service.parameters.requestInputs['orchestrator'] = this.createParams.orchestrator.name;
- if(this.createParams.isSol005Interface){
- this.service.parameters.requestInputs['isSol005Interface'] = this.createParams.isSol005Interface;
- }
- this.e2eCloseCreate.emit({service:this.service});
-
- }else if(type == "ns"){
- //create ns instance
- this.ns_service.csarId = this.createParams.template.id;
- this.ns_service.context.globalCustomerId = this.createParams.commonParams.customer.id;
- this.ns_service.context.serviceType = this.createParams.commonParams.serviceType.name;
-
- this.nsTemplateParameters.inputs2.forEach((input)=>{
- this.ns_service2.additionalParamForNs[input.name] = input.value == undefined ? input.defaultValue : input.value;
- })
- this.nsTemplateParameters.vnfs.forEach((vnf)=>{
- let vnfparams = {
- vnfProfileId: vnf.properties.id,
- locationConstraints: {
- cloudOwner: vnf.value.name,
- cloudRegionId:vnf.value.id
- }
- }
- this.ns_service2.locationConstraints.push(vnfparams);
- });
- console.log(this.ns_service2);
-
- let requstbody = {
- step1:this.ns_service,
- step2:this.ns_service2
- };
- this.nsCloseCreate.emit(requstbody);
- }
-
- }
- goback(){
- this.e2eCloseCreate.emit();
- }
-
-
-
- drawImage(type) {
- if (type == "e2e") {
- this.render(this.roote2e, this.imgmap)
- } else if (type == "ns") {
- this.render(this.rootns, this.imgmap)
- }
-
-
- }
-
- // e2e or NS draw d3 topo
- render(data, imgmap) {
- let width = document.getElementById("createChart").clientWidth,
- height = document.getElementById("createChart").clientHeight;
- let cluster = d3.layout.tree()
- .size([width, height]);
- let diagonal = d3.svg.diagonal()
- .projection(function (d) {
- return [d.x-18, d.y+40];
- });
- let svg = d3.select("svg");
-
- //marker
- let marker =
- svg.append("marker")
- .attr("id", "resolved")
- .attr("markerUnits", "strokeWidth")
- .attr("markerUnits", "userSpaceOnUse")
- .attr("viewBox", "0 -5 10 10")
- .attr("refX", 22)
- .attr("refY", 0)
- .attr("markerWidth", 20)
- .attr("markerHeight", 20)
- .attr("orient", "auto")
- .attr("stroke-width", 1)
- .append("circle")
- .attr("cx", 5)
- .attr("cy", 0)
- .attr("r", 2)
- .attr("stroke-width", 1)
- .style("stroke", "#2F8BF7")
- .attr('fill', 'white');
- let i = 0;
- let nodes = cluster.nodes(data).reverse();
- nodes.forEach(function (d) {
- d.y = d.depth * 200+100;
-
- });
-
- let links = cluster.links(nodes);
-
- let linkEnter = svg.selectAll("path.link")
- .data(links);
-
- linkEnter.enter().append("path")
- .attr("class", "link")
- .attr("d", diagonal)
- .style("stroke", "#2F8BF7")
- .style('stroke-width', '1px')
- .attr("marker-end", "url(#resolved)")
- .style("fill", "none")
- // .style("fill-opacity", 1)
- .attr("id", function (d, i) {
- return "mypath" + i;
- });
-
- let node = svg.selectAll(".node")
- .data(nodes)
- .enter()
- .append("g")
- .attr("class", "node")
- .attr("transform", function (d) {
- return "translate(" + (d.x + -50) + "," + (d.y) + ")";
- });
-
- node.append('image')
- .attr('xlink:href', function (d) {
- if(d.type=="e2e"){
- return imgmap[1];
- }else if(d.type=="ns"){
- return imgmap[2];
- }else if(d.type=="vnf"){
- return imgmap[3];
- }
-
- })
- .style('width', '12%')
- .style("cursor","pointer")
- .attr("x", 0)
- .attr("y", 0)
- .attr("rx", 3);
-
-
- }
-
-}
diff --git a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.ts b/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.ts
deleted file mode 100644
index 5affeb97..00000000
--- a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.ts
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-*/
-
-import {Component, OnInit, Input, Output, EventEmitter} from '@angular/core';
-import {MyhttpService} from '../../myhttp.service';
-import * as d3 from 'd3';
-
-@Component({
- selector: 'app-e2e-detail',
- templateUrl: './e2e-detail.component.html',
- styleUrls: ['./e2e-detail.component.less']
-})
-export class E2eDetailComponent implements OnInit {
-
- constructor(private myhttp: MyhttpService) {
- }
-
- ngOnInit() {
- this.dataInit();
- }
-
- @Input() detailParams;
-
- @Output() closeDetail = new EventEmitter();
- serviceInstanceName: any;
- serviceType: any;
- input_parameters: any;
-
- // e2e
- service = {
- name: "",
- description: "",
- };
- e2e_nestedTemplates = [];
- e2e_requestInputs: any;
-
- ns_service = {
- name:"",
- description:""
- };
- ns_nestedTemplates = [];
- ns_requestInputs = {};
- roote2e = {
- "name": "e2e",
- "type": "e2e",
- "children": []
- };
-
- rootns = {
- "name": "ns",
- "type": "ns",
- "children": []
- };
-
- imgmap = {
- '1': './assets/images/create-e2e.png',
- '2': './assets/images/create-ns.png',
- '3': './assets/images/create-vnf.png',
- };
-
- getKeys(item) {
- return Object.keys(item);
- }
-
- dataInit() {
- console.log(this.detailParams);
- this.serviceInstanceName = this.detailParams['service-instance-name'] || this.detailParams["nsName"];
- if (this.detailParams.serviceDomain == 'E2E Service'){
- this.input_parameters = JSON.stringify(this.detailParams['input-parameters']);
- this.input_parameters = JSON.parse(this.input_parameters);
- console.log(this.input_parameters);
- this.service = {
- name:this.input_parameters.service.name,
- description: this.input_parameters.service.description,
- };
- if(this.input_parameters.service.parameters.requestInputs!=undefined && Object.keys(this.input_parameters.service.parameters.requestInputs).length>0){
- this.e2e_requestInputs = this.input_parameters.service.parameters.requestInputs;
- }
- if(this.input_parameters.service.parameters.resources!=undefined && this.input_parameters.service.parameters.resources.length>0){
- this.input_parameters.service.parameters.resources.map((item,i) => {
- let nestedTemplates={
- name:null,
- vnfs:[]
- };
- nestedTemplates.name= item.resourceName;
- item.parameters.locationConstraints.map((its,k) => {
- nestedTemplates.vnfs.push({
- "vf_location":its.locationConstraints.cloudOwner
- })
- });
- this.e2e_nestedTemplates.push(nestedTemplates);
-
- let nsIndex={
- "name": "ns",
- "type": "ns",
- "children": []
- };
- nsIndex.children=item.parameters.locationConstraints.map((itemits,index) => {
- return {
- "name": "vnf",
- "type": "vnf",
- }
- });
- this.roote2e.children.push(nsIndex);
- });
- console.log(this.e2e_nestedTemplates);
- console.log(this.e2e_requestInputs);
- }
- }else if(this.detailParams.serviceDomain == 'Network Service'){
- this.ns_service = {
- name:this.detailParams.name || this.detailParams['service-instance-name'],
- description: this.detailParams.description || null
- };
- if(this.detailParams.requestInputs!=undefined && Object.keys(this.detailParams.requestInputs).length>0){
- this.ns_requestInputs = this.detailParams.requestInputs;
- }
- this.ns_nestedTemplates = this.detailParams.childServiceInstances;
- this.rootns.children=this.ns_nestedTemplates.map((item,index) => {
- return {
- "name": "vnf",
- "type": "vnf"
- }
- });
- console.log(this.ns_nestedTemplates);
- console.log(this.ns_requestInputs);
- }
- this.drawImage(this.detailParams.serviceDomain)
- }
-
- goback() {
- this.closeDetail.emit();
- }
-
- drawImage(type) {
- if (type == "E2E Service") {
- this.render(this.roote2e, this.imgmap)
- } else if (type == "Network Service") {
- this.render(this.rootns, this.imgmap)
- }
-
-
- }
-
- // draw d3 charts
- render(data, imgmap) {
- let width = document.getElementById("createChart").clientWidth,
- height = document.getElementById("createChart").clientHeight;
- let cluster = d3.layout.tree()
- .size([width, height]);
- let diagonal = d3.svg.diagonal()
- .projection(function (d) {
- return [d.x-18, d.y+40];
- });
- let svg = d3.select("svg");
-
- //marker
- let marker =
- svg.append("marker")
- .attr("id", "resolved")
- .attr("markerUnits", "strokeWidth")
- .attr("markerUnits", "userSpaceOnUse")
- .attr("viewBox", "0 -5 10 10")
- .attr("refX", 22)
- .attr("refY", 0)
- .attr("markerWidth", 20)
- .attr("markerHeight", 20)
- .attr("orient", "auto")
- .attr("stroke-width", 1)
- .append("circle")
- .attr("cx", 5)
- .attr("cy", 0)
- .attr("r", 2)
- .attr("stroke-width", 1)
- .style("stroke", "#2F8BF7")
- .attr('fill', 'white');
- let i = 0;
- let nodes = cluster.nodes(data).reverse();
- nodes.forEach(function (d) {
- d.y = d.depth * 200+100;
-
- });
-
- let links = cluster.links(nodes);
-
- let linkEnter = svg.selectAll("path.link")
- .data(links);
-
- linkEnter.enter().append("path")
- .attr("class", "link")
- .attr("d", diagonal)
- .style("stroke", "#2F8BF7")
- .style('stroke-width', '1px')
- .attr("marker-end", "url(#resolved)")
- .style("fill", "none")
- // .style("fill-opacity", 1)
- .attr("id", function (d, i) {
- return "mypath" + i;
- });
-
- let node = svg.selectAll(".node")
- .data(nodes)
- .enter()
- .append("g")
- .attr("class", "node")
- .attr("transform", function (d) {
- return "translate(" + (d.x + -50) + "," + (d.y) + ")";
- });
-
- node.append('image')
- .attr('xlink:href', function (d) {
- if(d.type=="e2e"){
- return imgmap[1];
- }else if(d.type=="ns"){
- return imgmap[2];
- }else if(d.type=="vnf"){
- return imgmap[3];
- }
-
- })
- .style('width', '12%')
- .style("cursor","pointer")
- .attr("x", 0)
- .attr("y", 0)
- .attr("rx", 3);
-
-
- }
-
-
-}
diff --git a/usecaseui-portal/src/app/dataInterface.ts b/usecaseui-portal/src/app/core/models/dataInterface.ts
index e092bd03..e092bd03 100644
--- a/usecaseui-portal/src/app/dataInterface.ts
+++ b/usecaseui-portal/src/app/core/models/dataInterface.ts
diff --git a/usecaseui-portal/src/app/homes.service.spec.ts b/usecaseui-portal/src/app/core/services/homes.service.spec.ts
index 9c03dcb2..9c03dcb2 100644
--- a/usecaseui-portal/src/app/homes.service.spec.ts
+++ b/usecaseui-portal/src/app/core/services/homes.service.spec.ts
diff --git a/usecaseui-portal/src/app/homes.service.ts b/usecaseui-portal/src/app/core/services/homes.service.ts
index b9b9d5bf..8d3f4684 100644
--- a/usecaseui-portal/src/app/homes.service.ts
+++ b/usecaseui-portal/src/app/core/services/homes.service.ts
@@ -16,7 +16,7 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
-import { homeData, homeVmLineData, servicesSelectData, servicesTableData, creatensData, onboardTableData, onboardDataVNF, onboardDataPNF , baseUrl} from './dataInterface';
+import { homeData, homeVmLineData, servicesSelectData, servicesTableData, creatensData, onboardTableData, onboardDataVNF, onboardDataPNF, baseUrl } from '../models/dataInterface';
@Injectable()
export class HomesService {
@@ -29,18 +29,17 @@ export class HomesService {
home_performanceData: this.baseUrl + "/performance/queryAllSourceNames",
home_alarmData: this.baseUrl + "/alarm/statusCount",
home_alarmChartData: this.baseUrl + "/alarm/diagram",
- home_servicebarData:this.baseUrl + "",
+ home_servicebarData: this.baseUrl + "",
home_servicebarnsData: this.baseUrlbar + "ns-packages",
home_servicebarvnfData: this.baseUrlbar + "vnf-packages",
- home_servicebarpnfData: this.baseUrlbar + "pnf-packages",
+ home_servicebarpnfData: this.baseUrlbar + "pnf-packages",
sourceNames: this.baseUrl + "/alarm/getSourceNames",
- listSortMasters:this.baseUrl+"/listSortMasters",
- currentLanguage:"/api/portal-auxapi/languageSetting/user/",
-
+ listSortMasters: this.baseUrl + "/listSortMasters",
+ currentLanguage: "/api/portal-auxapi/languageSetting/user/",
}
- // Time formatting milliseconds to normal
- dateformater(vmstime) {
+ // Time formatting milliseconds to normal
+ dateformater(vmstime) {
if (!vmstime) {
return ''
}
@@ -71,22 +70,22 @@ export class HomesService {
let params = new HttpParams({ fromObject: paramsObj });
return this.http.get<any>(this.url.home_alarmChartData, { params });
}
-
- getHomeServiceBarData(){
+
+ getHomeServiceBarData() {
return this.http.get<any>(this.url.home_servicebarData);
}
- getHomeServiceBarNsData(){
+ getHomeServiceBarNsData() {
return this.http.get<any>(this.url.home_servicebarnsData);
}
- getHomeServiceBarVnfData(){
+ getHomeServiceBarVnfData() {
return this.http.get<any>(this.url.home_servicebarvnfData);
}
- getHomeServiceBarPnfData(){
+ getHomeServiceBarPnfData() {
return this.http.get<any>(this.url.home_servicebarpnfData);
}
- // alarm data
- getAlarmFormData(currentPage: number, pageSize: number, sourceName?: string, priority?: string, startTime?: string, endTime?: string, vfStatus?: string) {
+ // alarm data
+ getAlarmFormData(currentPage: number, pageSize: number, sourceName?: string, priority?: string, startTime?: string, endTime?: string, vfStatus?: string) {
return this.http.get<any>(this.baseUrl + '/alarm/' + '/' + currentPage + '/' + pageSize + '?sourceName=' + sourceName + '&priority=' + priority + '&startTime=' + startTime + '&endTime=' + endTime + '&vfStatus=' + vfStatus);
}
@@ -121,12 +120,12 @@ export class HomesService {
}
- getListSortMasters(){
- return this.http.get<any>(this.url.listSortMasters);
- }
+ getListSortMasters() {
+ return this.http.get<any>(this.url.listSortMasters);
+ }
- getCurrentLanguage(currentloginId){
- let url=this.url.currentLanguage+currentloginId;
- return this.http.get<any>(url);
- }
+ getCurrentLanguage(currentloginId) {
+ let url = this.url.currentLanguage + currentloginId;
+ return this.http.get<any>(url);
+ }
}
diff --git a/usecaseui-portal/src/app/managemencs.service.ts b/usecaseui-portal/src/app/core/services/managemencs.service.ts
index 03ddb2e2..a28885d8 100644
--- a/usecaseui-portal/src/app/managemencs.service.ts
+++ b/usecaseui-portal/src/app/core/services/managemencs.service.ts
@@ -1,57 +1,57 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
-import {baseUrl} from './dataInterface';
+import { baseUrl } from '../models/dataInterface';
@Injectable()
export class ManagemencsService {
- constructor(private http: HttpClient) { }
+ constructor(private http: HttpClient) { }
baseUrl = baseUrl.baseUrl;
-
+
/* line up */
url = {
- customers:this.baseUrl + "/uui-lcm/customers", /* get */
- serviceType:this.baseUrl + "/uui-lcm/customers/"+"*_*"+"/service-subscriptions", /* get */
- CustomersPir:this.baseUrl + "/uui-lcm/serviceNumByCustomer", /* get */
- CustomersColumn:this.baseUrl + "/uui-lcm/serviceNumByServiceType/"+"*_*", /* get */
- createCustomer:this.baseUrl+"/uui-lcm/customers/", /* put */
- createServiceType:this.baseUrl+"/uui-lcm/customers/*_*/service-subscriptions/*+*", /* put */
- getCustomerresourceVersion:this.baseUrl+"/uui-lcm/customers/*_*", /* put */
- deleteCustomer:this.baseUrl+"/uui-lcm/customers?customerId=*_*&resourceVersion=*+*",
- getServiceTypeResourceVersion:this.baseUrl+"/uui-lcm/customers/*_*/service-subscriptions/*+*",
- deleteServiceType:this.baseUrl+"/uui-lcm/customers/*_*/service-subscriptions/*+*?resourceVersion=*@* ",
+ customers: this.baseUrl + "/uui-lcm/customers", /* get */
+ serviceType: this.baseUrl + "/uui-lcm/customers/" + "*_*" + "/service-subscriptions", /* get */
+ CustomersPir: this.baseUrl + "/uui-lcm/serviceNumByCustomer", /* get */
+ CustomersColumn: this.baseUrl + "/uui-lcm/serviceNumByServiceType/" + "*_*", /* get */
+ createCustomer: this.baseUrl + "/uui-lcm/customers/", /* put */
+ createServiceType: this.baseUrl + "/uui-lcm/customers/*_*/service-subscriptions/*+*", /* put */
+ getCustomerresourceVersion: this.baseUrl + "/uui-lcm/customers/*_*", /* put */
+ deleteCustomer: this.baseUrl + "/uui-lcm/customers?customerId=*_*&resourceVersion=*+*",
+ getServiceTypeResourceVersion: this.baseUrl + "/uui-lcm/customers/*_*/service-subscriptions/*+*",
+ deleteServiceType: this.baseUrl + "/uui-lcm/customers/*_*/service-subscriptions/*+*?resourceVersion=*@* ",
};
// Get all customers
getAllCustomers() {
- return this.http.get<any>(this.url.customers);
+ return this.http.get<any>(this.url.customers);
}
// get all servicetype
getServiceTypes(customer) {
- let url = this.url.serviceType.replace("*_*", customer.id);
- console.log(url)
- return this.http.get<any>(url);
+ let url = this.url.serviceType.replace("*_*", customer.id);
+ console.log(url)
+ return this.http.get<any>(url);
}
// get Customer Pir
- getCustomersPie(){
- return this.http.get<any>(this.url.CustomersPir);
+ getCustomersPie() {
+ return this.http.get<any>(this.url.CustomersPir);
}
// get Customer ber
- getCustomersColumn(customer){
- let url = this.url.CustomersColumn.replace("*_*", customer.id);
- return this.http.get<any>(url);
+ getCustomersColumn(customer) {
+ let url = this.url.CustomersColumn.replace("*_*", customer.id);
+ return this.http.get<any>(url);
}
// create New Customer
createCustomer(customer, createParams) {
let url = this.url.createCustomer + customer;
// return this.http.get(url, createParams);//location
- return this.http.put(url,createParams);//online
+ return this.http.put(url, createParams);//online
}
createServiceType(createParams) {
diff --git a/usecaseui-portal/src/app/core/services/myhttp.service.ts b/usecaseui-portal/src/app/core/services/myhttp.service.ts
new file mode 100644
index 00000000..9ed75b00
--- /dev/null
+++ b/usecaseui-portal/src/app/core/services/myhttp.service.ts
@@ -0,0 +1,235 @@
+/*
+ Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+import { Injectable } from '@angular/core';
+import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
+import { Observable } from 'rxjs/Observable';
+import { homeData, homeVmLineData, servicesSelectData, servicesTableData, creatensData, onboardTableData, onboardDataVNF, onboardDataPNF, baseUrl } from '../models/dataInterface';
+
+@Injectable()
+export class MyhttpService {
+
+ constructor(private http: HttpClient) { }
+ baseUrl = baseUrl.baseUrl;
+ url = {
+ listSortMasters: this.baseUrl + "/listSortMasters",
+ customers: this.baseUrl + "/uui-lcm/customers",
+ orchestrators: this.baseUrl + "/uui-lcm/orchestrators",
+ serviceType: this.baseUrl + "/uui-lcm/customers/" + "*_*" + "/service-subscriptions",
+ servicesTableData: this.baseUrl + '/uui-lcm/service-instances',
+ serviceTemplates: this.baseUrl + "/uui-lcm/service-templates",
+ templateParameters: this.baseUrl + "/uui-lcm/fetchCCVPNTemplateData/*_*",
+ e2etemplateParameters: this.baseUrl + "/uui-lcm/service-templates/" + "*_*" + "?toscaModelPath=",
+ nstemplateParameters: this.baseUrl + "/uui-lcm/fetchNsTemplateData",
+ vimInfo: this.baseUrl + "/uui-lcm/locations/",
+ sdnControllers: this.baseUrl + "/uui-lcm/sdnc-controllers/",
+ addressData: this.baseUrl + "/uui-sotn/getOssInvenory",
+ createService: this.baseUrl + "/uui-lcm/services",
+ ns_createService: this.baseUrl + "/uui-lcm/createNetworkServiceInstance",
+ ns_createService2: this.baseUrl + "/uui-lcm/instantiateNetworkServiceInstance",
+ deleteService: this.baseUrl + "/uui-lcm/services/",
+ ns_deleteService: this.baseUrl + "/uui-lcm/deleteNetworkServiceInstance?ns_instance_id=",
+ ns_stopService: this.baseUrl + "/uui-lcm/terminateNetworkServiceInstance?ns_instance_id=",
+ ns_healService: this.baseUrl + "/uui-lcm/healNetworkServiceInstance?ns_instance_id=",
+ vnfInfo: this.baseUrl + "/uui-lcm/VnfInfo/",
+ progress: this.baseUrl + "/uui-lcm/services/" + "*_*" + "/operations/",
+ nsProgress: this.baseUrl + "/uui-lcm/jobs/getNsLcmJobStatus/" + "*_*" + "?responseId=0&serviceInstanceId=",
+ e2eScale: this.baseUrl + "/services/scaleServices/",
+ e2e_nsdata: this.baseUrl + "/getServiceInstanceById/customerId/",
+ updateccvpn: this.baseUrl + "/uui-lcm/services/updateService/",
+
+ allottedResource: this.baseUrl + "/uui-sotn/getAllottedResources",
+ pnfDetail: this.baseUrl + "/uui-sotn/getPnfInfo/",
+ connectivity: this.baseUrl + "/uui-sotn/getConnectivityInfo/",
+ vpnBinding: this.baseUrl + "/uui-sotn/getPinterfaceByVpnId/",
+ }
+
+ // serviceTable list
+ getServicesTableData(paramsObj): Observable<HttpResponse<servicesTableData>> {
+ let params = new HttpParams({ fromObject: paramsObj });
+ return this.http.get<servicesTableData>(this.url.servicesTableData, { observe: 'response', params });
+ }
+
+ //---------------------------------------------------------------------------------
+
+ // Get all customers
+ getAllCustomers() {
+ return this.http.get<any>(this.url.customers);
+ }
+
+ // Get all Orchestrators
+ getAllOrchestrators() {
+ return this.http.get<any>(this.url.orchestrators);
+ }
+
+ // Get relevant serviceType
+ getServiceTypes(customer) {
+ let url = this.url.serviceType.replace("*_*", customer.id);
+ return this.http.get<any>(url);
+ }
+
+
+ // Get all template types
+ getAllServiceTemplates(type) {
+ if (type == "Network Service") {
+ let nsUrl = this.url.serviceTemplates.replace("service-templates", "listNsTemplates").replace("serviceTemplates2", "serviceTemplates-ns");
+ console.log(nsUrl);
+ return this.http.get<any>(nsUrl);
+ }
+ return this.http.get<any>(this.url.serviceTemplates);
+ }
+
+
+ //Get template input parameters
+ getTemplateParameters(type, template) {
+ // let url = this.url.templateParameters.replace("*_*",type) + template.toscaModelURL; //Local simulation
+ if (type == "ns") {
+ let body = {
+ csarId: template.id,
+ inputs: ""
+ };
+ return this.http.post<any>(this.url.nstemplateParameters, body);
+ } else if (type == "e2e") {
+ let url = this.url.e2etemplateParameters.replace("*_*", template.uuid) + template.toscaModelURL;
+ return this.http.get<any>(url);
+ } else {
+ let body = {
+ csarId: template.uuid,
+ packageType: "Service",
+ inputs: ""
+ };
+ let url = this.url.templateParameters.replace("*_*", template.uuid);
+ return this.http.post<any>(url, body);
+ }
+ }
+
+ getVimInfo() {
+ return this.http.get<any>(this.url.vimInfo);
+ };
+ getSdnControllers() {
+ return this.http.get<any>(this.url.sdnControllers);
+ }
+
+ // Create interface
+ createInstance(requestBody, createParams) {
+ // return this.http.get<any>(this.url.createService + createParams); //Local simulation
+ return this.http.post<any>(this.url.createService + createParams, requestBody);
+ }
+ nsCreateInstance(requestBody) {
+ // return this.http.get<any>(this.url.ns_createService); //Local simulation
+ return this.http.post<any>(this.url.ns_createService, requestBody);
+ }
+ nsCreateInstance2(params, requestBody) {
+ // return this.http.get<any>(this.url.ns_createService2 + params); //Local simulation
+ return this.http.post<any>(this.url.ns_createService2 + params, requestBody);
+ }
+
+ updateccvpn(id, requestBody) {
+ console.log(id);
+ console.log(requestBody);
+ //return this.http.get<any>(this.url.updateccvpn + id); //local
+ return this.http.put<any>(this.url.updateccvpn + id, requestBody);// online
+ }
+ // Delete interface
+ deleteInstance(obj) {
+ let httpOptions = {
+ headers: new HttpHeaders({
+ 'Content-Type': 'application/json',
+ 'Accept': 'application/json',
+ 'Authorization': 'Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=='
+ }),
+ body: {
+ 'globalSubscriberId': obj.globalSubscriberId,
+ 'serviceType': obj.serviceType.name
+ }
+ };
+ // return this.http.get<any>(this.url.deleteService); //Local simulation
+ return this.http.delete<any>(this.url.deleteService + obj.serviceInstanceId, httpOptions);
+ }
+ nsDeleteInstance(id) {
+ // return this.http.get<any>(this.url.ns_deleteService); //Local simulation
+ return this.http.delete<any>(this.url.ns_deleteService + id);
+ }
+ stopNsService(id, requestBody) { //You need to terminate before deleting
+ // return this.http.get<any>(this.url.ns_stopService); //Local simulation
+ return this.http.post<any>(this.url.ns_stopService + id, requestBody);
+ }
+
+ getVnfInfo(id) {
+ return this.http.get<any>(this.url.vnfInfo + id);
+ }
+ healNsService(id, requestBody) {
+ // return this.http.get<any>(this.url.ns_healService); //Local simulation
+ return this.http.post<any>(this.url.ns_healService + id, requestBody);
+ }
+
+ // scale
+ scaleE2eService(id, requestBody) {
+ // return this.http.get<any>(this.url.e2eScale + id);
+ return this.http.post<any>(this.url.e2eScale + id, requestBody);
+ }
+ getE2e_nsData(paramsObj) {
+ let params = new HttpParams({ fromObject: paramsObj });
+ return this.http.get<any>(this.url.e2e_nsdata, { params });
+ }
+
+ // Query progress interface
+ getProgress(obj) {
+ let url = this.url.progress.replace("*_*", obj.serviceId) + obj.operationId + "?operationType=" + obj.operationType;
+ return this.http.get<any>(url);
+ }
+ getNsProgress(jobid, serviceId, operationType) {
+ let url = this.url.nsProgress.replace("*_*", jobid) + serviceId + "&operationType=" + operationType;
+ return this.http.get<any>(url);
+ }
+
+ // Get allotted-resource to get tp and pnf values
+ getAllottedResource(obj) {
+ let params = new HttpParams({ fromObject: obj });
+ let url = this.url.allottedResource;
+ return this.http.get<any>(url, { params });
+ }
+ //Get the corresponding domain (network-resource) by pnf value
+ getPnfDetail(name) {
+ let url = this.url.pnfDetail + name;
+ return this.http.get<any>(url);
+ }
+ //Get connectivity by sotn, find vpn-id
+ getSotnConnectivity(id) {
+ let url = this.url.connectivity + id;
+ return this.http.get<any>(url);
+ }
+ //Find tp and pnf by vpn-id
+ getVpnBinding(id) {
+ let url = this.url.vpnBinding + id;
+ return this.http.get<any>(url);
+ }
+ // Time formatting milliseconds to normal
+ dateformater(vmstime) {
+ if (!vmstime) {
+ return ''
+ }
+ let mstime = Number((vmstime + '').slice(0, 13));
+ let time = new Date(mstime);
+ let year = time.getFullYear();
+ let month = time.getMonth() + 1;
+ let day = time.getDate();
+ let hours = time.getHours();
+ let minutes = time.getMinutes();
+ let seconds = time.getSeconds();
+ let formattime = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
+ return formattime;
+ }
+}
diff --git a/usecaseui-portal/src/app/networkHttpservice.service.ts b/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts
index d09f0025..8af6d292 100644
--- a/usecaseui-portal/src/app/networkHttpservice.service.ts
+++ b/usecaseui-portal/src/app/core/services/networkHttpservice.service.ts
@@ -15,13 +15,13 @@
*/
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
-import { baseUrl} from './dataInterface';
+import { baseUrl } from '../models/dataInterface';
@Injectable()
export class networkHttpservice {
- constructor(private http:HttpClient) { }
+ constructor(private http: HttpClient) { }
// baseUrl = "./assets/json/";//Local environment
// url={
@@ -42,81 +42,81 @@ export class networkHttpservice {
// baseUrl = "http://10.73.242.244:8082/uui-sotn/";//Online environment
// baseUrl = "http://172.19.44.223/api/usecaseui-server/v1/uui-sotn/";//Online environment
baseUrl = baseUrl.baseUrl + "/uui-sotn/";//Online environment
- url={
- "getNetworkD3Data":this.baseUrl + "getNetWorkResources",
- "getLogicalLinksData":this.baseUrl + "getLogicalLinks",
- "getPInterfacesData1":this.baseUrl + "getPinterfaceByPnfName/",
- "getPInterfacesData2":this.baseUrl + "getPinterfaceByPnfName/",
- "createLink":this.baseUrl + "createLink/",
- "querySpecificLinkInfo":this.baseUrl + "getSpecificLogicalLink/",
- "queryCloudUrl":this.baseUrl + "getHostUrl/",
- "queryExtAAIIdVersion":this.baseUrl + "getExtAaiId/",
- "createNetwrok":this.baseUrl + "createTopoNetwork/",
- "createPnf":this.baseUrl + "createPnf/",
- "createTp":this.baseUrl + "pnf/",
- "createCloudLink":this.baseUrl + "createLink/",
- "createCloudUrl":this.baseUrl + "createHostUrl/",
- "deleteLink":this.baseUrl + "deleteLink/",
- "deleteCloud":this.baseUrl+"deleteExtNetWork"
+ url = {
+ "getNetworkD3Data": this.baseUrl + "getNetWorkResources",
+ "getLogicalLinksData": this.baseUrl + "getLogicalLinks",
+ "getPInterfacesData1": this.baseUrl + "getPinterfaceByPnfName/",
+ "getPInterfacesData2": this.baseUrl + "getPinterfaceByPnfName/",
+ "createLink": this.baseUrl + "createLink/",
+ "querySpecificLinkInfo": this.baseUrl + "getSpecificLogicalLink/",
+ "queryCloudUrl": this.baseUrl + "getHostUrl/",
+ "queryExtAAIIdVersion": this.baseUrl + "getExtAaiId/",
+ "createNetwrok": this.baseUrl + "createTopoNetwork/",
+ "createPnf": this.baseUrl + "createPnf/",
+ "createTp": this.baseUrl + "pnf/",
+ "createCloudLink": this.baseUrl + "createLink/",
+ "createCloudUrl": this.baseUrl + "createHostUrl/",
+ "deleteLink": this.baseUrl + "deleteLink/",
+ "deleteCloud": this.baseUrl + "deleteExtNetWork"
};
//d3data
- getNetworkD3Data(){
+ getNetworkD3Data() {
return this.http.get<any>(this.url["getNetworkD3Data"]);
}
//Initialize the connection logical-links
- getLogicalLinksData(){
+ getLogicalLinksData() {
return this.http.get<any>(this.url["getLogicalLinksData"]);
}
//Query the tp data corresponding to the specified node
- getPInterfacesData1(paramsObj){
- return this.http.get<any>(this.url['getPInterfacesData1']+paramsObj["pnfName"]);
+ getPInterfacesData1(paramsObj) {
+ return this.http.get<any>(this.url['getPInterfacesData1'] + paramsObj["pnfName"]);
}
- getPInterfacesData2(paramsObj){
- return this.http.get<any>(this.url["getPInterfacesData2"]+paramsObj["pnfName"]);
+ getPInterfacesData2(paramsObj) {
+ return this.http.get<any>(this.url["getPInterfacesData2"] + paramsObj["pnfName"]);
}
//Create a connection interface
- createLink(paramsObj){
- return this.http.put<any>(this.url["createLink"]+paramsObj["link-name"],paramsObj);
+ createLink(paramsObj) {
+ return this.http.put<any>(this.url["createLink"] + paramsObj["link-name"], paramsObj);
}
//Query the specified single cable interface
- querySpecificLinkInfo(paramsObj){
- return this.http.get<any>(this.url["querySpecificLinkInfo"]+paramsObj["link-name"]);
+ querySpecificLinkInfo(paramsObj) {
+ return this.http.get<any>(this.url["querySpecificLinkInfo"] + paramsObj["link-name"]);
}
//Query external cloud host this.url address interface
- queryCloudUrl(aaiId){
- return this.http.get<any>(this.url["queryCloudUrl"]+aaiId);
+ queryCloudUrl(aaiId) {
+ return this.http.get<any>(this.url["queryCloudUrl"] + aaiId);
}
- queryExtAAIIdVersion(aaiId){
- return this.http.get<any>(this.url["queryExtAAIIdVersion"]+aaiId);
+ queryExtAAIIdVersion(aaiId) {
+ return this.http.get<any>(this.url["queryExtAAIIdVersion"] + aaiId);
}
//Create an external cloud newwork interface
- createNetwrok(paramsObj){
- return this.http.put<any>(this.url["createNetwrok"]+paramsObj["network-id"],paramsObj);
+ createNetwrok(paramsObj) {
+ return this.http.put<any>(this.url["createNetwrok"] + paramsObj["network-id"], paramsObj);
}
//Create an external cloud pnf interface
- createPnf(paramsObj){
- return this.http.put<any>(this.url["createPnf"]+paramsObj["pnf-name"],paramsObj);
+ createPnf(paramsObj) {
+ return this.http.put<any>(this.url["createPnf"] + paramsObj["pnf-name"], paramsObj);
}
//Create an external cloud Tp interface
- createTp(paramsObj,cloudNodeName){
- let str=cloudNodeName+"/p-interfaces/p-interface/"+paramsObj["interface-name"]+"/createTerminationPoint";
- return this.http.put<any>(this.url["createTp"]+str,paramsObj);
+ createTp(paramsObj, cloudNodeName) {
+ let str = cloudNodeName + "/p-interfaces/p-interface/" + paramsObj["interface-name"] + "/createTerminationPoint";
+ return this.http.put<any>(this.url["createTp"] + str, paramsObj);
}
//Create an external cloud link interface
- createCloudLink(paramsObj){
- return this.http.put<any>(this.url["createCloudLink"]+paramsObj["link-name"],paramsObj);
+ createCloudLink(paramsObj) {
+ return this.http.put<any>(this.url["createCloudLink"] + paramsObj["link-name"], paramsObj);
}
//Create an external cloud host url interface
- createCloudUrl(paramsObj){
- return this.http.put<any>(this.url["createCloudUrl"]+paramsObj["aai-id"],paramsObj);
+ createCloudUrl(paramsObj) {
+ return this.http.put<any>(this.url["createCloudUrl"] + paramsObj["aai-id"], paramsObj);
}
//Delete connection
- deleteLink(paramsObj){
- let str=paramsObj["logical-link"]+"/"+paramsObj["resource-version"];
- return this.http.delete<any>((this.url["deleteLink"]+str));
+ deleteLink(paramsObj) {
+ let str = paramsObj["logical-link"] + "/" + paramsObj["resource-version"];
+ return this.http.delete<any>((this.url["deleteLink"] + str));
}
- deleteCloudLink(paramsObj){
- let str="?extNetworkId="+paramsObj["aaiId"]+"&resourceVersion="+paramsObj["version"];
- return this.http.delete<any>((this.url["deleteCloud"]+str));
+ deleteCloudLink(paramsObj) {
+ let str = "?extNetworkId=" + paramsObj["aaiId"] + "&resourceVersion=" + paramsObj["version"];
+ return this.http.delete<any>((this.url["deleteCloud"] + str));
}
}
diff --git a/usecaseui-portal/src/app/onboard.service.ts b/usecaseui-portal/src/app/core/services/onboard.service.ts
index 1c3778a4..fb5107b4 100644
--- a/usecaseui-portal/src/app/onboard.service.ts
+++ b/usecaseui-portal/src/app/core/services/onboard.service.ts
@@ -16,7 +16,7 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
-import { onboardTableData, onboardDataVNF, onboardDataPNF , baseUrl} from './dataInterface';
+import { onboardTableData, onboardDataVNF, onboardDataPNF, baseUrl } from '../models/dataInterface';
@Injectable()
export class onboardService {
@@ -84,9 +84,9 @@ export class onboardService {
onboardVNF: this.baseUrl + "vf-packages", //POST
//Delete ns package
- deleteNspack: this.baseUrl + "deleteNsdPackage?nsdInfoId=",
+ deleteNspack: this.baseUrl + "deleteNsdPackage?nsdInfoId=",
// Delete Vnf vfc package
- deleteVnfPack: this.baseUrl + "deleteVnfPackage?vnfPkgId=",
+ deleteVnfPack: this.baseUrl + "deleteVnfPackage?vnfPkgId=",
// Delete Pnf package
deletePnfPack: this.baseUrl + "deletePnfPackage?pnfdInfoId=",
@@ -109,7 +109,7 @@ export class onboardService {
return this.http.get<any>(this.url["onboardTableData"]);
}
// NS SDC Data
- getSDC_NSTableData(){
+ getSDC_NSTableData() {
// return this.http.get<any>(this.url.sdc_nsListData);
return this.http.get<any>(this.url["sdc_nsListData"]);
}
@@ -121,7 +121,7 @@ export class onboardService {
getSDC_VNFTableData() {
return this.http.get<any>(this.url["sdc_vnfListData"]);
}
-
+
// PNF Data
getOnboardTablePnfData() {
return this.http.get<any>(this.url.onboardDataPNF);
@@ -129,8 +129,8 @@ export class onboardService {
//-------------------------------------------------------------------------------------
//create--Get the id after dragging the file before uploading //on-line post
- getCreatensData(url_upId,requestBody) {
- return this.http.post<any>(this.url.creatensData.replace("_jsonData",url_upId),requestBody); //on-line
+ getCreatensData(url_upId, requestBody) {
+ return this.http.post<any>(this.url.creatensData.replace("_jsonData", url_upId), requestBody); //on-line
}
//create--Get the id after dragging the file before uploading //local json get
@@ -170,7 +170,7 @@ export class onboardService {
}
// Delete Pnf package
- deletePnfIdData(paramsObj){
+ deletePnfIdData(paramsObj) {
//Local test
// return this.http.get<any>(this.url.deletePnfPack);
//online test
diff --git a/usecaseui-portal/src/app/core/services/text.service.spec.ts b/usecaseui-portal/src/app/core/services/text.service.spec.ts
new file mode 100644
index 00000000..7b4d9efc
--- /dev/null
+++ b/usecaseui-portal/src/app/core/services/text.service.spec.ts
@@ -0,0 +1,15 @@
+import { TestBed, inject } from '@angular/core/testing';
+
+import { TextService } from './text.service';
+
+describe('TextService', () => {
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ providers: [TextService]
+ });
+ });
+
+ it('should be created', inject([TextService], (service: TextService) => {
+ expect(service).toBeTruthy();
+ }));
+});
diff --git a/usecaseui-portal/src/app/core/services/text.service.ts b/usecaseui-portal/src/app/core/services/text.service.ts
new file mode 100644
index 00000000..26a2caad
--- /dev/null
+++ b/usecaseui-portal/src/app/core/services/text.service.ts
@@ -0,0 +1,43 @@
+/*
+ Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+
+@Injectable()
+export class TextService {
+ constructor(private http: HttpClient) { }
+ //---------------------------------------------------------------------------------------
+ /* line up*/
+ baseUrl = "/api";
+ url = {
+ textInterface: this.baseUrl + "/user/login",
+ singleInterface: this.baseUrl + "/home",
+ doubleInterface: this.baseUrl + "/customer/info",
+ multipleInterface: this.baseUrl + "/alarm/formdata/multiple",
+ jsonInterface: this.baseUrl + "/xuran/test/data",
+ }
+
+ //-----------------------------------Function-local-start------------------------------------------------------
+ /* Query data list */
+ getfakeData() {
+ return this.http.get<any>(this.url["singleInterface"]);
+ }
+ getjsonData() {
+ return this.http.get<any>(this.url["jsonInterface"]);
+ }
+ //-------------------------------------------------------------------------------------
+
+}
diff --git a/usecaseui-portal/src/app/mock/fakedata.js b/usecaseui-portal/src/app/mock/fakedata.js
new file mode 100644
index 00000000..a008c14a
--- /dev/null
+++ b/usecaseui-portal/src/app/mock/fakedata.js
@@ -0,0 +1,24 @@
+const faker = require("faker");
+const _ = require("lodash");
+faker.locale = "en";
+
+module.exports = {
+ customer: _.times(20, function (n) {
+ return {
+ id: n,
+ name: faker.name.findName(),
+ phone: faker.phone.phoneNumber(),
+ address: faker.address.streetAddress(),
+ avatar: faker.internet.avatar()
+ }
+ }),
+ home: _.times(10, function (n) {
+ return {
+ id: n,
+ name: faker.name.findName(),
+ phone: faker.phone.phoneNumber(),
+ address: faker.address.streetAddress(),
+ avatar: faker.internet.avatar()
+ }
+ }),
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/json/LogicalLinksData.json b/usecaseui-portal/src/app/mock/json/LogicalLinksData.json
index 99487f9d..99487f9d 100644
--- a/usecaseui-portal/src/assets/json/LogicalLinksData.json
+++ b/usecaseui-portal/src/app/mock/json/LogicalLinksData.json
diff --git a/usecaseui-portal/src/assets/json/alarmFormData.json b/usecaseui-portal/src/app/mock/json/alarmFormData.json
index fc97ae0c..fc97ae0c 100644
--- a/usecaseui-portal/src/assets/json/alarmFormData.json
+++ b/usecaseui-portal/src/app/mock/json/alarmFormData.json
diff --git a/usecaseui-portal/src/assets/json/allotted-resources2.json b/usecaseui-portal/src/app/mock/json/allotted-resources2.json
index 29262e5d..29262e5d 100644
--- a/usecaseui-portal/src/assets/json/allotted-resources2.json
+++ b/usecaseui-portal/src/app/mock/json/allotted-resources2.json
diff --git a/usecaseui-portal/src/assets/json/createService.json b/usecaseui-portal/src/app/mock/json/createService.json
index f1d64485..f1d64485 100644
--- a/usecaseui-portal/src/assets/json/createService.json
+++ b/usecaseui-portal/src/app/mock/json/createService.json
diff --git a/usecaseui-portal/src/assets/json/customers.json b/usecaseui-portal/src/app/mock/json/customers.json
index 9c66eff4..9c66eff4 100644
--- a/usecaseui-portal/src/assets/json/customers.json
+++ b/usecaseui-portal/src/app/mock/json/customers.json
diff --git a/usecaseui-portal/src/assets/json/deleteService.json b/usecaseui-portal/src/app/mock/json/deleteService.json
index 19a7ab5e..19a7ab5e 100644
--- a/usecaseui-portal/src/assets/json/deleteService.json
+++ b/usecaseui-portal/src/app/mock/json/deleteService.json
diff --git a/usecaseui-portal/src/assets/json/detailsData.json b/usecaseui-portal/src/app/mock/json/detailsData.json
index 41ee87b8..41ee87b8 100644
--- a/usecaseui-portal/src/assets/json/detailsData.json
+++ b/usecaseui-portal/src/app/mock/json/detailsData.json
diff --git a/usecaseui-portal/src/assets/json/e2eServiceTemplateParameters.json b/usecaseui-portal/src/app/mock/json/e2eServiceTemplateParameters.json
index 5ad5b102..5ad5b102 100644
--- a/usecaseui-portal/src/assets/json/e2eServiceTemplateParameters.json
+++ b/usecaseui-portal/src/app/mock/json/e2eServiceTemplateParameters.json
diff --git a/usecaseui-portal/src/assets/json/homeAllData.json b/usecaseui-portal/src/app/mock/json/homeAllData.json
index ce4e5d6e..ce4e5d6e 100644
--- a/usecaseui-portal/src/assets/json/homeAllData.json
+++ b/usecaseui-portal/src/app/mock/json/homeAllData.json
diff --git a/usecaseui-portal/src/assets/json/homePerformanceChartData.json b/usecaseui-portal/src/app/mock/json/homePerformanceChartData.json
index c3848893..c3848893 100644
--- a/usecaseui-portal/src/assets/json/homePerformanceChartData.json
+++ b/usecaseui-portal/src/app/mock/json/homePerformanceChartData.json
diff --git a/usecaseui-portal/src/assets/json/instanceTableData.json b/usecaseui-portal/src/app/mock/json/instanceTableData.json
index 73f12873..73f12873 100644
--- a/usecaseui-portal/src/assets/json/instanceTableData.json
+++ b/usecaseui-portal/src/app/mock/json/instanceTableData.json
diff --git a/usecaseui-portal/src/assets/json/instanceTableData2.json b/usecaseui-portal/src/app/mock/json/instanceTableData2.json
index d29f5f59..d29f5f59 100644
--- a/usecaseui-portal/src/assets/json/instanceTableData2.json
+++ b/usecaseui-portal/src/app/mock/json/instanceTableData2.json
diff --git a/usecaseui-portal/src/assets/json/instanceTableData3.json b/usecaseui-portal/src/app/mock/json/instanceTableData3.json
index 98777289..98777289 100644
--- a/usecaseui-portal/src/assets/json/instanceTableData3.json
+++ b/usecaseui-portal/src/app/mock/json/instanceTableData3.json
diff --git a/usecaseui-portal/src/app/mock/json/instanceTableData4.json b/usecaseui-portal/src/app/mock/json/instanceTableData4.json
new file mode 100644
index 00000000..d952af97
--- /dev/null
+++ b/usecaseui-portal/src/app/mock/json/instanceTableData4.json
@@ -0,0 +1,656 @@
+{
+ "service-instance": [
+ {
+ "service-instance-id": "8e07f832-3f50-4657-9b44-010049e8b488",
+ "service-instance-name": "SOTNVPNInfra",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "bafa365f-4056-4ad3-a039-d6b3e3e0fd35",
+ "model-version-id": "fdbb8ddd-3325-4840-a156-9ad601b9366c",
+ "resource-version": "1537769390960",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"SOTNVPNInfra\",\n \"description\":\"SOTNVPNInfra\",\n \"serviceInvariantUuid\":\"bafa365f-4056-4ad3-a039-d6b3e3e0fd35\",\n \"serviceUuid\":\"fdbb8ddd-3325-4840-a156-9ad601b9366c\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SOTNConnectivity 0\",\n \"resourceInvariantUuid\":\"1b9c677d-fddf-4b70-938b-925a7fa57d43\",\n \"resourceUuid\":\"218df3c3-50dd-4c26-9e36-4771387bb771\",\n \"resourceCustomizationUuid\":\"b44071c8-04fd-4d6b-b6af-772cbfaa1129\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF 0\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"c3612284-6c67-4d8c-8b41-b699cc90e76d\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"sotnconnectivity0_eir\":\"1000\",\n \"sotnconnectivity0_cir\":\"1000\",\n \"sotnconnectivity0_endTime\":\"2018-8-8 10:00\",\n \"sotnconnectivity0_ebs\":\"1000\",\n \"sotnconnectivity0_startTime\":\"2018-8-1 10:00\",\n \"sotnconnectivity0_dualLink\":\"true\",\n \"sotnconnectivity0_reroute\":\"false\",\n \"sotnconnectivity0_cbs\":\"1000\",\n \"sotnconnectivity0_name\":\"SOTN L2\",\n \"sotnconnectivity0_SLS\":\"\",\n \"sotnconnectivity0_description\":\"\",\n \"sotnconnectivity0_couplingFlag\":\"\",\n \"sotnconnectivity0_colorAware\":\"\",\n \"sotnconnectivity0_COS\":\"standard\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "connectivity",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/connectivities/connectivity/2e359c75-2af3-4fea-9550-a893edeab8b5",
+ "relationship-data": [
+ {
+ "relationship-key": "connectivity.connectivity-id",
+ "relationship-value": "2e359c75-2af3-4fea-9550-a893edeab8b5"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "connectivity.etht-svc-name",
+ "property-value": "vpn1"
+ }
+ ]
+ },
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/2d55a540-f6d3-4108-9bb4-290574b87a6c/allotted-resources/allotted-resource/666085a7-132e-4a32-b9de-e58ecea3476a",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "2d55a540-f6d3-4108-9bb4-290574b87a6c"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "666085a7-132e-4a32-b9de-e58ecea3476a"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sotn-attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sotn ar"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205/allotted-resources/allotted-resource/562adc96-7fbe-435e-bd6d-ff4b8a0a7920",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "562adc96-7fbe-435e-bd6d-ff4b8a0a7920"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sotn-attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sotn ar"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "service-instance-id": "a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205",
+ "service-instance-name": "DcLondon",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "499e5e60-c8b2-4ea6-8c4e-7739420673a9",
+ "model-version-id": "8ec97da1-1e0a-4198-9c9a-3da2c60d7974",
+ "resource-version": "1537866016457",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"DcLondon\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra\",\n \"sitevf_site_address\":\"University College London,Gower Street,London\",\n \"sitevf_site_controlPoint\":\"VDF_VCPE\",\n \"sitevf_site_description\":\"VDF_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"DcLondon\",\n \"sitevf_site_postcode\":\"N200095\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "device",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/devices/device/2cacf49c-7c09-4155-b18a-4468dce34083",
+ "relationship-data": [
+ {
+ "relationship-key": "device.device-id",
+ "relationship-value": "2cacf49c-7c09-4155-b18a-4468dce34083"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "device.device-name",
+ "property-value": "TravelDevice"
+ }
+ ]
+ },
+ {
+ "related-to": "site-resource",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/site-resources/site-resource/f288d54e-be09-46d3-bb1f-38729ec74bb5",
+ "relationship-data": [
+ {
+ "relationship-key": "site-resource.site-resource-id",
+ "relationship-value": "f288d54e-be09-46d3-bb1f-38729ec74bb5"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "site-resource.site-resource-name",
+ "property-value": "travelSite"
+ }
+ ]
+ },
+ {
+ "related-to": "wan-port-config",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/wan-port-configs/wan-port-config/99866f05-9749-456e-8909-61eebf08373e",
+ "relationship-data": [
+ {
+ "relationship-key": "wan-port-config.wan-port-config-id",
+ "relationship-value": "99866f05-9749-456e-8909-61eebf08373e"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "wan-port-config.wan-port-config-name",
+ "property-value": "intenet"
+ }
+ ]
+ },
+ {
+ "related-to": "wan-port-config",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/wan-port-configs/wan-port-config/afab2cc0-28c9-4fd3-bf03-01c8034f8191",
+ "relationship-data": [
+ {
+ "relationship-key": "wan-port-config.wan-port-config-id",
+ "relationship-value": "afab2cc0-28c9-4fd3-bf03-01c8034f8191"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "wan-port-config.wan-port-config-name",
+ "property-value": "mpls"
+ }
+ ]
+ },
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/167a285b-0875-41ff-8ed1-1178db6f3133",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "167a285b-0875-41ff-8ed1-1178db6f3133"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "167a285b-0875-41ff-8ed1-1178db6f3133"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/0ea94797-3772-40ff-b6fb-69f06c533be3/allotted-resources/allotted-resource/d519761d-c89c-4164-86c7-8f74952eea65",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "0ea94797-3772-40ff-b6fb-69f06c533be3"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "d519761d-c89c-4164-86c7-8f74952eea65"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sdwan-attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sdwan ar"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/8e07f832-3f50-4657-9b44-010049e8b488/allotted-resources/allotted-resource/65f21c28-8b19-4769-8f08-174e2afa5488",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "8e07f832-3f50-4657-9b44-010049e8b488"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "65f21c28-8b19-4769-8f08-174e2afa5488"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sotn attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "ston ar"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "service-instance-id": "0ea94797-3772-40ff-b6fb-69f06c533be3",
+ "service-instance-name": "SDWANVPNInfra",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "e2b217d6-7cac-4156-9f44-f9b010b350a6",
+ "model-version-id": "20d9e7dc-f030-4230-af79-ba0bde7cbe2e",
+ "resource-version": "1537864894560",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"SDWANVPNInfra\",\n \"description\":\"SDWANVPNInfra\",\n \"serviceInvariantUuid\":\"e2b217d6-7cac-4156-9f44-f9b010b350a6\",\n \"serviceUuid\":\"20d9e7dc-f030-4230-af79-ba0bde7cbe2e\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SDWANConnectivity 0\",\n \"resourceInvariantUuid\":\"f99a9a23-c88e-44ff-a4dc-22b88675d278\",\n \"resourceUuid\":\"7baa7742-3a13-4288-8330-868015adc340\",\n \"resourceCustomizationUuid\":\"94ec574b-2306-4cbd-8214-09662b040f73\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF 0\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"a7baba5d-6ac3-42b5-b47d-070841303ab1\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"sdwanconnectivity0_name\":\"SDWANVPNInfra\",\n \"sdwanconnectivity0_topology\":\"hub-spoke\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "sdwan-vpn",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/sdwan-vpns/sdwan-vpn/0d8707cd-9d27-4503-a0b0-e9b1b1a83b1e",
+ "relationship-data": [
+ {
+ "relationship-key": "sdwan-vpn.sdwan-vpn-id",
+ "relationship-value": "0d8707cd-9d27-4503-a0b0-e9b1b1a83b1e"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sdwan-vpn.sdwan-vpn-name"
+ }
+ ]
+ },
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/15e88f8e-473f-4d88-92f8-6739a42baa2g",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "15e88f8e-473f-4d88-92f8-6739a42baa2g"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "15e88f8e-473f-4d88-92f8-6739a42baa2g"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/2d55a540-f6d3-4108-9bb4-290574b87a6c/allotted-resources/allotted-resource/c797bba9-eb90-4825-b1c2-adbd1a31101f",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "2d55a540-f6d3-4108-9bb4-290574b87a6c"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "c797bba9-eb90-4825-b1c2-adbd1a31101f"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sdwan-attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sdwan ar"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205/allotted-resources/allotted-resource/9a7329e6-8961-4008-9dbe-adeacfcd20da",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "9a7329e6-8961-4008-9dbe-adeacfcd20da"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sdwan-attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sdwan ar"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "service-instance-id": "f08067b8-a07b-4c41-b750-5f9b35281e67",
+ "service-instance-name": "siteFangshanQu",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "499e5e60-c8b2-4ea6-8c4e-7739420673a9",
+ "model-version-id": "8ec97da1-1e0a-4198-9c9a-3da2c60d7974",
+ "resource-version": "1537867265890",
+ "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/506b87a5-72fe-4197-a307-6929c3871ab2/service-data/service-topology/",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"siteFangshanQu\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra-2\",\n \"sitevf_site_address\":\"CMCC International Data Center,Hongkong\",\n \"sitevf_site_controlPoint\":\"CMCC_VCPE\",\n \"sitevf_site_description\":\"CMCC_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"siteFangshanQu\",\n \"sitevf_site_postcode\":\"999077\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/506b87a5-72fe-4197-a307-6929c3871ab2",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "506b87a5-72fe-4197-a307-6929c3871ab2"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "506b87a5-72fe-4197-a307-6929c3871ab2"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "service-instance-id": "6a6478d1-f62f-439c-8f16-6038a44af8c3",
+ "service-instance-name": "SDWANVPNInfra-2",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "e2b217d6-7cac-4156-9f44-f9b010b350a6",
+ "model-version-id": "20d9e7dc-f030-4230-af79-ba0bde7cbe2e",
+ "resource-version": "1537779569094",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"SDWANVPNInfra-2\",\n \"description\":\"SDWANVPNInfra\",\n \"serviceInvariantUuid\":\"e2b217d6-7cac-4156-9f44-f9b010b350a6\",\n \"serviceUuid\":\"20d9e7dc-f030-4230-af79-ba0bde7cbe2e\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SDWANConnectivity 0\",\n \"resourceInvariantUuid\":\"f99a9a23-c88e-44ff-a4dc-22b88675d278\",\n \"resourceUuid\":\"7baa7742-3a13-4288-8330-868015adc340\",\n \"resourceCustomizationUuid\":\"94ec574b-2306-4cbd-8214-09662b040f73\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF 0\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"a7baba5d-6ac3-42b5-b47d-070841303ab1\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"sdwanconnectivity0_name\":\"CMCCVPN\",\n \"sdwanconnectivity0_topology\":\"hub-spoke\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/de888731-eac8-454c-bbb2-927a85ba2d1c",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "de888731-eac8-454c-bbb2-927a85ba2d1c"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "de888731-eac8-454c-bbb2-927a85ba2d1c"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "service-instance-id": "fd0b9f0a-0d5c-4f69-a3dc-fb9cabde9db8",
+ "service-instance-name": "DcXichengQuBeijing",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "499e5e60-c8b2-4ea6-8c4e-7739420673a9",
+ "model-version-id": "8ec97da1-1e0a-4198-9c9a-3da2c60d7974",
+ "resource-version": "1537867379064",
+ "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/289b87a5-72fe-4197-a307-6929c3831f82/service-data/service-topology/",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"DcXichengQuBeijing\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra\",\n \"sitevf_site_address\":\"Chuangxin Building,Tianningsi,Xicheng,Beijing\",\n \"sitevf_site_controlPoint\":\"CMCC_VCPE\",\n \"sitevf_site_description\":\"CMCC_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"DcXichengQuBeijing\",\n \"sitevf_site_postcode\":\"100095\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/289b87a5-72fe-4197-a307-6929c3831f82",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "289b87a5-72fe-4197-a307-6929c3831f82"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "289b87a5-72fe-4197-a307-6929c3831f82"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "service-instance-id": "2d55a540-f6d3-4108-9bb4-290574b87a6c",
+ "service-instance-name": "siteLondon",
+ "service-type": "E2E Service",
+ "service-role": "E2E Service",
+ "model-invariant-id": "499e5e60-c8b2-4ea6-8c4e-7739420673a9",
+ "model-version-id": "8ec97da1-1e0a-4198-9c9a-3da2c60d7974",
+ "resource-version": "1537866122803",
+ "input-parameters": "{\n \"service\":{\n \"name\":\"siteLondon\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra-2\",\n \"sitevf_site_address\":\"VDF International Data Center,Hongkong\",\n \"sitevf_site_controlPoint\":\"VDF_VCPE\",\n \"sitevf_site_description\":\"VDF_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"siteLondon\",\n \"sitevf_site_postcode\":\"999077\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}",
+ "relationship-list": {
+ "relationship": [
+ {
+ "related-to": "wan-port-config",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/wan-port-configs/wan-port-config/52ae7944-12b3-4766-848e-e43088947af9",
+ "relationship-data": [
+ {
+ "relationship-key": "wan-port-config.wan-port-config-id",
+ "relationship-value": "52ae7944-12b3-4766-848e-e43088947af9"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "wan-port-config.wan-port-config-name",
+ "property-value": "intenet"
+ }
+ ]
+ },
+ {
+ "related-to": "site-resource",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/site-resources/site-resource/a22193fc-d1b5-41a7-9033-14339838b0c5",
+ "relationship-data": [
+ {
+ "relationship-key": "site-resource.site-resource-id",
+ "relationship-value": "a22193fc-d1b5-41a7-9033-14339838b0c5"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "site-resource.site-resource-name",
+ "property-value": "travelSite"
+ }
+ ]
+ },
+ {
+ "related-to": "wan-port-config",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/wan-port-configs/wan-port-config/9fc7c231-1b71-49e6-8390-e92b707e7615",
+ "relationship-data": [
+ {
+ "relationship-key": "wan-port-config.wan-port-config-id",
+ "relationship-value": "9fc7c231-1b71-49e6-8390-e92b707e7615"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "wan-port-config.wan-port-config-name",
+ "property-value": "mpls"
+ }
+ ]
+ },
+ {
+ "related-to": "device",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/network/devices/device/f0cf1e06-7be8-4602-83cb-60d87d8e7ef3",
+ "relationship-data": [
+ {
+ "relationship-key": "device.device-id",
+ "relationship-value": "f0cf1e06-7be8-4602-83cb-60d87d8e7ef3"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "device.device-name",
+ "property-value": "CentSpokeDevice"
+ }
+ ]
+ },
+ {
+ "related-to": "sp-partner",
+ "relationship-label": "org.onap.relationships.inventory.PartOf",
+ "related-link": "/aai/v13/business/sp-partners/sp-partner/3addd6b9-b05f-4841-881c-1ce2c753513f",
+ "relationship-data": [
+ {
+ "relationship-key": "sp-partner.sp-partner-id",
+ "relationship-value": "3addd6b9-b05f-4841-881c-1ce2c753513f"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "sp-partner.sp-partner-id",
+ "property-value": "3addd6b9-b05f-4841-881c-1ce2c753513f"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/0ea94797-3772-40ff-b6fb-69f06c533be3/allotted-resources/allotted-resource/f1523ca9-6b56-482e-b3a4-a2f8dcbfba12",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "0ea94797-3772-40ff-b6fb-69f06c533be3"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "f1523ca9-6b56-482e-b3a4-a2f8dcbfba12"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sdwan-attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sdwan ar"
+ }
+ ]
+ },
+ {
+ "related-to": "allotted-resource",
+ "relationship-label": "org.onap.relationships.inventory.Uses",
+ "related-link": "/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/8e07f832-3f50-4657-9b44-010049e8b488/allotted-resources/allotted-resource/d1a6b573-0595-4468-bab9-02465c295618",
+ "relationship-data": [
+ {
+ "relationship-key": "customer.global-customer-id",
+ "relationship-value": "demo"
+ },
+ {
+ "relationship-key": "service-subscription.service-type",
+ "relationship-value": "ccvpn"
+ },
+ {
+ "relationship-key": "service-instance.service-instance-id",
+ "relationship-value": "8e07f832-3f50-4657-9b44-010049e8b488"
+ },
+ {
+ "relationship-key": "allotted-resource.id",
+ "relationship-value": "d1a6b573-0595-4468-bab9-02465c295618"
+ }
+ ],
+ "related-to-property": [
+ {
+ "property-key": "allotted-resource.description",
+ "property-value": "sotn attachment"
+ },
+ {
+ "property-key": "allotted-resource.allotted-resource-name",
+ "property-value": "sotn ar"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/json/netWorkD3Data.json b/usecaseui-portal/src/app/mock/json/netWorkD3Data.json
index 0dbfd939..0dbfd939 100644
--- a/usecaseui-portal/src/assets/json/netWorkD3Data.json
+++ b/usecaseui-portal/src/app/mock/json/netWorkD3Data.json
diff --git a/usecaseui-portal/src/assets/json/netWorkD3Data2.json b/usecaseui-portal/src/app/mock/json/netWorkD3Data2.json
index 1ab07822..1ab07822 100644
--- a/usecaseui-portal/src/assets/json/netWorkD3Data2.json
+++ b/usecaseui-portal/src/app/mock/json/netWorkD3Data2.json
diff --git a/usecaseui-portal/src/assets/json/nsServiceTemplateParameters.json b/usecaseui-portal/src/app/mock/json/nsServiceTemplateParameters.json
index b6dfbd86..b6dfbd86 100644
--- a/usecaseui-portal/src/assets/json/nsServiceTemplateParameters.json
+++ b/usecaseui-portal/src/app/mock/json/nsServiceTemplateParameters.json
diff --git a/usecaseui-portal/src/assets/json/onboardTableData.json b/usecaseui-portal/src/app/mock/json/onboardTableData.json
index 56e5b323..56e5b323 100644
--- a/usecaseui-portal/src/assets/json/onboardTableData.json
+++ b/usecaseui-portal/src/app/mock/json/onboardTableData.json
diff --git a/usecaseui-portal/src/assets/json/p_interfaces1.json b/usecaseui-portal/src/app/mock/json/p_interfaces1.json
index 399c21b9..399c21b9 100644
--- a/usecaseui-portal/src/assets/json/p_interfaces1.json
+++ b/usecaseui-portal/src/app/mock/json/p_interfaces1.json
diff --git a/usecaseui-portal/src/assets/json/p_interfaces2.json b/usecaseui-portal/src/app/mock/json/p_interfaces2.json
index 4baf8b85..4baf8b85 100644
--- a/usecaseui-portal/src/assets/json/p_interfaces2.json
+++ b/usecaseui-portal/src/app/mock/json/p_interfaces2.json
diff --git a/usecaseui-portal/src/assets/json/pnfdetail-domain.json b/usecaseui-portal/src/app/mock/json/pnfdetail-domain.json
index c337bd97..c337bd97 100644
--- a/usecaseui-portal/src/assets/json/pnfdetail-domain.json
+++ b/usecaseui-portal/src/app/mock/json/pnfdetail-domain.json
diff --git a/usecaseui-portal/src/assets/json/progress.json b/usecaseui-portal/src/app/mock/json/progress.json
index 1a36c1e2..1a36c1e2 100644
--- a/usecaseui-portal/src/assets/json/progress.json
+++ b/usecaseui-portal/src/app/mock/json/progress.json
diff --git a/usecaseui-portal/src/assets/json/sdwanvpnServiceTemplateParameters.json b/usecaseui-portal/src/app/mock/json/sdwanvpnServiceTemplateParameters.json
index cabf0e12..cabf0e12 100644
--- a/usecaseui-portal/src/assets/json/sdwanvpnServiceTemplateParameters.json
+++ b/usecaseui-portal/src/app/mock/json/sdwanvpnServiceTemplateParameters.json
diff --git a/usecaseui-portal/src/assets/json/serviceTemplates.json b/usecaseui-portal/src/app/mock/json/serviceTemplates.json
index 8de26a7d..8de26a7d 100644
--- a/usecaseui-portal/src/assets/json/serviceTemplates.json
+++ b/usecaseui-portal/src/app/mock/json/serviceTemplates.json
diff --git a/usecaseui-portal/src/assets/json/serviceTemplates2.json b/usecaseui-portal/src/app/mock/json/serviceTemplates2.json
index 93202786..93202786 100644
--- a/usecaseui-portal/src/assets/json/serviceTemplates2.json
+++ b/usecaseui-portal/src/app/mock/json/serviceTemplates2.json
diff --git a/usecaseui-portal/src/assets/json/serviceTypes.json b/usecaseui-portal/src/app/mock/json/serviceTypes.json
index cb1c20a5..cb1c20a5 100644
--- a/usecaseui-portal/src/assets/json/serviceTypes.json
+++ b/usecaseui-portal/src/app/mock/json/serviceTypes.json
diff --git a/usecaseui-portal/src/assets/json/servicesList.json b/usecaseui-portal/src/app/mock/json/servicesList.json
index 61ddb7a5..61ddb7a5 100644
--- a/usecaseui-portal/src/assets/json/servicesList.json
+++ b/usecaseui-portal/src/app/mock/json/servicesList.json
diff --git a/usecaseui-portal/src/assets/json/servicesTableData.json b/usecaseui-portal/src/app/mock/json/servicesTableData.json
index 07d4cbe2..07d4cbe2 100644
--- a/usecaseui-portal/src/assets/json/servicesTableData.json
+++ b/usecaseui-portal/src/app/mock/json/servicesTableData.json
diff --git a/usecaseui-portal/src/assets/json/siteAddressData.json b/usecaseui-portal/src/app/mock/json/siteAddressData.json
index 4b080f50..4b080f50 100644
--- a/usecaseui-portal/src/assets/json/siteAddressData.json
+++ b/usecaseui-portal/src/app/mock/json/siteAddressData.json
diff --git a/usecaseui-portal/src/assets/json/siteServiceTemplateParameters.json b/usecaseui-portal/src/app/mock/json/siteServiceTemplateParameters.json
index 53368e32..53368e32 100644
--- a/usecaseui-portal/src/assets/json/siteServiceTemplateParameters.json
+++ b/usecaseui-portal/src/app/mock/json/siteServiceTemplateParameters.json
diff --git a/usecaseui-portal/src/assets/json/sotn-connectivity.json b/usecaseui-portal/src/app/mock/json/sotn-connectivity.json
index 6ac0a453..6ac0a453 100644
--- a/usecaseui-portal/src/assets/json/sotn-connectivity.json
+++ b/usecaseui-portal/src/app/mock/json/sotn-connectivity.json
diff --git a/usecaseui-portal/src/assets/json/sotn-connectivity2.json b/usecaseui-portal/src/app/mock/json/sotn-connectivity2.json
index 7bd55bf0..7bd55bf0 100644
--- a/usecaseui-portal/src/assets/json/sotn-connectivity2.json
+++ b/usecaseui-portal/src/app/mock/json/sotn-connectivity2.json
diff --git a/usecaseui-portal/src/assets/json/sotnvpnServiceTemplateParameters.json b/usecaseui-portal/src/app/mock/json/sotnvpnServiceTemplateParameters.json
index 21abcda1..21abcda1 100644
--- a/usecaseui-portal/src/assets/json/sotnvpnServiceTemplateParameters.json
+++ b/usecaseui-portal/src/app/mock/json/sotnvpnServiceTemplateParameters.json
diff --git a/usecaseui-portal/src/assets/json/specific_link _nfo.json b/usecaseui-portal/src/app/mock/json/specific_link_nfo.json
index e9911409..e9911409 100644
--- a/usecaseui-portal/src/assets/json/specific_link _nfo.json
+++ b/usecaseui-portal/src/app/mock/json/specific_link_nfo.json
diff --git a/usecaseui-portal/src/assets/json/status.json b/usecaseui-portal/src/app/mock/json/status.json
index eeff6f35..eeff6f35 100644
--- a/usecaseui-portal/src/assets/json/status.json
+++ b/usecaseui-portal/src/app/mock/json/status.json
diff --git a/usecaseui-portal/src/app/mock/json/status2.json b/usecaseui-portal/src/app/mock/json/status2.json
new file mode 100644
index 00000000..2932063e
--- /dev/null
+++ b/usecaseui-portal/src/app/mock/json/status2.json
@@ -0,0 +1,3 @@
+{
+ "status": "fail"
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/json/url.json b/usecaseui-portal/src/app/mock/json/url.json
index e84b42d8..e84b42d8 100644
--- a/usecaseui-portal/src/assets/json/url.json
+++ b/usecaseui-portal/src/app/mock/json/url.json
diff --git a/usecaseui-portal/src/assets/json/vpnbinding.json b/usecaseui-portal/src/app/mock/json/vpnbinding.json
index 04ff2a6d..04ff2a6d 100644
--- a/usecaseui-portal/src/assets/json/vpnbinding.json
+++ b/usecaseui-portal/src/app/mock/json/vpnbinding.json
diff --git a/usecaseui-portal/src/app/mock/json/xuran_test_data.json b/usecaseui-portal/src/app/mock/json/xuran_test_data.json
new file mode 100644
index 00000000..1e6321b1
--- /dev/null
+++ b/usecaseui-portal/src/app/mock/json/xuran_test_data.json
@@ -0,0 +1,8 @@
+{
+ "esr-system-info-id": "xuran",
+ "service-url": "http://10.10.10.10:8080/",
+ "user-name": "demo",
+ "password": "demo123456!",
+ "system-type": "ONAP",
+ "resource-version": "1536221798873"
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/mock/mock.js b/usecaseui-portal/src/app/mock/mock.js
new file mode 100644
index 00000000..2864d4c5
--- /dev/null
+++ b/usecaseui-portal/src/app/mock/mock.js
@@ -0,0 +1,7 @@
+const fakeData = require('./fakedata.js');
+module.exports = {
+ //Mock json
+ 'customer_info': fakeData.customer,
+ 'alarm_formdata_multiple': fakeData,
+ 'home': fakeData.home,
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/mock/server.js b/usecaseui-portal/src/app/mock/server.js
new file mode 100644
index 00000000..45d6b2b5
--- /dev/null
+++ b/usecaseui-portal/src/app/mock/server.js
@@ -0,0 +1,87 @@
+const jsonServer = require('json-server');
+const server = jsonServer.create();
+const middlewares = jsonServer.defaults();
+
+// Set default middlewares (logger, static, cors and no-cache)
+server.use(middlewares);
+
+// Get mock data
+const fs = require('fs');
+const path = require('path');
+
+let localJsonDb = {}; //import mock datas
+const fakeoriginalData = require('./mock.js'); //import datas created in fakedata.js
+const mockFolder = './src/app/mock/json'; //mock json path folder
+const filePath = path.resolve(mockFolder);
+
+fileDisplay(filePath);
+
+function fileDisplay(filePath) {
+ let fileList = [];
+ let originPath = [];
+ let rewriter = {};
+ // Return filelist on based of filePath
+ const files = fs.readdirSync(filePath);
+ files.forEach((filename) => {
+ // Get filename's absolute path
+ let filedir = path.join(filePath, filename);
+ // Get the file information according to the file path and return an fs.Stats object
+ fs.stat(filedir, (err, stats) => {
+ if (err) {
+ console.warn('Get files failed......');
+ } else {
+ let isFile = stats.isFile(); // files
+ let isDir = stats.isDirectory(); //files folder
+ if (isFile) {
+ fileList.push(path.basename(filedir, '.json'));
+ fileList.forEach(item => {
+ let paser = item.split("_").join("/");
+ originPath.push({ route: `/${paser}`, origin: `/${item}` })
+ originPath.map(route => {
+ rewriter[route.route] = route.origin;
+ })
+ localJsonDb[item] = getjsonContent(item);
+ })
+ }
+ if (isDir) {
+ console.warn("=====> DO NOT support mock data in folder");
+ fileDisplay(filedir);
+ }
+ Object.keys(fakeoriginalData).map(item => {
+ localJsonDb[item] = fakeoriginalData[item];
+ })
+ }
+ })
+ })
+ setTimeout(() => {
+ // console.log(rewriter, "===rewriter", localJsonDb, "===localJsonDb", fileList, "===fileList");
+ // console.log(localJsonDb, "===localJsonDb");
+ serverRewrite(rewriter);
+ runServer(localJsonDb);
+ }, 100)
+}
+function getjsonContent(path) {
+ let newpath = `./src/app/mock/json/${path}.json`;
+ let result = JSON.parse(fs.readFileSync(newpath));
+ return result;
+}
+
+//only multi router data needs jsonServer.rewriter
+function serverRewrite(routerpath) {
+ let routerpathArr = routerpath;
+ //rewrite mock multiple routers here
+ Object.keys(fakeoriginalData).map(item => {
+ let newPath = item.split("_").join("/")
+ routerpathArr[`/${newPath}`] = `/${item}`;
+ })
+ //start to rewrite routers
+ server.use(jsonServer.rewriter(routerpathArr));
+}
+
+function runServer(db) {
+ server.use(jsonServer.router(db));
+}
+
+server.listen(3004, () => {
+ console.log('Mock Server is successfully running on port 3004 ðŸ˜')
+});
diff --git a/usecaseui-portal/src/app/myhttp.service.ts b/usecaseui-portal/src/app/myhttp.service.ts
index 778b739c..d85076fa 100644
--- a/usecaseui-portal/src/app/myhttp.service.ts
+++ b/usecaseui-portal/src/app/myhttp.service.ts
@@ -16,7 +16,7 @@
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
-import { homeData, homeVmLineData, servicesSelectData, servicesTableData, creatensData, onboardTableData, onboardDataVNF, onboardDataPNF , baseUrl} from './dataInterface';
+import { homeData, homeVmLineData, servicesSelectData, servicesTableData, creatensData, onboardTableData, onboardDataVNF, onboardDataPNF, baseUrl } from './core/models/dataInterface';
@Injectable()
export class MyhttpService {
@@ -24,7 +24,7 @@ export class MyhttpService {
constructor(private http: HttpClient) { }
baseUrl = baseUrl.baseUrl;
url = {
- listSortMasters:this.baseUrl+"/listSortMasters",
+ listSortMasters: this.baseUrl + "/listSortMasters",
customers: this.baseUrl + "/uui-lcm/customers",
orchestrators: this.baseUrl + "/uui-lcm/orchestrators",
serviceType: this.baseUrl + "/uui-lcm/customers/" + "*_*" + "/service-subscriptions",
@@ -47,7 +47,7 @@ export class MyhttpService {
nsProgress: this.baseUrl + "/uui-lcm/jobs/getNsLcmJobStatus/" + "*_*" + "?responseId=0&serviceInstanceId=",
e2eScale: this.baseUrl + "/services/scaleServices/",
e2e_nsdata: this.baseUrl + "/getServiceInstanceById/customerId/",
- updateccvpn:this.baseUrl + "/uui-lcm/services/updateService/",
+ updateccvpn: this.baseUrl + "/uui-lcm/services/updateService/",
//The following api is about ccvpn details topology
allottedResource: this.baseUrl + "/uui-sotn/getAllottedResources",
@@ -100,17 +100,17 @@ export class MyhttpService {
inputs: ""
};
return this.http.post<any>(this.url.nstemplateParameters, body);
- }else if(type == "e2e"){
- let url = this.url.e2etemplateParameters.replace("*_*", template.uuid) + template.toscaModelURL;
- return this.http.get<any>(url);
- }else {
- let body = {
- csarId: template.uuid,
- packageType: "Service",
- inputs: ""
- };
- let url = this.url.templateParameters.replace("*_*", template.uuid);
- return this.http.post<any>(url, body);
+ } else if (type == "e2e") {
+ let url = this.url.e2etemplateParameters.replace("*_*", template.uuid) + template.toscaModelURL;
+ return this.http.get<any>(url);
+ } else {
+ let body = {
+ csarId: template.uuid,
+ packageType: "Service",
+ inputs: ""
+ };
+ let url = this.url.templateParameters.replace("*_*", template.uuid);
+ return this.http.post<any>(url, body);
}
}
@@ -135,8 +135,8 @@ export class MyhttpService {
return this.http.post<any>(this.url.ns_createService2 + params, requestBody);
}
- updateccvpn(id,requestBody){
- return this.http.put<any>(this.url.updateccvpn + id,requestBody);// online
+ updateccvpn(id, requestBody) {
+ return this.http.put<any>(this.url.updateccvpn + id, requestBody);// online
}
// Delete interface
deleteInstance(obj) {
@@ -178,11 +178,11 @@ export class MyhttpService {
// Query progress interface
getProgress(obj) {
- let url = this.url.progress.replace("*_*", obj.serviceId) + obj.operationId + "?operationType="+obj.operationType;
+ let url = this.url.progress.replace("*_*", obj.serviceId) + obj.operationId + "?operationType=" + obj.operationType;
return this.http.get<any>(url);
}
- getNsProgress(jobid,serviceId,operationType){
- let url = this.url.nsProgress.replace("*_*",jobid) + serviceId + "&operationType="+operationType;
+ getNsProgress(jobid, serviceId, operationType) {
+ let url = this.url.nsProgress.replace("*_*", jobid) + serviceId + "&operationType=" + operationType;
return this.http.get<any>(url);
}
diff --git a/usecaseui-portal/src/app/components/charts/bar/bar.component.html b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.html
index 7c1eee6b..7c1eee6b 100644
--- a/usecaseui-portal/src/app/components/charts/bar/bar.component.html
+++ b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.html
diff --git a/usecaseui-portal/src/app/components/charts/bar/bar.component.less b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.less
index e69de29b..e69de29b 100644
--- a/usecaseui-portal/src/app/components/charts/bar/bar.component.less
+++ b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.less
diff --git a/usecaseui-portal/src/app/components/charts/bar/bar.component.spec.ts b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.spec.ts
index d979ffb6..d979ffb6 100644
--- a/usecaseui-portal/src/app/components/charts/bar/bar.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/charts/bar/bar.component.ts b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.ts
index 609ce3ee..609ce3ee 100644
--- a/usecaseui-portal/src/app/components/charts/bar/bar.component.ts
+++ b/usecaseui-portal/src/app/shared/components/charts/bar/bar.component.ts
diff --git a/usecaseui-portal/src/app/components/charts/line/line.component.html b/usecaseui-portal/src/app/shared/components/charts/line/line.component.html
index e032eb27..e032eb27 100644
--- a/usecaseui-portal/src/app/components/charts/line/line.component.html
+++ b/usecaseui-portal/src/app/shared/components/charts/line/line.component.html
diff --git a/usecaseui-portal/src/app/components/charts/line/line.component.less b/usecaseui-portal/src/app/shared/components/charts/line/line.component.less
index e69de29b..e69de29b 100644
--- a/usecaseui-portal/src/app/components/charts/line/line.component.less
+++ b/usecaseui-portal/src/app/shared/components/charts/line/line.component.less
diff --git a/usecaseui-portal/src/app/components/charts/line/line.component.spec.ts b/usecaseui-portal/src/app/shared/components/charts/line/line.component.spec.ts
index afe70654..afe70654 100644
--- a/usecaseui-portal/src/app/components/charts/line/line.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/charts/line/line.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/charts/line/line.component.ts b/usecaseui-portal/src/app/shared/components/charts/line/line.component.ts
index 25881699..25881699 100644
--- a/usecaseui-portal/src/app/components/charts/line/line.component.ts
+++ b/usecaseui-portal/src/app/shared/components/charts/line/line.component.ts
diff --git a/usecaseui-portal/src/app/components/charts/pie/pie.component.html b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.html
index d063f22a..d063f22a 100644
--- a/usecaseui-portal/src/app/components/charts/pie/pie.component.html
+++ b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.html
diff --git a/usecaseui-portal/src/app/components/charts/pie/pie.component.less b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.less
index e69de29b..e69de29b 100644
--- a/usecaseui-portal/src/app/components/charts/pie/pie.component.less
+++ b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.less
diff --git a/usecaseui-portal/src/app/components/charts/pie/pie.component.spec.ts b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.spec.ts
index 528da25c..528da25c 100644
--- a/usecaseui-portal/src/app/components/charts/pie/pie.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/charts/pie/pie.component.ts b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.ts
index dc5c80a0..dc5c80a0 100644
--- a/usecaseui-portal/src/app/components/charts/pie/pie.component.ts
+++ b/usecaseui-portal/src/app/shared/components/charts/pie/pie.component.ts
diff --git a/usecaseui-portal/src/app/components/customer/customer.component.html b/usecaseui-portal/src/app/shared/components/customer/customer.component.html
index 04975e41..08a23935 100644
--- a/usecaseui-portal/src/app/components/customer/customer.component.html
+++ b/usecaseui-portal/src/app/shared/components/customer/customer.component.html
@@ -14,38 +14,45 @@
limitations under the License.
-->
<div class="content">
- <div class="chearts">
- <div class="Cu">
- <p> {{"i18nTextDefine_Instance_Count_of_Customer" | translate}} </p>
- <app-pie [initData]="CUChartInit" [chartData]="CUChartData" *ngIf="serviceChart"></app-pie>
- <div *ngIf="!serviceChart" style="color: #ddd; font-weight: 700;font-size: 19px;height: 200px;text-align: center;line-height: 8;">No Service Instances </div>
- <!-- <div class="legend"></div><span> {{"i18nTextDefine_users" | translate}} </span> -->
- </div>
- <div class="type">
- <p> {{"i18nTextDefine_Instance_Count_of_ServiceType" | translate}} </p>
- <app-bar [initData]="serviceInit" [chartData]="serviceData"></app-bar>
- <div class="footname" style="width: 100%;height: 40px;line-height: 40px;text-align: center;color: #3C4F8C;">
- <img src="./assets/images/customerBarUser.png" alt="customerName" style="margin-right: 5px;margin-bottom: 3px;">
- {{this.serviceInit["customer"]}}
- </div>
- </div>
+ <div class="chearts">
+ <div class="Cu">
+ <p> {{"i18nTextDefine_Instance_Count_of_Customer" | translate}} </p>
+ <app-pie [initData]="CUChartInit" [chartData]="CUChartData" *ngIf="serviceChart"></app-pie>
+ <div *ngIf="!serviceChart"
+ style="color: #ddd; font-weight: 700;font-size: 19px;height: 200px;text-align: center;line-height: 8;">No
+ Service Instances </div>
+ <!-- <div class="legend"></div><span> {{"i18nTextDefine_users" | translate}} </span> -->
+ </div>
+ <div class="type">
+ <p> {{"i18nTextDefine_Instance_Count_of_ServiceType" | translate}} </p>
+ <app-bar [initData]="serviceInit" [chartData]="serviceData"></app-bar>
+ <div class="footname" style="width: 100%;height: 40px;line-height: 40px;text-align: center;color: #3C4F8C;">
+ <img src="../../../../assets/images/customerBarUser.png" alt="customerName"
+ style="margin-right: 5px;margin-bottom: 3px;">
+ {{this.serviceInit["customer"]}}
</div>
+ </div>
+ </div>
<div class="customer">
<div class="customer_title">
<div class="customers">
<span> {{"i18nTextDefine_Customer" | translate}} </span>
- <img src="./assets/images/customer04.png" alt="" (click)="this.customeradd = !this.customeradd" style="cursor: pointer">
+ <img src="../../../../assets/images/customer04.png" alt="" (click)="this.customeradd = !this.customeradd"
+ style="cursor: pointer">
</div>
</div>
<div class="customer_detail">
<div class="customer_add" *ngIf="customeradd">
- <input nz-input placeholder=" {{'i18nTextDefine_Input_customerName' | translate}} " class="customer_name" nzSize="default" [(ngModel)]="addNewCustomer">
- <button nz-button nzType="primary" class="customer_addbut" (click) = "createNewCustomer(notificationModel)">{{"i18nTextDefine_Add" | translate}}</button>
+ <input nz-input placeholder=" {{'i18nTextDefine_Input_customerName' | translate}} " class="customer_name"
+ nzSize="default" [(ngModel)]="addNewCustomer">
+ <button nz-button nzType="primary" class="customer_addbut"
+ (click)="createNewCustomer(notificationModel)">{{"i18nTextDefine_Add" | translate}}</button>
</div>
<div class="customer_list">
<ul>
- <li *ngFor ="let item of AllCustomersdata,let i = index" [ngClass]="{active: chose ==i}" (click)="choseCustomer(i,item)">
- <img src="./assets/images/customer05.png" alt="">
+ <li *ngFor="let item of AllCustomersdata,let i = index" [ngClass]="{active: chose ==i}"
+ (click)="choseCustomer(i,item)">
+ <img src="../../../../assets/images/customer05.png" alt="">
<span>{{item.name}}</span>
<i class="anticon anticon-delete" nzType="info" (click)="deleteCustomerModel(item)"></i>
</li>
@@ -57,30 +64,34 @@
<div class="services_type_title">
<div class="servicess">
<span> {{"i18nTextDefine_ServiceType" | translate}} </span>
- <img src="./assets/images/customer03.png" alt="" (click)="this.servicesadd = !this.servicesadd " style="cursor: pointer">
+ <img src="../../../../assets/images/customer03.png" alt="" (click)="this.servicesadd = !this.servicesadd "
+ style="cursor: pointer">
</div>
</div>
<div class="services_type_detail">
<div class="services_add" *ngIf="servicesadd">
- <input nz-input placeholder=" {{'i18nTextDefine_Input_ServicesType' | translate}} " class="services_name" nzSize="default" [(ngModel)]="addNewServiceType">
- <button nz-button nzType="primary" class="services_addbut" (click) = "createNewServiceType(notificationModel)">{{"i18nTextDefine_Add" | translate}}</button>
+ <input nz-input placeholder=" {{'i18nTextDefine_Input_ServicesType' | translate}} " class="services_name"
+ nzSize="default" [(ngModel)]="addNewServiceType">
+ <button nz-button nzType="primary" class="services_addbut"
+ (click)="createNewServiceType(notificationModel)">{{"i18nTextDefine_Add" | translate}}</button>
</div>
<div class="services_list">
<div class="border_size"></div>
<div style="padding:0 20px;">
- <ul>
- <li *ngFor = "let item of AllServiceTypes" >
- <span>{{item.type}}</span>
- <i class="anticon anticon-delete" nzType="info" (click)="deleteServiceTypeModel(item)"></i>
- </li>
- </ul>
+ <ul>
+ <li *ngFor="let item of AllServiceTypes">
+ <span>{{item.type}}</span>
+ <i class="anticon anticon-delete" nzType="info" (click)="deleteServiceTypeModel(item)"></i>
+ </li>
+ </ul>
</div>
</div>
</div>
</div>
- <nz-modal nzWidth="428" [(nzVisible)]="deleteCustomerModelVisible" nzTitle=" {{'i18nTextDefine_delete' | translate}} " (nzOnCancel)="deleteCustomerCancel()"
- (nzOnOk)="deleteCustomerOk(notificationModel)" nzClassName="deleteModel" nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} " nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
+ <nz-modal nzWidth="428" [(nzVisible)]="deleteCustomerModelVisible" nzTitle=" {{'i18nTextDefine_delete' | translate}} "
+ (nzOnCancel)="deleteCustomerCancel()" (nzOnOk)="deleteCustomerOk(notificationModel)" nzClassName="deleteModel"
+ nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} " nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
<h3><span style="color: red">*&nbsp;</span> {{"i18nTextDefine_Input_Sure_deleteCustomer" | translate}} </h3>
<div class="question">
<h4> {{"i18nTextDefine_CustomerName" | translate}} :</h4>
@@ -91,8 +102,10 @@
<div class="deleteModelContent">{{thisdeleteCustomer["id"]}}</div>
</div>
</nz-modal>
- <nz-modal nzWidth="428" [(nzVisible)]="deleteServiceTypeModelVisible" nzTitle=" {{'i18nTextDefine_delete' | translate}} " (nzOnCancel)="deleteServiceTypeCancel()"
- (nzOnOk)="deleteServiceTypeOk(notificationModel)" nzClassName="deleteModel deleteServiceTypeModel" nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} " nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
+ <nz-modal nzWidth="428" [(nzVisible)]="deleteServiceTypeModelVisible"
+ nzTitle=" {{'i18nTextDefine_delete' | translate}} " (nzOnCancel)="deleteServiceTypeCancel()"
+ (nzOnOk)="deleteServiceTypeOk(notificationModel)" nzClassName="deleteModel deleteServiceTypeModel"
+ nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} " nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
<h3><span style="color: red">*&nbsp;</span> {{"i18nTextDefine_Input_Sure_deleteServiceType" | translate}} </h3>
<div class="question">
<h4> {{"i18nTextDefine_CustomerName" | translate}} :</h4>
@@ -108,12 +121,12 @@
</div>
</nz-modal>
<!--2019.08.14 add notification-->
- <ng-template #notificationModel >
+ <ng-template #notificationModel>
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <img src="{{this.notificationAttributes.imgPath}}" alt="{{notificationAttributes.status}}">
- </span>
+ <span class="ant-notification-notice-icon">
+ <img src="{{this.notificationAttributes.imgPath}}" alt="{{notificationAttributes.status}}">
+ </span>
<div class="ant-notification-notice-message" *ngIf="notificationAttributes.title == 'Customer'">
{{"i18nTextDefine_"+notificationAttributes.title | translate}}&nbsp;
{{"i18nTextDefine_"+notificationAttributes.action | translate}}&nbsp;&nbsp;{{"i18nTextDefine_"+notificationAttributes.status | translate}}
diff --git a/usecaseui-portal/src/app/components/customer/customer.component.less b/usecaseui-portal/src/app/shared/components/customer/customer.component.less
index 7d329230..7d329230 100644
--- a/usecaseui-portal/src/app/components/customer/customer.component.less
+++ b/usecaseui-portal/src/app/shared/components/customer/customer.component.less
diff --git a/usecaseui-portal/src/app/components/customer/customer.component.spec.ts b/usecaseui-portal/src/app/shared/components/customer/customer.component.spec.ts
index f185e7a7..f185e7a7 100644
--- a/usecaseui-portal/src/app/components/customer/customer.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/customer/customer.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/customer/customer.component.ts b/usecaseui-portal/src/app/shared/components/customer/customer.component.ts
index d4d843ff..a0cf8338 100644
--- a/usecaseui-portal/src/app/components/customer/customer.component.ts
+++ b/usecaseui-portal/src/app/shared/components/customer/customer.component.ts
@@ -13,17 +13,17 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
-import {Component, OnInit, TemplateRef} from '@angular/core';
-import { ManagemencsService } from '../../managemencs.service';
+import { Component, OnInit, TemplateRef } from '@angular/core';
+import { ManagemencsService } from '../../../core/services/managemencs.service';
import { NzNotificationService } from 'ng-zorro-antd';
@Component({
- selector: 'app-customer',
- templateUrl: './customer.component.html',
- styleUrls: ['./customer.component.less']
+ selector: 'app-customer',
+ templateUrl: './customer.component.html',
+ styleUrls: ['./customer.component.less']
})
export class CustomerComponent implements OnInit {
- public chose = '';
-
+ public chose = '';
+
constructor(
private managemencs: ManagemencsService,
private notification: NzNotificationService
@@ -40,8 +40,8 @@ export class CustomerComponent implements OnInit {
// Get all customers
active;
selectCustomer = {
- name:null,
- id:null
+ name: null,
+ id: null
};
addNewCustomer = null;
addNewServiceType = null;
@@ -49,30 +49,30 @@ export class CustomerComponent implements OnInit {
deleteServiceTypeModelVisible = false;
//2019.08.14 add
notificationAttributes = {
- "title":"Customer",
- "imgPath":"../../../../assets/images/execute-inproess.png",
- "action":"Create",
- "status":"InProgress",
- "name":""
+ "title": "Customer",
+ "imgPath": "../../../../assets/images/execute-inproess.png",
+ "action": "Create",
+ "status": "InProgress",
+ "name": ""
};
notificationModelShow(template: TemplateRef<{}>): void {
- console.log(this.notificationAttributes,"notificationModelShow show");
+ console.log(this.notificationAttributes, "notificationModelShow show");
this.notification.template(template);
}
- notificationSuccess(notificationModel){
- this.notificationAttributes.imgPath = "../../../assets/images/execute-success.png";
+ notificationSuccess(notificationModel) {
+ this.notificationAttributes.imgPath = "../../../../assets/images/execute-success.png";
this.notificationAttributes.status = "Success";
this.notificationModelShow(notificationModel);
}
- notificationFailed(notificationModel){
- this.notificationAttributes.imgPath = "../../../assets/images/execute-faild.png";
+ notificationFailed(notificationModel) {
+ this.notificationAttributes.imgPath = "../../../../assets/images/execute-faild.png";
this.notificationAttributes.status = "Failed";
this.notificationModelShow(notificationModel);
}
getAllCustomers() {
this.managemencs.getAllCustomers().subscribe((data) => {
this.AllCustomersdata = data.map((item) => {
- return {name: item["subscriber-name"], id: item["global-customer-id"]}
+ return { name: item["subscriber-name"], id: item["global-customer-id"] }
});
this.active = this.selectCustomer = this.AllCustomersdata[0];
this.serviceInit["customer"] = this.AllCustomersdata[0].name;
@@ -87,7 +87,7 @@ export class CustomerComponent implements OnInit {
getServiceTypes(item) {
this.managemencs.getServiceTypes(item).subscribe((data) => {
this.AllServiceTypes = data.map((item) => {
- return {type: item["service-type"], id: item["global-customer-id"]}
+ return { type: item["service-type"], id: item["global-customer-id"] }
});
})
}
@@ -139,7 +139,7 @@ export class CustomerComponent implements OnInit {
},
labelLine: {
normal: {
- show: false
+ show: false
}
},
itemStyle: {
@@ -174,19 +174,19 @@ export class CustomerComponent implements OnInit {
// get customers chart pie
Pie_name = [];
Pie_value = [];
- serviceChart=true;
+ serviceChart = true;
serviceNumber;
getCustomersPie() {
this.managemencs.getCustomersPie().subscribe((data) => {
this.serviceNumber = data.serviceTotalNum;
- if (this.serviceNumber>0) {
- this.serviceChart = true;
- } else {
- this.serviceChart = false;
- }
+ if (this.serviceNumber > 0) {
+ this.serviceChart = true;
+ } else {
+ this.serviceChart = false;
+ }
this.CUChartData = {
series: [{
- data:data.customerServiceList
+ data: data.customerServiceList
}]
}
console.log(this.CUChartData)
@@ -387,21 +387,21 @@ export class CustomerComponent implements OnInit {
createNewCustomer(notificationModel) {
let createParams = {
customerId: this.addNewCustomer,
- 'global-customer-id':this.addNewCustomer,
- 'subscriber-name':this.addNewCustomer,
- 'subscriber-type':'INFRA'
+ 'global-customer-id': this.addNewCustomer,
+ 'subscriber-name': this.addNewCustomer,
+ 'subscriber-type': 'INFRA'
};
- this.notificationAttributes = {
- "title":"Customer",
- "imgPath":"../../../../assets/images/execute-inproess.png",
- "action":"Create",
- "status":"InProgress",
- "name":this.addNewCustomer
+ this.notificationAttributes = {
+ "title": "Customer",
+ "imgPath": "../../../../assets/images/execute-inproess.png",
+ "action": "Create",
+ "status": "InProgress",
+ "name": this.addNewCustomer
};
this.notificationModelShow(notificationModel);
this.managemencs.createCustomer(this.addNewCustomer, createParams).subscribe((data) => {
if (data["status"] == 'SUCCESS') {
- this.notificationSuccess(notificationModel);
+ this.notificationSuccess(notificationModel);
this.getAllCustomers();
console.log(data, "Interface returned success")
} else {
@@ -412,10 +412,10 @@ export class CustomerComponent implements OnInit {
}
// Customer delete model
- thisdeleteCustomer={
- name:null,
- id:null
- };
+ thisdeleteCustomer = {
+ name: null,
+ id: null
+ };
deleteCustomerModel(itemCustomer) {
this.thisdeleteCustomer = itemCustomer;
this.deleteCustomerModelVisible = true;
@@ -425,31 +425,31 @@ export class CustomerComponent implements OnInit {
}
deleteCustomerOk(notificationModel) {
this.deleteCustomerModelVisible = false;
- this.getCustomerVersion(this.thisdeleteCustomer,notificationModel);
+ this.getCustomerVersion(this.thisdeleteCustomer, notificationModel);
this.notificationAttributes = {
- "title":"Customer",
- "imgPath":"../../../../assets/images/execute-inproess.png",
- "action":"delete",
- "status":"InProgress",
- "name":this.thisdeleteCustomer.name
+ "title": "Customer",
+ "imgPath": "../../../../assets/images/execute-inproess.png",
+ "action": "delete",
+ "status": "InProgress",
+ "name": this.thisdeleteCustomer.name
};
this.notificationModelShow(notificationModel);
}
- getCustomerVersion(thisdeleteCustomer,notificationModel){
+ getCustomerVersion(thisdeleteCustomer, notificationModel) {
this.managemencs.getdeleteCustomerVersion(thisdeleteCustomer).subscribe((data) => {
if (data["status"] == 'SUCCESS') {
let params = {
- customerId:thisdeleteCustomer.id,
- version:data["result"]["resource-version"]
+ customerId: thisdeleteCustomer.id,
+ version: data["result"]["resource-version"]
};
- this.deleteCustomer(params,notificationModel);
+ this.deleteCustomer(params, notificationModel);
console.log(data, "Interface returned success")
} else {
console.log(data, "Interface returned error")
}
})
}
- deleteCustomer(params,notificationModel){
+ deleteCustomer(params, notificationModel) {
this.managemencs.deleteSelectCustomer(params).subscribe((data) => {
if (data["status"] == 'SUCCESS') {
this.notificationSuccess(notificationModel);
@@ -466,17 +466,17 @@ export class CustomerComponent implements OnInit {
let createParams = {
customer: this.selectCustomer,
ServiceType: this.addNewServiceType,
- "service-type":this.addNewServiceType,
- "temp-ub-sub-account-id":"sotnaccount"
+ "service-type": this.addNewServiceType,
+ "temp-ub-sub-account-id": "sotnaccount"
};
- this.notificationAttributes = {
- "title":"ServiceType",
- "imgPath":"../../../../assets/images/execute-inproess.png",
- "action":"Create",
- "status":"InProgress",
- "name":this.addNewServiceType
+ this.notificationAttributes = {
+ "title": "ServiceType",
+ "imgPath": "../../../../assets/images/execute-inproess.png",
+ "action": "Create",
+ "status": "InProgress",
+ "name": this.addNewServiceType
};
- this.notificationModelShow(notificationModel);
+ this.notificationModelShow(notificationModel);
this.managemencs.createServiceType(createParams).subscribe((data) => {
if (data["status"] == 'SUCCESS') {
this.notificationSuccess(notificationModel);
@@ -491,8 +491,8 @@ export class CustomerComponent implements OnInit {
}
// ServiceType delete model
- thisdeleteServiceType={
- type:null
+ thisdeleteServiceType = {
+ type: null
};
deleteServiceTypeModel(itemServiceType) {
this.thisdeleteServiceType = itemServiceType;
@@ -510,39 +510,39 @@ export class CustomerComponent implements OnInit {
customerId: this.selectCustomer,
ServiceType: this.thisdeleteServiceType["type"]
};
- this.notificationAttributes = {
- "title":"ServiceType",
- "imgPath":"../../../../assets/images/execute-inproess.png",
- "action":"delete",
- "status":"InProgress",
- "name":this.thisdeleteServiceType["type"]
+ this.notificationAttributes = {
+ "title": "ServiceType",
+ "imgPath": "../../../../assets/images/execute-inproess.png",
+ "action": "delete",
+ "status": "InProgress",
+ "name": this.thisdeleteServiceType["type"]
};
this.notificationModelShow(notificationModel);
this.managemencs.getdeleteServiceTypeVersion(paramss).subscribe((data) => {
console.log(data)
if (data["status"] == 'SUCCESS') {
let params = {
- customerId:this.selectCustomer,
- ServiceType:this.thisdeleteServiceType["type"],
- version:data["result"]["resource-version"]
+ customerId: this.selectCustomer,
+ ServiceType: this.thisdeleteServiceType["type"],
+ version: data["result"]["resource-version"]
};
- this.deleteServiceType(params,notificationModel);
+ this.deleteServiceType(params, notificationModel);
console.log(data, "Interface returned success")
} else {
console.log(data, "Interface returned error")
}
})
}
- deleteServiceType(params,notificationModel){
+ deleteServiceType(params, notificationModel) {
this.managemencs.deleteSelectServiceType(params).subscribe((data) => {
if (data["status"] == 'SUCCESS') {
- this.notificationSuccess(notificationModel);
+ this.notificationSuccess(notificationModel);
this.getServiceTypes(params.customerId);
this.getCustomersColumn(params.customerId);
this.getAllCustomers();
console.log(data, "Interface returned success")
} else {
- this.notificationFailed(notificationModel);
+ this.notificationFailed(notificationModel);
console.log(data, "Interface returned error")
}
})
diff --git a/usecaseui-portal/src/app/components/details/details.component.css b/usecaseui-portal/src/app/shared/components/details/details.component.css
index 0b5493d7..ec6bd37f 100644
--- a/usecaseui-portal/src/app/components/details/details.component.css
+++ b/usecaseui-portal/src/app/shared/components/details/details.component.css
@@ -40,7 +40,7 @@
width: 60px;
height: 10px;
transform: translate(-30px, 0);
- background: url(../../../assets/images/tildeimg.png) no-repeat center center;
+ background: url(../../../../assets/images/tildeimg.png) no-repeat center center;
background-color: #fff;
}
.content .header .headerlist {
@@ -80,17 +80,17 @@
outline: none;
cursor: pointer;
background-color: #fff;
- background: url(../../../assets/images/open-close2.png) no-repeat center -22px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -22px;
}
.content button:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -66px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -66px;
}
.content .buttonActive {
transform: translate(-44px, -22px);
- background: url(../../../assets/images/open-close2.png) no-repeat center 0px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center 0px;
}
.content .buttonActive:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -44px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -44px;
}
.content h2.detailtitle {
font: 700 24px/18px 'Times New Roman';
diff --git a/usecaseui-portal/src/app/components/details/details.component.html b/usecaseui-portal/src/app/shared/components/details/details.component.html
index 62770b60..62770b60 100644
--- a/usecaseui-portal/src/app/components/details/details.component.html
+++ b/usecaseui-portal/src/app/shared/components/details/details.component.html
diff --git a/usecaseui-portal/src/app/components/details/details.component.less b/usecaseui-portal/src/app/shared/components/details/details.component.less
index a27357ef..c27bfd01 100644
--- a/usecaseui-portal/src/app/components/details/details.component.less
+++ b/usecaseui-portal/src/app/shared/components/details/details.component.less
@@ -41,7 +41,7 @@
width: 60px;
height: 10px;
transform: translate(-30px,0);
- background: url(../../../assets/images/tildeimg.png) no-repeat center center;
+ background: url(../../../../assets/images/tildeimg.png) no-repeat center center;
background-color: #fff;
}
.headerlist {
@@ -82,16 +82,16 @@
outline: none;
cursor: pointer;
background-color: #fff;
- background: url(../../../assets/images/open-close2.png) no-repeat center -22px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -22px;
&:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -66px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -66px;
}
}
.buttonActive {
transform: translate(-44px,-22px);
- background: url(../../../assets/images/open-close2.png) no-repeat center -0px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -0px;
&:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -44px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -44px;
}
}
h2.detailtitle {
@@ -105,7 +105,4 @@
// transition: all 0.3s linear;
overflow: hidden;
}
- .detailshow {
-
- }
} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/components/details/details.component.spec.ts b/usecaseui-portal/src/app/shared/components/details/details.component.spec.ts
index 1d5cbeb8..1d5cbeb8 100644
--- a/usecaseui-portal/src/app/components/details/details.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/details/details.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/details/details.component.ts b/usecaseui-portal/src/app/shared/components/details/details.component.ts
index 5eed3daf..dea6caaa 100644
--- a/usecaseui-portal/src/app/components/details/details.component.ts
+++ b/usecaseui-portal/src/app/shared/components/details/details.component.ts
@@ -14,8 +14,8 @@
limitations under the License.
*/
import { Component, OnInit, Input } from '@angular/core';
-import { slideUpDown } from '../../animates';
-import { HomesService } from '../../homes.service';
+import { slideUpDown } from '../../../animates';
+import { HomesService } from '../../../core/services/homes.service';
@Component({
selector: 'app-details',
diff --git a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.css b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.css
index 5dce6c92..5dce6c92 100644
--- a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.css
+++ b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.css
diff --git a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.html b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.html
index 49cba838..da673bf0 100644
--- a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.html
+++ b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.html
@@ -13,6 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
+<!--<h3 class="title"> Services List </h3>-->
<div class="model creation-model">
<!-- Create data -->
<div class="top-title">
diff --git a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.less b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.less
index 35b91799..edbd2db0 100644
--- a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.less
+++ b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.less
@@ -59,14 +59,14 @@ hr {
display: inline-block;
width: 35px;
height: 35px;
- background:url("../../../assets/images/Return-icon.png") no-repeat!important;
+ background:url("../../../../assets/images/Return-icon.png") no-repeat!important;
background-size: 100%!important;
border-radius:4px;
color: #D7D7D7;
cursor: pointer;
}
.back:hover{
- background: url("../../../assets/images/Return-icon-active.png")!important;
+ background: url("../../../../assets/images/Return-icon-active.png")!important;
background-size: 100%!important;
}
.top-title h3.title {
diff --git a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.spec.ts b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.spec.ts
index de00c43f..de00c43f 100644
--- a/usecaseui-portal/src/app/components/e2e-creation/e2e-creation.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.spec.ts
diff --git a/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.ts b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.ts
new file mode 100644
index 00000000..068fb039
--- /dev/null
+++ b/usecaseui-portal/src/app/shared/components/e2e-creation/e2e-creation.component.ts
@@ -0,0 +1,357 @@
+/*
+ Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { MyhttpService } from '../../../core/services/myhttp.service';
+import * as d3 from 'd3';
+
+@Component({
+ selector: 'app-e2e-creation',
+ templateUrl: './e2e-creation.component.html',
+ styleUrls: ['./e2e-creation.component.less']
+})
+export class E2eCreationComponent implements OnInit {
+
+ constructor(private myhttp: MyhttpService) { }
+
+ ngOnInit() {
+ this.gete2eTemParameters(this.e2e_ns_temParametersContent);
+ this.getVimInfo();
+ this.getSdnControllers();
+ console.log(this.createParams);
+ }
+
+ @Output() e2eCloseCreate = new EventEmitter();
+ @Output() nsCloseCreate = new EventEmitter();
+ @Input() createParams;
+ @Input() e2e_ns_temParametersContent;
+
+
+ // e2e serviceTemplateParameters
+ templateParameters = {
+ invariantUUID: "",
+ uuid: "",
+ name: "",
+ type: "",
+ version: "",
+ description: "",
+ category: "",
+ subcategory: "",
+ customizationUuid: "",
+ inputs: [],
+ nestedTemplates: []
+ };
+ // ns serviceTemplateParameters
+ nsTemplateParameters = {
+ inputs: {},
+ inputs2: [],
+ vnfs: []
+ }
+ roote2e = {
+ "name": "e2e",
+ "type": "e2e",
+ "children": []
+ };
+
+ rootns = {
+ "name": "ns",
+ "type": "ns",
+ "children": []
+ };
+
+ imgmap = {
+ '1': '../../../../assets/images/create-e2e.png',
+ '2': '../../../../assets/images/create-ns.png',
+ '3': '../../../../assets/images/create-vnf.png',
+ };
+ gete2eTemParameters(data) { //Get template parameters
+ let type = this.createParams.commonParams.templateType == "E2E Service" ? "e2e" : "ns";
+ console.log(this.createParams);
+ console.log(data);
+ if (type == "e2e") {
+ this.templateParameters = data;
+ this.templateParameters.nestedTemplates.forEach((item) => {
+ item.inputs = item.inputs.filter((input) => { return input.type !== "sdn_controller" });
+ })
+ this.templateParameters.nestedTemplates.map((item, index) => {
+ let nsIndex = {
+ "name": "ns",
+ "type": "ns",
+ "children": []
+ };
+ nsIndex.children = item.nestedTemplates.map((item, index) => {
+ return {
+ "name": "vnf",
+ "type": "vnf",
+ }
+ });
+ this.roote2e.children.push(nsIndex);
+ });
+ console.log(this.templateParameters);
+ console.log(this.roote2e)
+ } else if (type == "ns") {
+ if (data["model"] != undefined && typeof data["model"] == 'string') {
+ this.nsTemplateParameters = JSON.parse(data["model"]);
+ console.log(data["model"]);
+ } else {
+ this.nsTemplateParameters = data;
+ }
+ console.log(this.nsTemplateParameters);
+ this.nsTemplateParameters["inputs2"] = [];
+ let inputs = this.nsTemplateParameters.inputs;
+ for (let key in inputs) {
+ this.nsTemplateParameters["inputs2"].push({ name: key, type: inputs[key].type, value: inputs[key].value })
+ }
+ this.rootns.children = this.nsTemplateParameters.vnfs.map((item, index) => {
+ return {
+ "name": "vnf",
+ "type": "vnf",
+ }
+ });
+ console.log(this.nsTemplateParameters);
+ }
+
+ this.drawImage(type)
+
+ }
+ vimInfos = [];
+ getVimInfo() {
+ this.myhttp.getVimInfo()
+ .subscribe((data) => {
+ this.vimInfos = data.map((item) => { return { name: item['cloud-owner'], id: item['cloud-region-id'] } });
+ })
+ };
+ sdnControllers = [];
+ getSdnControllers() {
+ this.myhttp.getSdnControllers()
+ .subscribe((data) => {
+ this.sdnControllers = data.map((item) => { return { name: item['thirdparty-sdnc-id'], id: item['thirdparty-sdnc-id'] } });
+ })
+ }
+
+ // e2e requstbody
+ service = {
+ name: "",
+ description: "",
+ COS: "",
+ EBS: "",
+ serviceInvariantUuid: "",
+ serviceUuid: "", // uuid ??
+ globalSubscriberId: "", // "customer.id",
+ serviceType: "", // "serviceType.value",
+ parameters: {
+ locationConstraints: [
+
+ ],
+ resources: [],
+ requestInputs: {},
+ }
+
+ }
+
+ // ns requstbody
+ ns_service = {
+ csarId: "",
+ nsName: "",
+ description: "",
+ context: {
+ globalCustomerId: "",
+ serviceType: ""
+ }
+ }
+ ns_service2 = {
+ locationConstraints: [
+
+ ],
+ additionalParamForNs: {
+ }
+ }
+ submit() {
+ let type = this.createParams.commonParams.templateType == "E2E Service" ? "e2e" : "ns";
+ if (type == "e2e") {
+ this.service.serviceInvariantUuid = this.templateParameters.invariantUUID;
+ this.service.serviceUuid = this.templateParameters.uuid;
+ this.service.globalSubscriberId = this.createParams.commonParams.customer.id;
+ this.service.serviceType = this.createParams.commonParams.serviceType.name;
+
+ this.templateParameters.inputs.forEach((ipnut) => {
+ this.service.parameters.requestInputs[ipnut.name] = ipnut.value == undefined ? ipnut.defaultValue : ipnut.value;
+ })
+
+ this.templateParameters.nestedTemplates.forEach((item) => {
+ let nsService = {
+ resourceName: item.name,
+ resourceInvariantUuid: item.invariantUUID,
+ resourceUuid: item.uuid,
+ resourceCustomizationUuid: item.customizationUuid,
+ parameters: {
+ locationConstraints: [],
+ resources: [],
+ requestInputs: {}
+ }
+ }
+ item.inputs.forEach((input) => {
+ if (input.type == "vf_location") {
+ let location = {
+ vnfProfileId: input.name,
+ locationConstraints: {
+ cloudOwner: input.value.name,
+ cloudRegionId: input.value.id
+ }
+ }
+ nsService.parameters.locationConstraints.push(location);
+ } else {
+ nsService.parameters.requestInputs[input.name] = input.value == undefined ? input.defaultValue : input.value;
+ }
+ })
+ this.service.parameters.resources.push(nsService);
+ })
+ console.log(this.service)
+ this.service.parameters.requestInputs['orchestrator'] = this.createParams.orchestrator.name;
+ if (this.createParams.isSol005Interface) {
+ this.service.parameters.requestInputs['isSol005Interface'] = this.createParams.isSol005Interface;
+ }
+ this.e2eCloseCreate.emit({ service: this.service });
+
+ } else if (type == "ns") {
+ //create ns instance
+ this.ns_service.csarId = this.createParams.template.id;
+ this.ns_service.context.globalCustomerId = this.createParams.commonParams.customer.id;
+ this.ns_service.context.serviceType = this.createParams.commonParams.serviceType.name;
+
+ this.nsTemplateParameters.inputs2.forEach((input) => {
+ this.ns_service2.additionalParamForNs[input.name] = input.value == undefined ? input.defaultValue : input.value;
+ })
+ this.nsTemplateParameters.vnfs.forEach((vnf) => {
+ let vnfparams = {
+ vnfProfileId: vnf.properties.id,
+ locationConstraints: {
+ cloudOwner: vnf.value.name,
+ cloudRegionId: vnf.value.id
+ }
+ }
+ this.ns_service2.locationConstraints.push(vnfparams);
+ })
+ console.log(this.ns_service2);
+
+ let requstbody = {
+ step1: this.ns_service,
+ step2: this.ns_service2
+ }
+ this.nsCloseCreate.emit(requstbody);
+ }
+
+ }
+ goback() {
+ this.e2eCloseCreate.emit();
+ }
+
+
+
+ drawImage(type) {
+ if (type == "e2e") {
+ this.render(this.roote2e, this.imgmap)
+ } else if (type == "ns") {
+ this.render(this.rootns, this.imgmap)
+ }
+
+
+ }
+
+ render(data, imgmap) {
+ var width = document.getElementById("createChart").clientWidth,
+ height = document.getElementById("createChart").clientHeight;
+ var cluster = d3.layout.tree()
+ .size([width, height]);
+ var diagonal = d3.svg.diagonal()
+ .projection(function (d) {
+ return [d.x - 18, d.y + 40];
+ });
+ var svg = d3.select("svg");
+
+ //marker
+ var marker =
+ svg.append("marker")
+ .attr("id", "resolved")
+ .attr("markerUnits", "strokeWidth")
+ .attr("markerUnits", "userSpaceOnUse")
+ .attr("viewBox", "0 -5 10 10")
+ .attr("refX", 22)
+ .attr("refY", 0)
+ .attr("markerWidth", 20)
+ .attr("markerHeight", 20)
+ .attr("orient", "auto")
+ .attr("stroke-width", 1)
+ .append("circle")
+ .attr("cx", 5)
+ .attr("cy", 0)
+ .attr("r", 2)
+ .attr("stroke-width", 1)
+ .style("stroke", "#2F8BF7")
+ .attr('fill', 'white');
+ var i = 0;
+ var nodes = cluster.nodes(data).reverse();
+ nodes.forEach(function (d) {
+ d.y = d.depth * 200 + 100;
+
+ });
+
+ var links = cluster.links(nodes);
+
+ var linkEnter = svg.selectAll("path.link")
+ .data(links);
+
+ linkEnter.enter().append("path")
+ .attr("class", "link")
+ .attr("d", diagonal)
+ .style("stroke", "#2F8BF7")
+ .style('stroke-width', '1px')
+ .attr("marker-end", "url(#resolved)")
+ .style("fill", "none")
+ // .style("fill-opacity", 1)
+ .attr("id", function (d, i) {
+ return "mypath" + i;
+ });
+
+ var node = svg.selectAll(".node")
+ .data(nodes)
+ .enter()
+ .append("g")
+ .attr("class", "node")
+ .attr("transform", function (d) {
+ return "translate(" + (d.x + -50) + "," + (d.y) + ")";
+ });
+
+ node.append('image')
+ .attr('xlink:href', function (d) {
+ if (d.type == "e2e") {
+ return imgmap[1];
+ } else if (d.type == "ns") {
+ return imgmap[2];
+ } else if (d.type == "vnf") {
+ return imgmap[3];
+ }
+
+ })
+ .style('width', '12%')
+ .style("cursor", "pointer")
+ .attr("x", 0)
+ .attr("y", 0)
+ .attr("rx", 3);
+
+
+ }
+
+}
diff --git a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.html b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.html
index 0a753a30..c0953a90 100644
--- a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.html
+++ b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.html
@@ -13,7 +13,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
+<!--<h3 class="title"> Services List </h3>-->
<div class="model creation-model">
<div class="top-title">
@@ -23,7 +23,6 @@
</div>
</div>
<div class="detaildata fl">
- <!--e2e detail data demonstration-->
<div *ngIf="detailParams.serviceDomain == 'E2E Service'" class="baseparms clearfix">
<div class="vnf-box">
<h3> {{"i18nTextDefine_Base" | translate}} </h3>
@@ -57,7 +56,7 @@
</ul>
</div>
</div>
- <!--e2e detail data demonstration-->
+
<div *ngIf="detailParams.serviceDomain=='Network Service'" class="baseparms clearfix">
<div class="vnf-box">
<h3> {{"i18nTextDefine_Base" | translate}} </h3>
@@ -94,7 +93,7 @@
</div>
</div>
- <!--topo chart -->
+ <!-- chart -->
<div class="chart fr">
<div id="createChart">
<svg width="100%" height="100%">
diff --git a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.less b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.less
index 3f03af34..e560cd9b 100644
--- a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.less
+++ b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.less
@@ -45,14 +45,14 @@ hr {
display: inline-block;
width: 35px;
height: 35px;
- background:url("../../../assets/images/Return-icon.png") no-repeat!important;
+ background:url("../../../../assets/images/Return-icon.png") no-repeat!important;
background-size: 100%!important;
border-radius:4px;
color: #D7D7D7;
cursor: pointer;
}
.back:hover{
- background: url("../../../assets/images/Return-icon-active.png")!important;
+ background: url("../../../../assets/images/Return-icon-active.png")!important;
background-size: 100%!important;
}
.top-title h3.title {
diff --git a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.spec.ts b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.spec.ts
index ad24a477..ad24a477 100644
--- a/usecaseui-portal/src/app/components/e2e-detail/e2e-detail.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.spec.ts
diff --git a/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.ts b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.ts
new file mode 100644
index 00000000..7618c98c
--- /dev/null
+++ b/usecaseui-portal/src/app/shared/components/e2e-detail/e2e-detail.component.ts
@@ -0,0 +1,246 @@
+/*
+ Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { MyhttpService } from '../../../core/services/myhttp.service';
+import * as d3 from 'd3';
+
+@Component({
+ selector: 'app-e2e-detail',
+ templateUrl: './e2e-detail.component.html',
+ styleUrls: ['./e2e-detail.component.less']
+})
+export class E2eDetailComponent implements OnInit {
+
+ constructor(private myhttp: MyhttpService) {
+ }
+
+ ngOnInit() {
+ // this.getDetails();
+ this.dataInit();
+ }
+
+ @Input() detailParams;
+
+ @Output() closeDetail = new EventEmitter();
+ serviceInstanceName: any;
+ serviceType: any;
+ input_parameters: any;
+ nsinput_parameters: any;
+
+ // e2e
+ service = {
+ name: "",
+ description: "",
+ };
+ e2e_nestedTemplates = [];
+ e2e_requestInputs: any;
+
+ ns_service = {
+ name: "",
+ description: ""
+ }
+ ns_nestedTemplates = [];
+ ns_requestInputs = {};
+ roote2e = {
+ "name": "e2e",
+ "type": "e2e",
+ "children": []
+ };
+
+ rootns = {
+ "name": "ns",
+ "type": "ns",
+ "children": []
+ };
+
+ imgmap = {
+ '1': '../../../../assets/images/create-e2e.png',
+ '2': '../../../../assets/images/create-ns.png',
+ '3': '../../../../assets/images/create-vnf.png',
+ };
+
+ getKeys(item) {
+ return Object.keys(item);
+ }
+
+ dataInit() {
+ console.log(this.detailParams);
+ this.serviceInstanceName = this.detailParams['service-instance-name'] || this.detailParams["nsName"];
+ if (this.detailParams.serviceDomain == 'E2E Service') {
+ this.input_parameters = JSON.stringify(this.detailParams['input-parameters']);
+ this.input_parameters = JSON.parse(this.input_parameters);
+ console.log(this.input_parameters);
+ this.service = {
+ name: this.input_parameters.service.name,
+ description: this.input_parameters.service.description,
+ };
+ if (this.input_parameters.service.parameters.requestInputs != undefined && Object.keys(this.input_parameters.service.parameters.requestInputs).length > 0) {
+ this.e2e_requestInputs = this.input_parameters.service.parameters.requestInputs;
+ }
+ if (this.input_parameters.service.parameters.resources != undefined && this.input_parameters.service.parameters.resources.length > 0) {
+ this.input_parameters.service.parameters.resources.map((item, i) => {
+ let nestedTemplates = {
+ name: null,
+ vnfs: []
+ };
+ nestedTemplates.name = item.resourceName;
+ item.parameters.locationConstraints.map((its, k) => {
+ nestedTemplates.vnfs.push({
+ "vf_location": its.locationConstraints.cloudOwner
+ })
+ });
+ this.e2e_nestedTemplates.push(nestedTemplates);
+
+ let nsIndex = {
+ "name": "ns",
+ "type": "ns",
+ "children": []
+ };
+ nsIndex.children = item.parameters.locationConstraints.map((itemits, index) => {
+ return {
+ "name": "vnf",
+ "type": "vnf",
+ }
+ });
+ this.roote2e.children.push(nsIndex);
+ });
+ console.log(this.e2e_nestedTemplates);
+ console.log(this.e2e_requestInputs);
+ console.log(this.roote2e)
+ }
+ } else if (this.detailParams.serviceDomain == 'Network Service') {
+ this.ns_service = {
+ name: this.detailParams.name || this.detailParams['service-instance-name'],
+ description: this.detailParams.description || null
+ };
+ if (this.detailParams.requestInputs != undefined && Object.keys(this.detailParams.requestInputs).length > 0) {
+ this.ns_requestInputs = this.detailParams.requestInputs;
+ }
+ this.ns_nestedTemplates = this.detailParams.childServiceInstances;
+ this.rootns.children = this.ns_nestedTemplates.map((item, index) => {
+ return {
+ "name": "vnf",
+ "type": "vnf"
+ }
+ });
+ console.log(this.ns_nestedTemplates);
+ console.log(this.ns_requestInputs);
+ console.log(this.rootns)
+ }
+ this.drawImage(this.detailParams.serviceDomain)
+ }
+
+ goback() {
+ this.closeDetail.emit();
+ }
+
+ drawImage(type) {
+ if (type == "E2E Service") {
+ this.render(this.roote2e, this.imgmap)
+ } else if (type == "Network Service") {
+ this.render(this.rootns, this.imgmap)
+ }
+
+
+ }
+
+ render(data, imgmap) {
+ var width = document.getElementById("createChart").clientWidth,
+ height = document.getElementById("createChart").clientHeight;
+ var cluster = d3.layout.tree()
+ .size([width, height]);
+ var diagonal = d3.svg.diagonal()
+ .projection(function (d) {
+ return [d.x - 18, d.y + 40];
+ });
+ var svg = d3.select("svg");
+
+ //marker
+ var marker =
+ svg.append("marker")
+ .attr("id", "resolved")
+ .attr("markerUnits", "strokeWidth")
+ .attr("markerUnits", "userSpaceOnUse")
+ .attr("viewBox", "0 -5 10 10")
+ .attr("refX", 22)
+ .attr("refY", 0)
+ .attr("markerWidth", 20)
+ .attr("markerHeight", 20)
+ .attr("orient", "auto")
+ .attr("stroke-width", 1)
+ .append("circle")
+ .attr("cx", 5)
+ .attr("cy", 0)
+ .attr("r", 2)
+ .attr("stroke-width", 1)
+ .style("stroke", "#2F8BF7")
+ .attr('fill', 'white');
+ var i = 0;
+ var nodes = cluster.nodes(data).reverse();
+ nodes.forEach(function (d) {
+ d.y = d.depth * 200 + 100;
+
+ });
+
+ var links = cluster.links(nodes);
+
+ var linkEnter = svg.selectAll("path.link")
+ .data(links);
+
+ linkEnter.enter().append("path")
+ .attr("class", "link")
+ .attr("d", diagonal)
+ .style("stroke", "#2F8BF7")
+ .style('stroke-width', '1px')
+ .attr("marker-end", "url(#resolved)")
+ .style("fill", "none")
+ // .style("fill-opacity", 1)
+ .attr("id", function (d, i) {
+ return "mypath" + i;
+ });
+
+ var node = svg.selectAll(".node")
+ .data(nodes)
+ .enter()
+ .append("g")
+ .attr("class", "node")
+ .attr("transform", function (d) {
+ return "translate(" + (d.x + -50) + "," + (d.y) + ")";
+ });
+
+ node.append('image')
+ .attr('xlink:href', function (d) {
+ if (d.type == "e2e") {
+ return imgmap[1];
+ } else if (d.type == "ns") {
+ return imgmap[2];
+ } else if (d.type == "vnf") {
+ return imgmap[3];
+ }
+
+ })
+ .style('width', '12%')
+ .style("cursor", "pointer")
+ .attr("x", 0)
+ .attr("y", 0)
+ .attr("rx", 3);
+
+
+ }
+
+
+}
diff --git a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.css b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.css
index 2f6519c4..9830c9e8 100644
--- a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.css
+++ b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.css
@@ -84,8 +84,8 @@
display: inline-block;
width: 16px;
height: 16px;
- background: url(../../../assets/images/icon.png) center -113px;
+ background: url(../../../../assets/images/icon.png) center -113px;
}
.content .tablelist .action .details:hover {
- background: url(../../../assets/images/icon.png) no-repeat center -128px;
+ background: url(../../../../assets/images/icon.png) no-repeat center -128px;
}
diff --git a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.html b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.html
index 317d48b0..317d48b0 100644
--- a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.html
+++ b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.html
diff --git a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.less b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.less
index 24e92fbd..e302c7fd 100644
--- a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.less
+++ b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.less
@@ -127,9 +127,9 @@
display: inline-block;
width: 16px;
height: 16px;
- background: url(../../../assets/images/icon.png) center -113px;
+ background: url(../../../../assets/images/icon.png) center -113px;
&:hover {
- background: url(../../../assets/images/icon.png) no-repeat center -128px;
+ background: url(../../../../assets/images/icon.png) no-repeat center -128px;
}
}
}
diff --git a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.spec.ts b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.spec.ts
index 013db38a..013db38a 100644
--- a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.ts b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.ts
index ccffac08..c05d3b7c 100644
--- a/usecaseui-portal/src/app/components/graphiclist/graphiclist.component.ts
+++ b/usecaseui-portal/src/app/shared/components/graphiclist/graphiclist.component.ts
@@ -14,7 +14,7 @@
limitations under the License.
*/
import { Component, OnInit, Input, Output, EventEmitter, HostBinding } from '@angular/core';
-import { HomesService } from '../../homes.service';
+import { HomesService } from '../../../core/services/homes.service';
import * as addDays from 'date-fns/add_days';
import { DatePipe } from "@angular/common"
diff --git a/usecaseui-portal/src/app/components/performance-details/performance-details.component.css b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.css
index 0b5493d7..ec6bd37f 100644
--- a/usecaseui-portal/src/app/components/performance-details/performance-details.component.css
+++ b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.css
@@ -40,7 +40,7 @@
width: 60px;
height: 10px;
transform: translate(-30px, 0);
- background: url(../../../assets/images/tildeimg.png) no-repeat center center;
+ background: url(../../../../assets/images/tildeimg.png) no-repeat center center;
background-color: #fff;
}
.content .header .headerlist {
@@ -80,17 +80,17 @@
outline: none;
cursor: pointer;
background-color: #fff;
- background: url(../../../assets/images/open-close2.png) no-repeat center -22px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -22px;
}
.content button:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -66px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -66px;
}
.content .buttonActive {
transform: translate(-44px, -22px);
- background: url(../../../assets/images/open-close2.png) no-repeat center 0px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center 0px;
}
.content .buttonActive:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -44px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -44px;
}
.content h2.detailtitle {
font: 700 24px/18px 'Times New Roman';
diff --git a/usecaseui-portal/src/app/components/performance-details/performance-details.component.html b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.html
index a5d44a7f..a5d44a7f 100644
--- a/usecaseui-portal/src/app/components/performance-details/performance-details.component.html
+++ b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.html
diff --git a/usecaseui-portal/src/app/components/performance-details/performance-details.component.less b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.less
index c1ca74f5..dd94af84 100644
--- a/usecaseui-portal/src/app/components/performance-details/performance-details.component.less
+++ b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.less
@@ -40,7 +40,7 @@
width: 60px;
height: 10px;
transform: translate(-30px,0);
- background: url(../../../assets/images/tildeimg.png) no-repeat center center;
+ background: url(../../../../assets/images/tildeimg.png) no-repeat center center;
background-color: #fff;
}
.headerlist {
@@ -81,16 +81,16 @@
outline: none;
cursor: pointer;
background-color: #fff;
- background: url(../../../assets/images/open-close2.png) no-repeat center -22px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -22px;
&:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -66px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -66px;
}
}
.buttonActive {
transform: translate(-44px,-22px);
- background: url(../../../assets/images/open-close2.png) no-repeat center -0px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -0px;
&:hover {
- background: url(../../../assets/images/open-close2.png) no-repeat center -44px;
+ background: url(../../../../assets/images/open-close2.png) no-repeat center -44px;
}
}
h2.detailtitle {
diff --git a/usecaseui-portal/src/app/components/performance-details/performance-details.component.spec.ts b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.spec.ts
index 11f4abd2..11f4abd2 100644
--- a/usecaseui-portal/src/app/components/performance-details/performance-details.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.spec.ts
diff --git a/usecaseui-portal/src/app/components/performance-details/performance-details.component.ts b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.ts
index b8835739..9a601485 100644
--- a/usecaseui-portal/src/app/components/performance-details/performance-details.component.ts
+++ b/usecaseui-portal/src/app/shared/components/performance-details/performance-details.component.ts
@@ -14,8 +14,8 @@
limitations under the License.
*/
import { Component, OnInit, Input } from '@angular/core';
-import { slideUpDown } from '../../animates';
-import { HomesService } from '../../homes.service';
+import { slideUpDown } from '../../../animates';
+import { HomesService } from '../../../core/services/homes.service';
@Component({
selector: 'app-performance-details',
diff --git a/usecaseui-portal/src/app/fcaps/fcaps.component.less b/usecaseui-portal/src/app/shared/utils/utils.js
index e69de29b..e69de29b 100644
--- a/usecaseui-portal/src/app/fcaps/fcaps.component.less
+++ b/usecaseui-portal/src/app/shared/utils/utils.js
diff --git a/usecaseui-portal/src/app/test/test.component.html b/usecaseui-portal/src/app/test/test.component.html
new file mode 100644
index 00000000..200be4e6
--- /dev/null
+++ b/usecaseui-portal/src/app/test/test.component.html
@@ -0,0 +1,25 @@
+<div class="test-holder">
+ <h1>Mock data works!</h1>
+ <nz-table #basicTable [nzData]="tableData">
+ <thead>
+ <tr>
+ <th>Name</th>
+ <th>Phone</th>
+ <th>Address</th>
+ <th>Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let data of tableData">
+ <td>{{data.name}}</td>
+ <td>{{data.phone}}</td>
+ <td>{{data.address}}</td>
+ <td>
+ <a>Action 一 {{data.name}}</a>
+ <nz-divider nzType="vertical"></nz-divider>
+ <a>Delete</a>
+ </td>
+ </tr>
+ </tbody>
+ </nz-table>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/test/test.component.less b/usecaseui-portal/src/app/test/test.component.less
new file mode 100644
index 00000000..a44f4e7e
--- /dev/null
+++ b/usecaseui-portal/src/app/test/test.component.less
@@ -0,0 +1,3 @@
+.test-holder{
+ margin:20px;
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/test/test.component.spec.ts b/usecaseui-portal/src/app/test/test.component.spec.ts
new file mode 100644
index 00000000..ef4e38cb
--- /dev/null
+++ b/usecaseui-portal/src/app/test/test.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { TestComponent } from './test.component';
+
+describe('TestComponent', () => {
+ let component: TestComponent;
+ let fixture: ComponentFixture<TestComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ TestComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(TestComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/usecaseui-portal/src/app/test/test.component.ts b/usecaseui-portal/src/app/test/test.component.ts
new file mode 100644
index 00000000..30fdedc7
--- /dev/null
+++ b/usecaseui-portal/src/app/test/test.component.ts
@@ -0,0 +1,34 @@
+import { Component, OnInit } from '@angular/core';
+import { TextService } from '../core/services/text.service';
+
+@Component({
+ selector: 'app-test',
+ templateUrl: './test.component.html',
+ styleUrls: ['./test.component.less']
+})
+export class TestComponent implements OnInit {
+ constructor(
+ private TextService: TextService,
+ ) {
+ }
+
+ ngOnInit() {
+ this.getMockData();
+ this.getjsonData();
+
+ }
+ tableData = []
+ getMockData() {
+ this.TextService.getfakeData().subscribe(res => {
+ console.log(res, "======fake data")
+ this.tableData = res;
+ })
+ }
+ getjsonData() {
+ this.TextService.getjsonData().subscribe(res => {
+ console.log(res, "======json data")
+ })
+ }
+
+
+}
diff --git a/usecaseui-portal/src/app/alarm/alarm.component.css b/usecaseui-portal/src/app/views/alarm/alarm.component.css
index 37c2d936..25bf187e 100644
--- a/usecaseui-portal/src/app/alarm/alarm.component.css
+++ b/usecaseui-portal/src/app/views/alarm/alarm.component.css
@@ -134,16 +134,16 @@ hr {
outline: none;
cursor: pointer;
background-color: #fff;
- background: url(../../assets/images/open-close.png) no-repeat center -27px;
+ background: url(../../../assets/images/open-close.png) no-repeat center -27px;
}
.content .chart .open-close:hover {
- background: url(../../assets/images/open-close.png) no-repeat center -79px;
+ background: url(../../../assets/images/open-close.png) no-repeat center -79px;
}
.content .chart .open-close-active {
- background: url(../../assets/images/open-close.png) center -1px;
+ background: url(../../../assets/images/open-close.png) center -1px;
}
.content .chart .open-close-active:hover {
- background: url(../../assets/images/open-close.png) no-repeat center -53px;
+ background: url(../../../assets/images/open-close.png) no-repeat center -53px;
}
.content .tablelist {
background-color: #fff;
@@ -157,8 +157,8 @@ hr {
display: inline-block;
width: 16px;
height: 16px;
- background: url(../../assets/images/icon.png) center -113px;
+ background: url(../../../assets/images/icon.png) center -113px;
}
.content .tablelist .action .details:hover {
- background: url(../../assets/images/icon.png) no-repeat center -128px;
+ background: url(../../../assets/images/icon.png) no-repeat center -128px;
}
diff --git a/usecaseui-portal/src/app/alarm/alarm.component.html b/usecaseui-portal/src/app/views/alarm/alarm.component.html
index 312ec236..312ec236 100644
--- a/usecaseui-portal/src/app/alarm/alarm.component.html
+++ b/usecaseui-portal/src/app/views/alarm/alarm.component.html
diff --git a/usecaseui-portal/src/app/alarm/alarm.component.less b/usecaseui-portal/src/app/views/alarm/alarm.component.less
index 434470fc..92c9b7a4 100644
--- a/usecaseui-portal/src/app/alarm/alarm.component.less
+++ b/usecaseui-portal/src/app/views/alarm/alarm.component.less
@@ -207,15 +207,15 @@ hr {
outline: none;
cursor: pointer;
background-color: #fff;
- background: url(../../assets/images/open-close.png) no-repeat center -27px;
+ background: url(../../../assets/images/open-close.png) no-repeat center -27px;
&:hover {
- background: url(../../assets/images/open-close.png) no-repeat center -79px;
+ background: url(../../../assets/images/open-close.png) no-repeat center -79px;
}
}
.open-close-active {
- background: url(../../assets/images/open-close.png) center -1px;
+ background: url(../../../assets/images/open-close.png) center -1px;
&:hover {
- background: url(../../assets/images/open-close.png) no-repeat center -53px;
+ background: url(../../../assets/images/open-close.png) no-repeat center -53px;
}
}
}
@@ -229,9 +229,9 @@ hr {
display: inline-block;
width: 16px;
height: 16px;
- background: url(../../assets/images/icon.png) center -113px;
+ background: url(../../../assets/images/icon.png) center -113px;
&:hover {
- background: url(../../assets/images/icon.png) no-repeat center -128px;
+ background: url(../../../assets/images/icon.png) no-repeat center -128px;
}
}
}
diff --git a/usecaseui-portal/src/app/views/alarm/alarm.component.spec.ts b/usecaseui-portal/src/app/views/alarm/alarm.component.spec.ts
new file mode 100644
index 00000000..9f01597e
--- /dev/null
+++ b/usecaseui-portal/src/app/views/alarm/alarm.component.spec.ts
@@ -0,0 +1,66 @@
+import { async, ComponentFixture, TestBed, inject, fakeAsync } from '@angular/core/testing';
+import { NO_ERRORS_SCHEMA, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
+import { NgxEchartsModule } from 'ngx-echarts';
+import { NgZorroAntdModule } from 'ng-zorro-antd';
+import { TranslateModule, TranslateLoader, TranslateService, TranslateFakeLoader } from '@ngx-translate/core';
+import { HttpClientModule } from '@angular/common/http';
+import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { NZ_I18N, en_US } from 'ng-zorro-antd';
+
+import { AlarmComponent } from './alarm.component';
+import { DetailsComponent } from '../../shared/components/details/details.component';
+import { LineComponent } from '../../shared/components/charts/line/line.component';
+import { HomesService } from '../../core/services/homes.service';
+
+fdescribe('AlarmComponent', () => {
+ let component: AlarmComponent;
+ let fixture: ComponentFixture<AlarmComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [AlarmComponent, DetailsComponent, LineComponent],
+ imports: [TranslateModule.forRoot({ loader: { provide: TranslateLoader, useClass: TranslateFakeLoader } }),
+ NgZorroAntdModule.forRoot(),
+ NgxEchartsModule,
+ HttpClientModule,
+ BrowserAnimationsModule,
+ HttpClientTestingModule],
+ providers: [TranslateService, HomesService,
+ { provide: NZ_I18N, useValue: en_US }],
+ schemas: [
+ CUSTOM_ELEMENTS_SCHEMA,
+ NO_ERRORS_SCHEMA
+ ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(AlarmComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', inject([HttpTestingController, HomesService],
+ (httpMock: HttpTestingController, service: HomesService) => {
+ expect(component).toBeTruthy();
+ }));
+
+ it('expects service to fetch data with proper sorting',
+ inject([HttpTestingController, HomesService],
+ (httpMock: HttpTestingController, service: HomesService) => {
+ // We call the service
+ service.getqueryAllSourceNames().subscribe(data => {
+ expect(data.pageInfo.totalRecordCount).toBe(21);
+ expect(data.pageInfo.pageNumber).toBe(0);
+ expect(data.data.length).toBe(7);
+ });
+ // We set the expectations for the HttpClient mock
+ const req = httpMock.expectOne('http://.../data/contacts');
+ expect(req.request.method).toEqual('GET');
+ // Then we set the fake data to be returned by the mock
+ req.flush({ data: ...});
+ })
+ );
+});
diff --git a/usecaseui-portal/src/app/alarm/alarm.component.ts b/usecaseui-portal/src/app/views/alarm/alarm.component.ts
index 5d479020..32e3456f 100644
--- a/usecaseui-portal/src/app/alarm/alarm.component.ts
+++ b/usecaseui-portal/src/app/views/alarm/alarm.component.ts
@@ -14,8 +14,8 @@
limitations under the License.
*/
import { Component, OnInit, Input, Output, EventEmitter, HostBinding, Pipe, PipeTransform } from '@angular/core';
-import { HomesService } from '../homes.service';
-import { showHideAnimate, slideToRight } from '../animates';
+import { HomesService } from '../../core/services/homes.service';
+import { showHideAnimate, slideToRight } from '../../animates';
import { DatePipe } from '@angular/common';
@Component({
selector: 'app-alarm',
@@ -199,12 +199,12 @@ export class AlarmComponent implements OnInit {
alarmShow = false;
alarmChartData: Object;
alarmChartInit: Object = {
- height: 200,
+ height: 200,
option: {
legend: {
- icon: "circle",
- itemWidth:10,
- itemHeight:10,
+ icon: "circle",
+ itemWidth: 10,
+ itemHeight: 10,
bottom: '-5px',
data: ['Active', 'Fixed']
},
@@ -218,7 +218,7 @@ export class AlarmComponent implements OnInit {
start: 1,
height: 10,
end: 60,
- bottom:'9%'
+ bottom: '9%'
}
],
xAxis: {
@@ -241,7 +241,7 @@ export class AlarmComponent implements OnInit {
x2: 0,
y2: 1,
colorStops: [{
- offset: 0, color: '#FB7788'
+ offset: 0, color: '#FB7788'
}, {
offset: 1, color: '#FB93C2'
}],
@@ -278,7 +278,7 @@ export class AlarmComponent implements OnInit {
]
}
};
- sort(e){
+ sort(e) {
}
//Detail page title display
diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.css
index 81b727c8..efeec683 100644
--- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css
+++ b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.css
@@ -44,14 +44,14 @@ hr {
display: inline-block;
width: 35px;
height: 35px;
- background:url("../../assets/images/Return-icon.png") no-repeat!important;
+ background:url("../../../assets/images/Return-icon.png") no-repeat!important;
background-size: 100%!important;
border-radius:4px;
color: #D7D7D7;
cursor: pointer;
}
.model .back:hover{
- background: url("../../assets/images/Return-icon-active.png")!important;
+ background: url("../../../assets/images/Return-icon-active.png")!important;
background-size: 100%!important;
}
.top-title h3.title {
diff --git a/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.html b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.html
new file mode 100644
index 00000000..1fc9a500
--- /dev/null
+++ b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.html
@@ -0,0 +1,275 @@
+<!--
+ Copyright (C) 2019 CMCC, Inc. and others. All rights reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<div class="model creation-model">
+
+ <div class="top-title">
+ <h3 class="title fl">{{createParams.commonParams.templateType}}
+ {{"i18nTextDefine_InstanceCreation" | translate}} </h3>
+ <div class="fl" style="width: 20%">
+ <button class="submit" nz-button (click)="submit()"><span> {{"i18nTextDefine_Create" | translate}} </span>
+ </button>
+ <button class="back" nz-button (click)="goback()"></button>
+ </div>
+ </div>
+ <!-- chart -->
+ <div class="chart">
+ <span style="padding: 25px;display: inline-block;">
+ {{"i18nTextDefine_InstanceTopology" | translate}}
+ </span>
+ <div id="createChart">
+ <svg width="100%" height="100%">
+ <image id="domain" xlink:href="assets/images/domain1.png" style="width: 15%" x="40%" y="0" />
+ </svg>
+ </div>
+ </div>
+ <!--Template resolution : Three major items-->
+ <div class="creation">
+ <nz-tabset [nzTabPosition]="'top'" [nzShowPagination]=false [nzTabBarGutter]="'2'" [nzTabBarStyle]=tabBarStyle>
+ <nz-tab nzTitle="Service Info">
+ <div class="service-title" style="clear: both">
+ <span style="color: red;">*</span><span class="lable" style="width: 60px">name:</span>
+ <input nz-input [(ngModel)]="this.templateParameters.service['name']" required="required">
+ <span style="color: red;">*</span><span class="lable">description:</span>
+ <input nz-input [(ngModel)]="this.templateParameters.service['description']">
+ </div>
+ </nz-tab>
+ <nz-tab nzTitle="Sdwanvpnresource List">
+ <div class="sotnvpn clearfix">
+ <div style="clear: both;height: 10px">
+ <h3 style="float: left;color: #3C4F8C">sdwanVPN List</h3>
+ <button nz-button (click)="addSotnvpn()" class="addListBtn"
+ style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700"></i> {{"i18nTextDefine_Add" | translate}}
+ </button>
+ </div>
+ <nz-table #sotnVpnTable [nzData]="sotnVpnTableData" [nzShowPagination]="false" nzSize="small">
+ <thead>
+ <tr>
+ <th width="30%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.sotnInfo)">{{key.split("_")[1] || key}}</th>
+ <th width="10%"> Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let item of sotnVpnTable.data; let i = index; ">
+ <td>{{i+1}}</td>
+ <td *ngFor="let keys of getKeys(this.sotnInfo);let a = index;">
+ {{item[keys]}}
+ </td>
+ <td>
+ <span class="action" (click)="editSotnVpn(i+1)"><i
+ class="anticon anticon-edit"></i></span>
+ &nbsp;
+ <span class="action" (click)="deleteSotnVpn(i+1)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
+ </tbody>
+ </nz-table>
+ </div>
+ </nz-tab>
+ <nz-tab nzTitle="Sdwansiteresource List">
+ <div class="site">
+ <div style="height: 10px">
+ <h3 style="float: left;color: #3C4F8C">Site List</h3>
+ <button nz-button (click)="addSite()" class="addListBtn"
+ style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700"></i>{{"i18nTextDefine_Add" | translate}}
+ </button>
+ </div>
+ <nz-table #siteTable [nzData]="siteTableData" [nzShowPagination]="false" nzSize="small">
+ <thead>
+ <tr>
+ <th nzWidth="10%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.siteBaseData)">{{key.split("_")[1] || key}}</th>
+ <th nzWidth="20%" style="text-align: center"> Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let item of siteTable.data; let i = index; ">
+ <td>{{i+1}}</td>
+ <td *ngFor="let keys of getKeys(this.siteBaseData);let a = index;">
+ {{item[keys]}}
+ </td>
+ <td style="text-align: center">
+ <span class="action" (click)="editSite(i+1)"><i
+ class="anticon anticon-edit"></i></span>
+ &nbsp;
+ <span class="action" (click)="deleteSite(i+1)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
+ </tbody>
+ </nz-table>
+ </div>
+ </nz-tab>
+ </nz-tabset>
+ </div>
+ <!-- sotnVpnmodel -->
+ <div class="sotnnpnmodel" *ngIf="sotnVpnModelShow">
+ <h3> {{"i18nTextDefine_Base" | translate}} </h3>
+ <div class="inputs">
+ <ul>
+ <li *ngFor="let item of this.templateParameters.sotnvpn.sdwanvpnresource_list">
+ <span *ngIf="item.required"
+ style="color: red;margin: 0;margin-right: -5px;">*</span><span>{{item.lableShow}}:</span>
+ <input nz-input [(ngModel)]="sotnInfo[item.lable]"
+ title="{{item.description ? item.description:null }}"
+ required="{{item.required==true ? 'required':null}}"></li>
+ </ul>
+ </div>
+ <div>
+ <h3>Sdwansitelan List</h3>
+ <div>
+ <div style="width: 100%;text-align: right">
+ <button nz-button (click)="addSotnSdwansitelan()" class="addListBtn"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
+ </button>
+ </div>
+ <table class="siteWanTab">
+ <thead>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.sotnSdwansitelanParams)">{{key}}</th>
+ <th width="7%"> Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let item of sotnSdwansitelanData; let i = index;"
+ [ngClass]="{'tr-border':item.tabInputShowSdwansitelan ==false}">
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);let a = index;">
+ <span *ngIf="!tabInputShowSdwansitelan[i]"
+ title="{{this.templateParameters.sotnvpn.sdwansitelan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}">{{item[key]}}</span>
+ <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowSdwansitelan[i] "
+ title="{{this.templateParameters.sotnvpn.sdwansitelan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}"
+ required="{{item.required==true ? 'required':null}}">
+ </td>
+ <td>
+ <span class="action" (click)="editSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
+ class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
+ <span class="action" (click)="deleteSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="action">
+ <button nz-button nzType="primary"
+ (click)="addSotnVpn_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
+ <button nz-button nzType="primary" (click)="addSotnVpn_OK()">{{"i18nTextDefine_Add" | translate}}</button>
+ </div>
+ </div>
+ <!-- sitemodel -->
+ <div class="sitemodel" *ngIf="siteModelShow">
+ <h3> {{"i18nTextDefine_Base" | translate}} </h3>
+ <div class="inputs">
+ <ul>
+ <li *ngFor="let item of this.templateParameters.site.sdwansiteresource_list">
+ <span *ngIf="item.required"
+ style="color: red;margin: 0;margin-right: -5px;">*</span><span>{{item.lableShow}}:</span>
+ <input nz-input [(ngModel)]="siteBaseData[item.lable]" title="{{item.description}}"
+ required="{{item.required==true ? 'required':null}}"></li>
+ </ul>
+ </div>
+ <div>
+ <h3>Sdwandevice</h3>
+ <div>
+ <div style="width: 100%;text-align: right">
+ <button nz-button (click)="addSdwanDevice()" class="addListBtn"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
+ </button>
+ </div>
+ <table class="siteWanTab">
+ <thead>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.siteCpeData)">{{key}}</th>
+ <th width="7%"> Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let item of siteSdwanDevice; let i = index;"
+ [ngClass]="{'tr-border':item.tabInputShowDevice ==false}">
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);let a = index;">
+ <span *ngIf="!tabInputShowDevice[i]"
+ title="{{this.templateParameters.site.sdwandevice_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwandevice_list[a].description:null}}">{{item[key]}}</span>
+ <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowDevice[i] "
+ title="{{this.templateParameters.site.sdwandevice_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwandevice_list[a].description:null}}"
+ required="{{item.required==true ? 'required':null}}">
+ </td>
+ <td>
+ <span class="action" (click)="editDevicePort(i+1,item,siteSdwanDevice)"><i
+ class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
+ <span class="action" (click)="deleteDevicePort(i+1,item,siteSdwanDevice)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+ <h3>Sdwansitewan List</h3>
+ <div>
+ <div style="width: 100%;text-align: right">
+ <button nz-button (click)="addSiteWan()" class="addListBtn"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
+ </button>
+ </div>
+ <table class="siteWanTab">
+ <thead>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.siteWanParams)">{{key}}</th>
+ <th width="7%"> Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let item of siteWanData; let i = index;"
+ [ngClass]="{'tr-border':item.tabInputShowWanPort ==false}">
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);let a = index;">
+ <span *ngIf="!tabInputShowWanPort[i]"
+ title="{{this.templateParameters.site.sdwansitewan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}">{{item[key]}}</span>
+ <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowWanPort[i] "
+ title="{{this.templateParameters.site.sdwansitewan_list[a]['lable']==getKeys(item)[a] ? this.templateParameters.site.sdwansitewan_list[a].description:null}}"
+ required="{{item.required==true ? 'required':null}}">
+ </td>
+ <td>
+ <span class="action" (click)="editWanPort(i+1,item,siteWanData)"><i
+ class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
+ <span class="action" (click)="deleteWanPort(i+1,item,siteWanData)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="action">
+ <button nz-button nzType="primary"
+ (click)="addsite_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
+ <button nz-button nzType="primary" (click)="addsite_OK()">{{"i18nTextDefine_Add" | translate}}</button>
+ </div>
+ </div>
+ <div class="mask" *ngIf="siteModelShow || sotnVpnModelShow"></div>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.spec.ts b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.spec.ts
index 30402412..30402412 100644
--- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.spec.ts
+++ b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.spec.ts
diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.ts
index f4c1f94c..214afbb7 100644
--- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts
+++ b/usecaseui-portal/src/app/views/ccvpn-creation/ccvpn-creation.component.ts
@@ -16,7 +16,7 @@
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import * as d3 from 'd3';
import * as $ from 'jquery';
-import { MyhttpService } from '../myhttp.service';
+import { MyhttpService } from '../../core/services/myhttp.service';
import { el } from "@angular/platform-browser/testing/src/browser_util";
@Component({
@@ -135,7 +135,7 @@ export class CcvpnCreationComponent implements OnInit {
});
this.showTemParametersSotnVpn();
this.showTemParametersSite();
- console.log(this.bodyTemplateParameter,this.templateParameters)
+ console.log(this.bodyTemplateParameter, this.templateParameters)
}
//sotnVpn data, after combining the structure, rendering the template data to the page
@@ -223,7 +223,7 @@ export class CcvpnCreationComponent implements OnInit {
this.siteSdwanDevice.push(this.siteCpeData);
this.siteWanData.push(this.siteWanParams);
this.siteWanData.map((item, index) => {
- this.tabInputShowDevice[index] = true;
+ this.tabInputShowDevice[index] = true;
});
this.siteWanData.map((item, index) => {
this.tabInputShowWanPort[index] = true;
@@ -519,8 +519,8 @@ export class CcvpnCreationComponent implements OnInit {
siteImage = [];
tpImage = [];
imgmap = {
- '1': './assets/images/domain1.png',
- '2': './assets/images/site.png'
+ '1': '../../../assets/images/domain1.png',
+ '2': '../../../assets/images/site.png'
};
drawImage(sitelist) {
diff --git a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.css b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.css
index 72e59fa5..d5ad960d 100644
--- a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.css
+++ b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.css
@@ -58,14 +58,14 @@ hr {
display: inline-block;
width: 35px;
height: 35px;
- background:url("../../assets/images/Return-icon.png") no-repeat!important;
+ background:url("../../../assets/images/Return-icon.png") no-repeat!important;
background-size: 100%!important;
border-radius:4px;
color: #D7D7D7;
cursor: pointer;
}
.model .back:hover{
- background: url("../../assets/images/Return-icon-active.png")!important;
+ background: url("../../../assets/images/Return-icon-active.png")!important;
background-size: 100%!important;
}
.top-title h3.title {
diff --git a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.html b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.html
index ce556687..e2b5159e 100644
--- a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.html
+++ b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.html
@@ -19,7 +19,8 @@
<div class="top-title">
<h3 class="title fl">{{detailParams['service-instance-name']}} Instance Detail</h3>
<div class="fl" style="width: 20%">
- <button class="submit" nz-button (click)="submitUpdate()" *ngIf="upDateShow"><span> {{"i18nTextDefine_Update" | translate}} </span>
+ <button class="submit" nz-button (click)="submitUpdate()" *ngIf="upDateShow"><span>
+ {{"i18nTextDefine_Update" | translate}} </span>
</button>
<button class="back" nz-button (click)="goback()"></button>
</div>
@@ -31,142 +32,92 @@
<svg width="100%" height="100%" style="position: relative">
<!--local domain-->
<g class="clouds" *ngIf="vpns[0].domain!=''">
- <image xlink:href="./assets/images/domain1.png"
- id="domain1"
- width="14%"
- x="17%" y="14%"
- ></image>
+ <image xlink:href="assets/images/domain1.png" id="domain1" width="14%" x="17%" y="14%"></image>
<text dx="24%" dy="51%" style="font-size: 14px; fill:#ffffff;width: 20px;">
{{vpns[0].domain}}
</text>
</g>
<g *ngIf="vpns[1]" class="clouds">
- <image xlink:href="./assets/images/domain1.png"
- id="domain2"
- width="14%"
- x="40%" y="40%"
- ></image>
+ <image xlink:href="assets/images/domain1.png" id="domain2" width="14%" x="40%" y="40%"></image>
<text dx="43%" dy="19%" style="font-size: 14px; fill: #ffffff;width: 20px;">
{{vpns[1].domain}}
</text>
</g>
<!--domain1 tp-->
<g class="clouds" *ngIf="vpns[0].sitetpname!=''">
- <image xlink:href="./assets/images/tp.png"
- class="tp"
- id="tp1"
- height="16" width="20"
- x="21%" y="37%"
- ></image>
+ <image xlink:href="assets/images/tp.png" class="tp" id="tp1" height="16" width="20" x="21%" y="37%"></image>
<text dx="21%" dy="34%" style="font-size: 14px; fill: #666;width: 20px;">
{{vpns[0].sitetpname}}
</text>
</g>
<g class="clouds" *ngIf="vpns[0].othertpname!=''">
- <image xlink:href="./assets/images/tp.png"
- class="tp"
- id="tp2"
- height="16" width="20"
- x="29%" y="52%"
- ></image>
+ <image xlink:href="assets/images/tp.png" class="tp" id="tp2" height="16" width="20" x="29%" y="52%"></image>
<text dx="29%" dy="49%" style="font-size: 14px; fill: #666;width: 20px;">
{{vpns[0].othertpname}}
</text>
</g>
<!--domain2 tp-->
<g *ngIf="vpns[1]" class="clouds">
- <image xlink:href="./assets/images/tp.png"
- class="tp"
- id="tp3"
- height="16" width="20"
- x="44%" y="52%"
- ></image>
+ <image xlink:href="assets/images/tp.png" class="tp" id="tp3" height="16" width="20" x="44%" y="52%"></image>
<text dx="44%" dy="49%" style="font-size: 14px; fill: #666;width: 20px;">
{{vpns[1].othertpname}}
</text>
</g>
<g *ngIf="vpns[1]" class="clouds">
- <image xlink:href="./assets/images/tp.png"
- class="tp"
- id="tp4"
- height="16" width="20"
- x="51%" y="78%"
- ></image>
+ <image xlink:href="assets/images/tp.png" class="tp" id="tp4" height="16" width="20" x="51%" y="78%"></image>
<text dx="51%" dy="75%" style="font-size: 14px; fill: #666;width: 20px;">
{{vpns[1].sitetpname}}
</text>
</g>
<!--clouds-->
<g class="clouds">
- <image xlink:href="./assets/images/cloud-out.png"
- id="extent-cloud"
- width="14%"
- x="70%" y="11%"
- ></image>
+ <image xlink:href="assets/images/cloud-out.png" id="extent-cloud" width="14%" x="70%" y="11%"></image>
<text dx="75%" dy="39%" style="font-size: 14px; fill: #666;width: 20px;">
SP Partent Network
</text>
</g>
<!--local site-->
<g class="clouds" *ngIf="localSite.length>0">
- <image xlink:href="./assets/images/site.png"
- id="site1"
- height="59" width="100"
- x="6%" y="29%"
- ></image>
+ <image xlink:href="assets/images/site.png" id="site1" height="59" width="100" x="6%" y="29%"></image>
<text dx="8%" dy="26%" style="font-size: 14px; fill: #666;width: 20px;">
{{localSite[0] && localSite[0]["service-instance-name"]}}
</text>
</g>
<g *ngIf="!detailSites && localSite.length>0" class="clouds">
- <image xlink:href="./assets/images/site.png"
- id="site2"
- height="59" width="100"
- x="61%" y="70%"
- *ngIf="this.vpns.length == 2"
- ></image>
- <text dx="62%" dy="66%" style="font-size: 14px; fill: #666;width: 20px;" *ngIf="this.vpns.length == 2">
+ <image xlink:href="assets/images/site.png" id="site2" height="59" width="100" x="61%" y="70%"
+ *ngIf="this.vpns.length == 2"></image>
+ <text dx="62%" dy="66%" style="font-size: 14px; fill: #666;width: 20px;" *ngIf="this.vpns.length == 2">
{{ localSite[1] && localSite[1]["service-instance-name"]}}
</text>
- <image xlink:href="./assets/images/site.png"
- id="site2"
- height="59" width="100"
- x="40%" y="44%"
- *ngIf="this.vpns.length == 1"
- ></image>
- <text dx="41%" dy="40%" style="font-size: 14px; fill: #666;width: 20px;" *ngIf="this.vpns.length == 1">
+ <image xlink:href="assets/images/site.png" id="site2" height="59" width="100" x="40%" y="44%"
+ *ngIf="this.vpns.length == 1"></image>
+ <text dx="41%" dy="40%" style="font-size: 14px; fill: #666;width: 20px;" *ngIf="this.vpns.length == 1">
{{ localSite[1] && localSite[1]["service-instance-name"]}}
</text>
</g>
<!--cloud site-->
<g *ngIf="!detailSites && outerSite.length>0" class="clouds">
- <image xlink:href="./assets/images/site.png"
- id="site3"
- height="59" width="100"
- x="89%" y="10%"
- ></image>
+ <image xlink:href="assets/images/site.png" id="site3" height="59" width="100" x="89%" y="10%"></image>
<text dx="90%" dy="7%" style="font-size: 14px; fill: #666;width: 20px;">
{{outerSite[1] && outerSite[1]["service-instance-name"]}}
</text>
</g>
<g class="clouds" *ngIf="outerSite.length>0">
- <image xlink:href="./assets/images/site.png"
- id="site4"
- height="59" width="100"
- x="89%" y="40%"
- ></image>
+ <image xlink:href="assets/images/site.png" id="site4" height="59" width="100" x="89%" y="40%"></image>
<text dx="90%" dy="37%" style="font-size: 14px; fill: #666;width: 20px;">
{{outerSite[0] && outerSite[0]["service-instance-name"]}}
</text>
</g>
<!--tp,site,domain---line -->
- <line *ngFor="let item of detailLines" [attr.x1]="item.x1" [attr.y1]="item.y1" [attr.x2]="item.x2" [attr.y2]="item.y2" style="stroke:#2F8BF7; stroke-width:2"></line>
+ <line *ngFor="let item of detailLines" [attr.x1]="item.x1" [attr.y1]="item.y1" [attr.x2]="item.x2"
+ [attr.y2]="item.y2" style="stroke:#2F8BF7; stroke-width:2"></line>
<line *ngIf="detailSites" x1="45%" y1="30%" x2="75%" y2="20%" style="stroke:#FFC000; stroke-width:2"></line>
</svg>
</div>
</div>
<div class="detaildata">
- <nz-tabset [nzTabPosition]="'top'" [nzShowPagination]=false [nzTabBarGutter]="'2'" [nzTabBarStyle]=tabBarStyle [nzSelectedIndex]="upDateShow == false?0:1">
+ <nz-tabset [nzTabPosition]="'top'" [nzShowPagination]=false [nzTabBarGutter]="'2'" [nzTabBarStyle]=tabBarStyle
+ [nzSelectedIndex]="upDateShow == false?0:1">
<nz-tab nzTitle="Service Info">
<div class="service-title" style="clear: both">
<span class="lable" style="width: 60px">name:</span>
@@ -180,34 +131,33 @@
<div style="clear: both;height: 10px">
<h3 style="float: left;color: #3C4F8C">sdwanVPN List</h3>
<button nz-button *ngIf="upDateShow" (click)="updateSotnvpn()" class="addListBtn"
- style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700"></i> {{"i18nTextDefine_Add" | translate}}
+ style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700"></i> {{"i18nTextDefine_Add" | translate}}
</button>
</div>
- <nz-table #sotnVpnTable [nzData]="sotnVpnTableData"
- [nzShowPagination]="false"
- nzSize="small">
+ <nz-table #sotnVpnTable [nzData]="sotnVpnTableData" [nzShowPagination]="false" nzSize="small">
<thead>
- <tr>
- <th width="30%"> NO.</th>
- <th width="30%"> Name</th>
- <th width="30%"> topology</th>
- <th nzWidth="10%"> Action </th>
- </tr>
+ <tr>
+ <th width="30%"> NO.</th>
+ <th width="30%"> Name</th>
+ <th width="30%"> topology</th>
+ <th nzWidth="10%"> Action </th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of sotnVpnTable.data; let i = index; ">
- <td>{{i+1}}</td>
- <td>{{item.sdwanvpn_name}}</td>
- <td>{{item.sdwanvpn_topology}}</td>
- <td>
- <span class="action" (click)="showstonVpnDetail(i+1)"><i class="anticon anticon-bars"></i></span>
- <span class="action" (click)="editUpdateSotnVpn(i+1)" *ngIf="sotnvpnnum[i]"><i class="anticon anticon-edit"></i></span>
- &nbsp;
- <span class="action" (click)="deleteUpdateSotnVpn(i+1)" *ngIf="upDateShow"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
+ <tr *ngFor="let item of sotnVpnTable.data; let i = index; ">
+ <td>{{i+1}}</td>
+ <td>{{item.sdwanvpn_name}}</td>
+ <td>{{item.sdwanvpn_topology}}</td>
+ <td>
+ <span class="action" (click)="showstonVpnDetail(i+1)"><i class="anticon anticon-bars"></i></span>
+ <span class="action" (click)="editUpdateSotnVpn(i+1)" *ngIf="sotnvpnnum[i]"><i
+ class="anticon anticon-edit"></i></span>
+ &nbsp;
+ <span class="action" (click)="deleteUpdateSotnVpn(i+1)" *ngIf="upDateShow"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
</tbody>
</nz-table>
</div>
@@ -217,41 +167,41 @@
<div style="height: 10px">
<h3 style="float: left;color: #3C4F8C">Site List</h3>
<button nz-button *ngIf="upDateShow" (click)="updateSite()" class="addListBtn"
- style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700"></i>{{"i18nTextDefine_Add" | translate}}
+ style="float: right;margin-right: 10px"><i class="anticon anticon-plus"
+ style="transform: scale(1.2);font-weight: 700"></i>{{"i18nTextDefine_Add" | translate}}
</button>
</div>
- <nz-table #nzTable [nzData]="siteTableData"
- [nzShowPagination]="false"
- nzSize="small">
+ <nz-table #nzTable [nzData]="siteTableData" [nzShowPagination]="false" nzSize="small">
<thead>
- <tr>
- <th nzWidth="10%"> NO. </th>
- <th nzWidth="15%"> Name </th>
- <th nzWidth="20%"> Description </th>
- <th nzWidth="15%"> Post Code </th>
- <th nzWidth="15%"> Address </th>
- <th nzWidth="15%"> VLAN </th>
- <th nzWidth="10%"> Action </th>
- </tr>
+ <tr>
+ <th nzWidth="10%"> NO. </th>
+ <th nzWidth="15%"> Name </th>
+ <th nzWidth="20%"> Description </th>
+ <th nzWidth="15%"> Post Code </th>
+ <th nzWidth="15%"> Address </th>
+ <th nzWidth="15%"> VLAN </th>
+ <th nzWidth="10%"> Action </th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of nzTable.data; let i = index; ">
- <td>{{i+1}}</td>
- <td>{{item.sdwandevice_list[0].name}}</td>
- <td>{{item.sdwansite_description}}</td>
- <td>{{item.sdwansite_postcode}}</td>
- <td>{{item.sdwansite_address}}</td>
- <td>{{item.sdwansite_emails}}</td>
- <td>
- <span class="action" (click)="showSiteDetail(i+1)"><i class="anticon anticon-bars"></i></span>
- &nbsp;
- <span class="action" (click)="editUpdateSite(i+1)" *ngIf="sitenum[i]"><i class="anticon anticon-edit"></i></span>
- &nbsp;
- <span class="action" (click)="deleteUpdateSite(i+1)" *ngIf="upDateShow"><i class="anticon anticon-delete"></i></span>
- </td>
- </tr>
+ <tr *ngFor="let item of nzTable.data; let i = index; ">
+ <td>{{i+1}}</td>
+ <td>{{item.sdwandevice_list[0].name}}</td>
+ <td>{{item.sdwansite_description}}</td>
+ <td>{{item.sdwansite_postcode}}</td>
+ <td>{{item.sdwansite_address}}</td>
+ <td>{{item.sdwansite_emails}}</td>
+ <td>
+ <span class="action" (click)="showSiteDetail(i+1)"><i class="anticon anticon-bars"></i></span>
+ &nbsp;
+ <span class="action" (click)="editUpdateSite(i+1)" *ngIf="sitenum[i]"><i
+ class="anticon anticon-edit"></i></span>
+ &nbsp;
+ <span class="action" (click)="deleteUpdateSite(i+1)" *ngIf="upDateShow"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
</tbody>
</nz-table>
@@ -277,24 +227,25 @@
</div>
<table class="siteWanTab">
<thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.sotnSdwansitelanParams)">{{key}}</th>
- </tr>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.sotnSdwansitelanParams)">{{key}}</th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of sotnSdwansitelanData; let i = index;" class="tr-border">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);let a = index;">
- <span *ngIf="key != 'lable' ">{{item[key]}}</span>
- </td>
- </tr>
+ <tr *ngFor="let item of sotnSdwansitelanData; let i = index;" class="tr-border">
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);let a = index;">
+ <span *ngIf="key != 'lable' ">{{item[key]}}</span>
+ </td>
+ </tr>
</tbody>
</table>
</div>
</div>
<div class="action">
- <button nz-button nzType="primary" (click)="detailSotnVpn_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
+ <button nz-button nzType="primary"
+ (click)="detailSotnVpn_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
</div>
</div>
<!-- site model -->
@@ -305,7 +256,7 @@
<li *ngFor="let item of this.templateParameters.site.sdwansiteresource_list">
<span>{{item.lableShow}}:</span>
<span class="input-info">{{siteBaseData[item.lable]}}</span>
- </li>
+ </li>
</ul>
</div>
<div>
@@ -313,18 +264,18 @@
<div>
<table class="siteWanTab">
<thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.siteCpeData)">{{key}}</th>
- </tr>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.siteCpeData)">{{key}}</th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of siteSdwanDevice; let i = index;" class="tr-border">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);">
- <span *ngIf="key != 'lable' ">{{item[key]}}</span>
- </td>
- </tr>
+ <tr *ngFor="let item of siteSdwanDevice; let i = index;" class="tr-border">
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);">
+ <span *ngIf="key != 'lable' ">{{item[key]}}</span>
+ </td>
+ </tr>
</tbody>
</table>
</div>
@@ -332,18 +283,18 @@
<div>
<table class="siteWanTab">
<thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.siteWanParams)">{{key}}</th>
- </tr>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.siteWanParams)">{{key}}</th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of siteWanData; let i = index;" class="tr-border">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);">
- <span *ngIf="key != 'lable' ">{{item[key]}}</span>
- </td>
- </tr>
+ <tr *ngFor="let item of siteWanData; let i = index;" class="tr-border">
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);">
+ <span *ngIf="key != 'lable' ">{{item[key]}}</span>
+ </td>
+ </tr>
</tbody>
</table>
</div>
@@ -368,39 +319,40 @@
<div>
<div style="width: 100%;text-align: right">
<button nz-button (click)="updateSotnSdwansitelan()" class="addListBtn"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
+ style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
</button>
</div>
<table class="siteWanTab">
<thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.sotnSdwansitelanParams)">{{key}}</th>
- <th width="7%"> Action</th>
- </tr>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.sotnSdwansitelanParams)">{{key}}</th>
+ <th width="7%"> Action</th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of sotnSdwansitelanData; let i = index;"
+ <tr *ngFor="let item of sotnSdwansitelanData; let i = index;"
[ngClass]="{'tr-border':item.tabInputShowSdwansitelan ==false}">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);let a = index;">
- <span *ngIf="!tabInputShowSdwansitelan[i]">{{item[key]}}</span>
- <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowSdwansitelan[i] ">
- </td>
- <td>
- <span class="action" (click)="editUpdateSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
- class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
- <span class="action" (click)="deleteUpdateSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);let a = index;">
+ <span *ngIf="!tabInputShowSdwansitelan[i]">{{item[key]}}</span>
+ <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowSdwansitelan[i] ">
+ </td>
+ <td>
+ <span class="action" (click)="editUpdateSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
+ class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
+ <span class="action" (click)="deleteUpdateSotnSdwansitelan(i+1,item,sotnSdwansitelanData)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
</tbody>
</table>
</div>
</div>
<div class="action">
- <button nz-button nzType="primary" (click)="updateSotnVpn_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
+ <button nz-button nzType="primary"
+ (click)="updateSotnVpn_cancel()">{{"i18nTextDefine_Cancel" | translate}}</button>
<button nz-button nzType="primary" (click)="updateSotnVpn_OK()">{{"i18nTextDefine_Add" | translate}}</button>
</div>
</div>
@@ -428,32 +380,32 @@
<div>
<div style="width: 100%;text-align: right">
<button nz-button (click)="updateSiteWan()" class="addListBtn"><i class="anticon anticon-plus"
- style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
+ style="transform: scale(1.2);font-weight: 700;"></i>{{"i18nTextDefine_Add" | translate}}
</button>
</div>
<table class="siteWanTab">
<thead>
- <tr>
- <th width="4%"> NO.</th>
- <th *ngFor="let key of getKeys(this.siteWanParams)">{{key}}</th>
- <th width="7%"> Action</th>
- </tr>
+ <tr>
+ <th width="4%"> NO.</th>
+ <th *ngFor="let key of getKeys(this.siteWanParams)">{{key}}</th>
+ <th width="7%"> Action</th>
+ </tr>
</thead>
<tbody>
- <tr *ngFor="let item of siteWanData; let i = index;"
+ <tr *ngFor="let item of siteWanData; let i = index;"
[ngClass]="{'tr-border':item.tabInputShowWanPort ==false}">
- <td>{{i+1}}</td>
- <td *ngFor="let key of getKeys(item);let a = index;">
- <span *ngIf="!tabInputShowWanPort[i]">{{item[key]}}</span>
- <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowWanPort[i] ">
- </td>
- <td>
- <span class="action" (click)="editUpdateWanPort(i+1,item,siteWanData)"><i
- class="anticon anticon-edit" style="margin: 0 5px;"></i></span>
- <span class="action" (click)="deleteUpdateWanPort(i+1,item,siteWanData)"><i
- class="anticon anticon-delete"></i></span>
- </td>
- </tr>
+ <td>{{i+1}}</td>
+ <td *ngFor="let key of getKeys(item);let a = index;">
+ <span *ngIf="!tabInputShowWanPort[i]">{{item[key]}}</span>
+ <input nz-input [(ngModel)]="item[key]" *ngIf="tabInputShowWanPort[i] ">
+ </td>
+ <td>
+ <span class="action" (click)="editUpdateWanPort(i+1,item,siteWanData)"><i class="anticon anticon-edit"
+ style="margin: 0 5px;"></i></span>
+ <span class="action" (click)="deleteUpdateWanPort(i+1,item,siteWanData)"><i
+ class="anticon anticon-delete"></i></span>
+ </td>
+ </tr>
</tbody>
</table>
</div>
@@ -464,5 +416,6 @@
<button nz-button nzType="primary" (click)="updatesite_OK()">{{"i18nTextDefine_Add" | translate}}</button>
</div>
</div>
- <div class="mask" *ngIf="sotnVpnDetailShow || siteDetail || sotnVpnAddModelShow || siteAddModelShow" (click)="hiddenModel()"></div>
-</div>
+ <div class="mask" *ngIf="sotnVpnDetailShow || siteDetail || sotnVpnAddModelShow || siteAddModelShow"
+ (click)="hiddenModel()"></div>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.spec.ts b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.spec.ts
index 2d466531..3d112bf8 100644
--- a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.spec.ts
+++ b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.spec.ts
@@ -20,7 +20,7 @@ import { NZ_I18N, en_US } from 'ng-zorro-antd';
import { TranslateModule, TranslateLoader, TranslateService, TranslateFakeLoader } from '@ngx-translate/core';
import { CcvpnDetailComponent } from './ccvpn-detail.component';
-import { MyhttpService } from '../myhttp.service';
+import { MyhttpService } from '../../core/services/myhttp.service';
describe('CcvpnDetailComponent', () => {
let component: CcvpnDetailComponent;
diff --git a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.ts b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.ts
index 04931461..109c143b 100644
--- a/usecaseui-portal/src/app/ccvpn-detail/ccvpn-detail.component.ts
+++ b/usecaseui-portal/src/app/views/ccvpn-detail/ccvpn-detail.component.ts
@@ -14,7 +14,7 @@
limitations under the License.
*/
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
-import { MyhttpService } from '../myhttp.service';
+import { MyhttpService } from '../../core/services/myhttp.service';
import * as d3 from 'd3';
@Component({
@@ -136,7 +136,7 @@ export class CcvpnDetailComponent implements OnInit {
let sdwansiteresource_list = inputs[items][0];
Object.keys(sdwansiteresource_list).forEach((its) => {
let input2 = {};
- if(its.search("device") != -1 && sdwansiteresource_list[its] instanceof Array === true){
+ if (its.search("device") != -1 && sdwansiteresource_list[its] instanceof Array === true) {
this.templateParameters["site"]["sdwandevice_list"][0] = sdwansiteresource_list[its][0];
let sitelanKey = {};
sitelanKey[its] = [];
@@ -461,7 +461,7 @@ export class CcvpnDetailComponent implements OnInit {
"sdwansitewan_list": []
};
inputs = Object.assign(inputs, this.siteBaseData);
- inputs["sdwandevice_list"]= this.siteSdwanDevice.map((item) => {
+ inputs["sdwandevice_list"] = this.siteSdwanDevice.map((item) => {
return Object.assign({}, item);
});
inputs["sdwansitewan_list"] = this.siteWanData.map((item) => {
diff --git a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.css b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.css
index 5055205d..5055205d 100644
--- a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.css
+++ b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.css
diff --git a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.html b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.html
index 25687f67..25687f67 100644
--- a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.html
+++ b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.html
diff --git a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.spec.ts b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.spec.ts
index 9ec321c5..9ec321c5 100644
--- a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.spec.ts
+++ b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.spec.ts
diff --git a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.ts b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.ts
index 3de992fd..8a56d885 100644
--- a/usecaseui-portal/src/app/ccvpn-network/ccvpn-network.component.ts
+++ b/usecaseui-portal/src/app/views/ccvpn-network/ccvpn-network.component.ts
@@ -16,7 +16,7 @@
import { Component, EventEmitter, OnInit, Output } from '@angular/core';
import * as d3 from 'd3';
import * as $ from 'jquery';
-import { networkHttpservice } from '../networkHttpservice.service';
+import { networkHttpservice } from '../../core/services/networkHttpservice.service';
@Component({
selector: 'app-ccvpn-network',
@@ -131,9 +131,9 @@ export class CcvpnNetworkComponent implements OnInit {
charge = -300;
imgmap = {
- '1': './assets/images/cloud-county1.png',
- '2': './assets/images/tp.png',
- '3': './assets/images/cloud-out.png',
+ '1': 'assets/images/cloud-county1.png',
+ '2': 'assets/images/tp.png',
+ '3': 'assets/images/cloud-out.png',
};
tpoption = {
container: '#tpContainer',
diff --git a/usecaseui-portal/src/app/fcaps/fcaps.component.html b/usecaseui-portal/src/app/views/fcaps/fcaps.component.html
index edd2111a..edd2111a 100644
--- a/usecaseui-portal/src/app/fcaps/fcaps.component.html
+++ b/usecaseui-portal/src/app/views/fcaps/fcaps.component.html
diff --git a/usecaseui-portal/src/app/services/services.component.less b/usecaseui-portal/src/app/views/fcaps/fcaps.component.less
index e69de29b..e69de29b 100644
--- a/usecaseui-portal/src/app/services/services.component.less
+++ b/usecaseui-portal/src/app/views/fcaps/fcaps.component.less
diff --git a/usecaseui-portal/src/app/fcaps/fcaps.component.spec.ts b/usecaseui-portal/src/app/views/fcaps/fcaps.component.spec.ts
index 42bdbc0f..42bdbc0f 100644
--- a/usecaseui-portal/src/app/fcaps/fcaps.component.spec.ts
+++ b/usecaseui-portal/src/app/views/fcaps/fcaps.component.spec.ts
diff --git a/usecaseui-portal/src/app/fcaps/fcaps.component.ts b/usecaseui-portal/src/app/views/fcaps/fcaps.component.ts
index 7f9ab7f4..7f9ab7f4 100644
--- a/usecaseui-portal/src/app/fcaps/fcaps.component.ts
+++ b/usecaseui-portal/src/app/views/fcaps/fcaps.component.ts
diff --git a/usecaseui-portal/src/app/home/home.component.css b/usecaseui-portal/src/app/views/home/home.component.css
index 41b3f5fe..41b3f5fe 100644
--- a/usecaseui-portal/src/app/home/home.component.css
+++ b/usecaseui-portal/src/app/views/home/home.component.css
diff --git a/usecaseui-portal/src/app/home/home.component.html b/usecaseui-portal/src/app/views/home/home.component.html
index 4126f241..4126f241 100644
--- a/usecaseui-portal/src/app/home/home.component.html
+++ b/usecaseui-portal/src/app/views/home/home.component.html
diff --git a/usecaseui-portal/src/app/home/home.component.less b/usecaseui-portal/src/app/views/home/home.component.less
index 9e768cf7..9e768cf7 100644
--- a/usecaseui-portal/src/app/home/home.component.less
+++ b/usecaseui-portal/src/app/views/home/home.component.less
diff --git a/usecaseui-portal/src/app/home/home.component.spec.ts b/usecaseui-portal/src/app/views/home/home.component.spec.ts
index 9e463e65..5456a323 100644
--- a/usecaseui-portal/src/app/home/home.component.spec.ts
+++ b/usecaseui-portal/src/app/views/home/home.component.spec.ts
@@ -7,10 +7,10 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterTestingModule } from '@angular/router/testing';
import { HomeComponent } from './home.component';
-import { PieComponent } from '../components/charts/pie/pie.component';
-import { BarComponent } from '../components/charts/bar/bar.component';
-import { LineComponent } from '../components/charts/line/line.component';
-import { HomesService } from '../homes.service';
+import { PieComponent } from '../../shared/components/charts/pie/pie.component';
+import { BarComponent } from '../../shared/components/charts/bar/bar.component';
+import { LineComponent } from '../../shared/components/charts/line/line.component';
+import { HomesService } from '../../core/services/homes.service';
describe('HomeComponent', () => {
let component: HomeComponent;
diff --git a/usecaseui-portal/src/app/home/home.component.ts b/usecaseui-portal/src/app/views/home/home.component.ts
index 2b1f6765..11a0f1a8 100644
--- a/usecaseui-portal/src/app/home/home.component.ts
+++ b/usecaseui-portal/src/app/views/home/home.component.ts
@@ -14,8 +14,8 @@
limitations under the License.
*/
import { Component, OnInit, Input, Output, EventEmitter, HostBinding } from '@angular/core';
-import { HomesService } from '../homes.service';
-import { slideToRight } from '../animates';
+import { HomesService } from '../../core/services/homes.service';
+import { slideToRight } from '../../animates';
import { TranslateService } from "@ngx-translate/core";
import { Router } from '@angular/router';
@@ -99,7 +99,7 @@ export class HomeComponent implements OnInit {
getHomeServiceData() {
this.myhttp.getHomeServiceData()
.subscribe(
- (data) => {
+ (data) => {
this.serviceNumber = data.serviceTotalNum;
if (this.serviceNumber > 0) {
this.serviceChart = true;
@@ -108,10 +108,10 @@ export class HomeComponent implements OnInit {
}
this.serviceChartData = {
series: [{ data: data.customerServiceList }]
- };
+ };
},
(err) => {
- console.log(err);
+ console.error(err);
}
)
}
@@ -121,134 +121,134 @@ export class HomeComponent implements OnInit {
VMAlarmChartInit: Object = {
height: 180,
option: {
- tooltip: {
- trigger: 'item',
- formatter: '{b}\n{c},{d}%'
- },
- color: [
- {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#FB93C2' // 0% color
- }, {
- offset: 1, color: '#FB7788' // 100% color
- }],
- globalCoord: false
- }, {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#A6BFE4' // 0% color
- }, {
- offset: 1, color: '#7A8BAE' // 100% color
- }],
- globalCoord: false
- }],
- series: [{
- name: "告警信æ¯",
- radius: ['50%', '70%'],
- center: ['50%', '45%'],
- label: {
- normal: {
- show: false,
- },
- emphasis: {
- show: true,
- formatter: '{b}\n{c},{d}%',
- color: "#3C4F8C"
- }
- },
-
- }]
- }
- };
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b}\n{c},{d}%'
+ },
+ color: [
+ {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#FB93C2' // 0% color
+ }, {
+ offset: 1, color: '#FB7788' // 100% color
+ }],
+ globalCoord: false
+ }, {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#A6BFE4' // 0% color
+ }, {
+ offset: 1, color: '#7A8BAE' // 100% color
+ }],
+ globalCoord: false
+ }],
+ series: [{
+ name: "告警信æ¯",
+ radius: ['50%', '70%'],
+ center: ['50%', '45%'],
+ label: {
+ normal: {
+ show: false,
+ },
+ emphasis: {
+ show: true,
+ formatter: '{b}\n{c},{d}%',
+ color: "#3C4F8C"
+ }
+ },
+
+ }]
+ }
+ };
// alarm bar
alarmChartData: Object;
alarmChartInit: Object = {
height: 180,
option: {
- tooltip: {
- trigger: 'item',
- formatter: '{b}\n{c},{d}%'
- },
- legend: {
- orient: 'vertical',
- left: '0px',
- bottom: '0px',
- itemWidth: 10,
- itemHeight: 10,
- textStyle: {
- color: "#3C4F8C"
- },
- data: ['Active', 'Fixed']
- },
- color: [
- {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#FB93C2' // 0% color
- }, {
- offset: 1, color: '#FB7788' // 100% color
- }],
- globalCoord: false
- }, {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#A6BFE4' // 0%
- }, {
- offset: 1, color: '#7A8BAE' // 100%
- }],
- globalCoord: false
- }],
- series: [{
- name: "告警信æ¯",
- radius: '55%',
- center: ['50%', '45%'],
- label: {
- normal: {
- show: false,
- },
- emphasis: {
- show: true,
- formatter: '{b}\n{c},{d}%',
- color: "#3C4F8C"
- }
- }
- }]
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b}\n{c},{d}%'
+ },
+ legend: {
+ orient: 'vertical',
+ left: '0px',
+ bottom: '0px',
+ itemWidth: 10,
+ itemHeight: 10,
+ textStyle: {
+ color: "#3C4F8C"
+ },
+ data: ['Active', 'Fixed']
+ },
+ color: [
+ {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#FB93C2' // 0% color
+ }, {
+ offset: 1, color: '#FB7788' // 100% color
+ }],
+ globalCoord: false
+ }, {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#A6BFE4' // 0%
+ }, {
+ offset: 1, color: '#7A8BAE' // 100%
+ }],
+ globalCoord: false
+ }],
+ series: [{
+ name: "告警信æ¯",
+ radius: '55%',
+ center: ['50%', '45%'],
+ label: {
+ normal: {
+ show: false,
+ },
+ emphasis: {
+ show: true,
+ formatter: '{b}\n{c},{d}%',
+ color: "#3C4F8C"
+ }
}
- };
-
- getHomeAlarmData() {
- this.myhttp.getHomeAlarmData()
- .subscribe((data) => {
- this.alarmChartData = {
- series: [{
- data: [{name: "Active", value: data[0]}, {name: "Fixed", value: data[1]}]
- }]
- };
- this.VMAlarmChartData = {
- series: [{
- data: [{name: "Active", value: data[0]}, {name: "Fixed", value: data[1]}]
- }]
- };
- })
+ }]
}
+ };
+
+ getHomeAlarmData() {
+ this.myhttp.getHomeAlarmData()
+ .subscribe((data) => {
+ this.alarmChartData = {
+ series: [{
+ data: [{ name: "Active", value: data[0] }, { name: "Fixed", value: data[1] }]
+ }]
+ };
+ this.VMAlarmChartData = {
+ series: [{
+ data: [{ name: "Active", value: data[0] }, { name: "Fixed", value: data[1] }]
+ }]
+ };
+ })
+ }
// alarm line
alarmLineChartData: Object;
@@ -393,7 +393,7 @@ export class HomeComponent implements OnInit {
]
}
}, (err) => {
- console.log(err);
+ console.error(err);
})
}
@@ -427,7 +427,7 @@ export class HomeComponent implements OnInit {
]
}
}, (err) => {
- console.log(err);
+ console.error(err);
})
}
@@ -461,14 +461,14 @@ export class HomeComponent implements OnInit {
]
}
}, (err) => {
- console.log(err);
+ console.error(err);
})
}
// sourceName
sourceNameList = ['performanceNameOne'];
sourceNameSelected = null;
-
+
listSortMasters = null;
getListSortMasters() {
@@ -477,7 +477,7 @@ export class HomeComponent implements OnInit {
}
this.myhttp.getListSortMasters()
.subscribe((data) => {
- this.listSortMasters = JSON.stringify(data);
+ this.listSortMasters = JSON.stringify(data);
sessionStorage.setItem('listSortMasters', this.listSortMasters)
})
}
@@ -489,7 +489,7 @@ export class HomeComponent implements OnInit {
})
}
sourceNameSelect(item) {
- if (this.sourceNameSelected != item) {
+ if (this.sourceNameSelected != item) {
this.sourceNameSelected = item;
this.getHomeAlarmChartData()
}
@@ -503,7 +503,7 @@ export class HomeComponent implements OnInit {
endTime: nowTime,
format: "day"
}
-
+
this.myhttp.getHomeAlarmChartData(obj)
.subscribe((data) => {
this.alarmLineChartData = {
@@ -517,7 +517,7 @@ export class HomeComponent implements OnInit {
]
}
}, (err) => {
- console.log(err);
+ console.error(err);
})
}
diff --git a/usecaseui-portal/src/app/management/management.component.html b/usecaseui-portal/src/app/views/management/management.component.html
index 2efa3f8e..c96f0253 100644
--- a/usecaseui-portal/src/app/management/management.component.html
+++ b/usecaseui-portal/src/app/views/management/management.component.html
@@ -14,23 +14,26 @@
limitations under the License.
-->
<div class="content" style="padding: 20px 20px;height: 100vh">
- <div class="management" *ngIf="nocuster" >
+ <div class="management" *ngIf="nocuster">
<div class="title">
<p> {{"i18nTextDefine_Create_initial_customer" | translate}} </p>
<span> {{"i18nTextDefine_Customer_not_in_ONAP" | translate}} </span>
<span> {{"i18nTextDefine_CreateCustomer" | translate}} </span>
- <img src="./assets/images/customer01.png" alt="">
- <input nz-input placeholder=" {{'i18nTextDefine_Input_customerName' | translate}} " nzSize="large" style="height: 50px" [(ngModel)]="firstCustomer">
+ <img src="../../../assets/images/customer01.png" alt="">
+ <input nz-input placeholder=" {{'i18nTextDefine_Input_customerName' | translate}} " nzSize="large"
+ style="height: 50px" [(ngModel)]="firstCustomer">
<div class="action">
- <button nz-button nzType="primary" class="cancel" (click) = "clearCustomerInput()"> {{"i18nTextDefine_Cancel" | translate}} </button>
- <button nz-button nzType="primary" class="add" (click) = "createNewCustomer(firstCustomer)"> {{"i18nTextDefine_Add" | translate}} </button>
+ <button nz-button nzType="primary" class="cancel" (click)="clearCustomerInput()">
+ {{"i18nTextDefine_Cancel" | translate}} </button>
+ <button nz-button nzType="primary" class="add" (click)="createNewCustomer(firstCustomer)">
+ {{"i18nTextDefine_Add" | translate}} </button>
</div>
</div>
<div class="image">
- <img src="./assets/images/customer02.png" alt="">
+ <img src="../../../assets/images/customer02.png" alt="">
</div>
</div>
<div *ngIf="!nocuster" style="height: 100%">
<app-customer></app-customer>
</div>
-</div>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/management/management.component.less b/usecaseui-portal/src/app/views/management/management.component.less
index 5a3a0f42..5a3a0f42 100644
--- a/usecaseui-portal/src/app/management/management.component.less
+++ b/usecaseui-portal/src/app/views/management/management.component.less
diff --git a/usecaseui-portal/src/app/management/management.component.spec.ts b/usecaseui-portal/src/app/views/management/management.component.spec.ts
index f6152432..f6152432 100644
--- a/usecaseui-portal/src/app/management/management.component.spec.ts
+++ b/usecaseui-portal/src/app/views/management/management.component.spec.ts
diff --git a/usecaseui-portal/src/app/management/management.component.ts b/usecaseui-portal/src/app/views/management/management.component.ts
index 0a5bfd2e..8b3afea7 100644
--- a/usecaseui-portal/src/app/management/management.component.ts
+++ b/usecaseui-portal/src/app/views/management/management.component.ts
@@ -14,8 +14,8 @@
limitations under the License.
*/
import { Component, OnInit , HostBinding} from '@angular/core';
-import { showHideAnimate, slideToRight } from '../animates';
-import { ManagemencsService } from '../managemencs.service';
+import { showHideAnimate, slideToRight } from '../../animates';
+import { ManagemencsService } from '../../core/services/managemencs.service';
@Component({
selector: 'app-management',
diff --git a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.css b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.css
index e9631957..e9631957 100644
--- a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.css
+++ b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.css
diff --git a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.html b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.html
index 06d84353..06d84353 100644
--- a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.html
+++ b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.html
diff --git a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.less b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.less
index 31623dcf..31623dcf 100644
--- a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.less
+++ b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.less
diff --git a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.spec.ts b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.spec.ts
index b66b2ea0..b66b2ea0 100644
--- a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.spec.ts
+++ b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.spec.ts
diff --git a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.ts b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.ts
index 73e77c52..c179cdbb 100644
--- a/usecaseui-portal/src/app/performance/performance-vm/performance-vm.component.ts
+++ b/usecaseui-portal/src/app/views/performance/performance-vm/performance-vm.component.ts
@@ -1,5 +1,5 @@
import { Component, OnInit, HostBinding } from '@angular/core';
-import { slideToRight, showHideAnimate } from '../../animates';
+import { slideToRight, showHideAnimate } from '../../../animates';
@Component({
selector: 'app-performance-vm',
diff --git a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.css b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.css
index 269af7a9..269af7a9 100644
--- a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.css
+++ b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.css
diff --git a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.html b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.html
index f151ef33..9e0e2ed6 100644
--- a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.html
+++ b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.html
@@ -14,9 +14,9 @@
limitations under the License.
-->
<h3 class="title">
- <span (click)="performanceShow()" style="cursor:pointer;" *ngIf="graphicshow" >Performance VNF</span>
- <span (click)="graphicShow()" *ngIf="graphicshow">/ Graphic list </span>
- <span *ngIf="detailshow">/ Details </span>
+ <span (click)="performanceShow()" style="cursor:pointer;" *ngIf="graphicshow">Performance VNF</span>
+ <span (click)="graphicShow()" *ngIf="graphicshow">/ Graphic list </span>
+ <span *ngIf="detailshow">/ Details </span>
</h3>
<div class="select" [@showHideAnimate]="state">
<span>Source Name: </span>
@@ -28,33 +28,36 @@
</li>
</ul>
</nz-dropdown>
- <button class="search" nz-button [nzType]="'primary'"><i class="anticon anticon-search"></i><span>Search</span></button>
+ <button class="search" nz-button [nzType]="'primary'"><i
+ class="anticon anticon-search"></i><span>Search</span></button>
<!-- <button class="search" nz-button [nzType]="'primary'" (click)="getperformanceSsourceNames()"><i class="anticon anticon-search"></i><span>Search</span></button> -->
</div>
<div class="content" [@showHideAnimate]="state">
<div class="vnfs">
<div class="vnf" *ngFor="let item of totalRecords">
- <img src="../../../assets/images/vnf01.png" title="VNF" (click)="graphicShow2(item)">
+ <img src="../../../../assets/images/vnf01.png" title="VNF" (click)="graphicShow2(item)">
<!-- <h3>{{item.name}}</h3> -->
- <div class="intro">
- {{item.name}}
+ <div class="intro">
+ {{item.name}}
</div>
</div>
<div class="vnf" *ngFor="let item of totalpnfs">
- <img src="../../../assets/images/pnf01.png" alt="PNF" (click)="graphicShow2(item)">
- <div class="intro">
+ <img src="../../../../assets/images/pnf01.png" alt="PNF" (click)="graphicShow2(item)">
+ <div class="intro">
{{item.name}}
</div>
</div>
- <div class="empty" *ngFor="let empty of emptys"></div>
+ <div class="empty" *ngFor="let empty of emptys"></div>
</div>
<div class="pages">
- <nz-pagination [(nzPageIndex)]="currentPage" [nzTotal]="vnfsdataTotal" [nzSize]="'small'" [(nzPageSize)]="pageSize" [nzPageSizeOptions]="[10,15,20,25,30]" nzShowSizeChanger nzShowQuickJumper></nz-pagination>
+ <nz-pagination [(nzPageIndex)]="currentPage" [nzTotal]="vnfsdataTotal" [nzSize]="'small'"
+ [(nzPageSize)]="pageSize" [nzPageSizeOptions]="[10,15,20,25,30]" nzShowSizeChanger nzShowQuickJumper>
+ </nz-pagination>
</div>
</div>
<div [@showHideAnimate]="state2">
- <app-graphiclist (detailData)="detailShow($event)" [vnfname] = "vnfname"></app-graphiclist>
+ <app-graphiclist (detailData)="detailShow($event)" [vnfname]="vnfname"></app-graphiclist>
</div>
<div [@showHideAnimate]="state3">
<app-performance-details [detailId]="detailId"></app-performance-details>
-</div>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.less b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.less
index cc4e1ca5..cc4e1ca5 100644
--- a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.less
+++ b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.less
diff --git a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.spec.ts b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.spec.ts
index 18526cdd..25bcfd50 100644
--- a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.spec.ts
+++ b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.spec.ts
@@ -7,10 +7,10 @@ import { NZ_I18N, en_US } from 'ng-zorro-antd';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { PerformanceDetailsComponent } from '../../components/performance-details/performance-details.component';
-import { GraphiclistComponent } from '../../components/graphiclist/graphiclist.component';
+import { PerformanceDetailsComponent } from '../../../shared/components/performance-details/performance-details.component';
+import { GraphiclistComponent } from '../../../shared/components/graphiclist/graphiclist.component';
import { PerformanceVnfComponent } from './performance-vnf.component';
-import { HomesService } from '../../homes.service';
+import { HomesService } from '../../../core/services/homes.service';
describe('PerformanceVnfComponent', () => {
let component: PerformanceVnfComponent;
diff --git a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.ts b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.ts
index 05719155..96b5404c 100644
--- a/usecaseui-portal/src/app/performance/performance-vnf/performance-vnf.component.ts
+++ b/usecaseui-portal/src/app/views/performance/performance-vnf/performance-vnf.component.ts
@@ -14,8 +14,8 @@
limitations under the License.
*/
import { Component, OnInit, HostBinding } from '@angular/core';
-import { slideToRight, showHideAnimate } from '../../animates';
-import { HomesService } from '../../homes.service';
+import { slideToRight, showHideAnimate } from '../../../animates';
+import { HomesService } from '../../../core/services/homes.service';
@Component({
selector: 'app-performance-vnf',
@@ -43,22 +43,22 @@ export class PerformanceVnfComponent implements OnInit {
let _this = this;
setTimeout(function(){
_this.totalRecords = [
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"}
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"}
];
_this.totalpnfs = [
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"},
- {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement¡­",text:"oahgieango"}
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"},
+ {name:"Mfvs_MMEManagedElem entdElementMfvs_MMEM anagedELement��",text:"oahgieango"}
]
_this.emptys = new Array(12-_this.totalRecords.length);
},300)
diff --git a/usecaseui-portal/src/app/performance/performance.component.css b/usecaseui-portal/src/app/views/performance/performance.component.css
index f2169538..f2169538 100644
--- a/usecaseui-portal/src/app/performance/performance.component.css
+++ b/usecaseui-portal/src/app/views/performance/performance.component.css
diff --git a/usecaseui-portal/src/app/performance/performance.component.html b/usecaseui-portal/src/app/views/performance/performance.component.html
index cd92b659..cd92b659 100644
--- a/usecaseui-portal/src/app/performance/performance.component.html
+++ b/usecaseui-portal/src/app/views/performance/performance.component.html
diff --git a/usecaseui-portal/src/app/performance/performance.component.less b/usecaseui-portal/src/app/views/performance/performance.component.less
index 2b1949a5..2b1949a5 100644
--- a/usecaseui-portal/src/app/performance/performance.component.less
+++ b/usecaseui-portal/src/app/views/performance/performance.component.less
diff --git a/usecaseui-portal/src/app/performance/performance.component.spec.ts b/usecaseui-portal/src/app/views/performance/performance.component.spec.ts
index 1bdc919d..1bdc919d 100644
--- a/usecaseui-portal/src/app/performance/performance.component.spec.ts
+++ b/usecaseui-portal/src/app/views/performance/performance.component.spec.ts
diff --git a/usecaseui-portal/src/app/performance/performance.component.ts b/usecaseui-portal/src/app/views/performance/performance.component.ts
index 12405e9e..12405e9e 100644
--- a/usecaseui-portal/src/app/performance/performance.component.ts
+++ b/usecaseui-portal/src/app/views/performance/performance.component.ts
diff --git a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.css b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css
index 4e80750c..4e80750c 100644
--- a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.css
+++ b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css
diff --git a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.html b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html
index 70ee81c0..70ee81c0 100644
--- a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.html
+++ b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html
diff --git a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.less b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less
index c31409c9..c31409c9 100644
--- a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.less
+++ b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less
diff --git a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts
index 0e49f656..0e49f656 100644
--- a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts
+++ b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts
diff --git a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.ts b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts
index dd2e7dd7..4899aed8 100644
--- a/usecaseui-portal/src/app/services/onboard-vnf-vm/onboard-vnf-vm.component.ts
+++ b/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts
@@ -17,13 +17,11 @@ import { HttpClient, HttpRequest, HttpResponse } from '@angular/common/http';
import { Component, OnInit, HostBinding, TemplateRef } from '@angular/core';
import { NzNotificationService } from 'ng-zorro-antd';
// import { MyhttpService } from '../../myhttp.service';
-import { onboardService } from '../../onboard.service';
-import { slideToRight } from '../../animates';
+import { onboardService } from '../../../core/services/onboard.service';
+import { slideToRight } from '../../../animates';
import { NzMessageService, UploadFile, NzModalRef, NzModalService } from 'ng-zorro-antd';
import { filter } from 'rxjs/operators';
import { Title } from '@angular/platform-browser';
-import * as $ from 'jquery';
-
@Component({
selector: 'app-onboard-vnf-vm',
@@ -109,12 +107,12 @@ export class OnboardVnfVmComponent implements OnInit {
this.notification.template(template);
}
notificationSuccess(notificationModel) {
- this.notificationAttributes.imgPath = "../../../assets/images/execute-success.png";
+ this.notificationAttributes.imgPath = "../../../../assets/images/execute-success.png";
this.notificationAttributes.status = "Success";
this.notificationModelShow(notificationModel);
}
notificationFailed(notificationModel) {
- this.notificationAttributes.imgPath = "../../../assets/images/execute-faild.png";
+ this.notificationAttributes.imgPath = "../../../../assets/images/execute-faild.png";
this.notificationAttributes.status = "Failed";
this.notificationModelShow(notificationModel);
}
diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.css b/usecaseui-portal/src/app/views/services/services-list/services-list.component.css
index 0a7f92eb..0a7f92eb 100644
--- a/usecaseui-portal/src/app/services/services-list/services-list.component.css
+++ b/usecaseui-portal/src/app/views/services/services-list/services-list.component.css
diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.html b/usecaseui-portal/src/app/views/services/services-list/services-list.component.html
index d47b342c..6f6d8f74 100644
--- a/usecaseui-portal/src/app/services/services-list/services-list.component.html
+++ b/usecaseui-portal/src/app/views/services/services-list/services-list.component.html
@@ -15,66 +15,58 @@
-->
<div class="action ant-tabs-bar">
- <span>
- <i class="icon">
- <img src="../../../assets/images/customer.png" alt="">
- </i>
- {{"i18nTextDefine_Customer" | translate}} :
- </span>
+ <span><i style="margin-right: 10px"><img src="assets/images/customer.png" alt=""></i>
+ {{"i18nTextDefine_Customer" | translate}} : </span>
<nz-dropdown [nzTrigger]="'click'" [nzPlacement]="'bottomLeft'">
<button nz-button nz-dropdown><span>{{customerSelected.name}}</span> <i class="anticon anticon-down"></i>
</button>
- <ul nz-menu>
+ <ul nz-menu style="min-height:40px;max-height: 200px; overflow: auto;">
<li nz-menu-item (click)="choseCustomer(item)" *ngFor="let item of customerList">
- <a title="{{item.name}}">{{item.name}}</a>
+ <a title="{{item.name}}"
+ style="max-width: 165px; overflow: hidden; text-overflow: ellipsis;">{{item.name}}</a>
</li>
</ul>
</nz-dropdown>
- <span>
- <i class="icon">
- <img src="../../../assets/images/service-type.png"alt="">
- </i>
- {{"i18nTextDefine_ServiceType" | translate}} :
- </span>
+ <span style="margin-left:40px"><i style="margin-right: 10px"><img src="assets/images/service-type.png" alt=""></i>
+ {{"i18nTextDefine_ServiceType" | translate}} : </span>
<nz-dropdown [nzTrigger]="'click'" [nzPlacement]="'bottomLeft'">
<button nz-button nz-dropdown><span>{{serviceTypeSelected.name}}</span> <i class="anticon anticon-down"></i>
</button>
- <ul nz-menu>
+ <ul nz-menu style="min-height:40px;max-height: 200px; overflow: auto;">
<li nz-menu-item (click)="choseServiceType(item)" *ngFor="let item of serviceTypeList">
- <a title="{{item.name}}">{{item.name}}</a>
+ <a title="{{item.name}}"
+ style="max-width: 165px; overflow: hidden; text-overflow: ellipsis;">{{item.name}}</a>
</li>
</ul>
</nz-dropdown>
- <button class="create" nz-button [nzType]="'primary'" (click)="createModal()">
- <i *ngIf="width>1200" class="anticon anticon-plus"></i>
- <span> {{"i18nTextDefine_Create" | translate}} </span>
+ <button class="create" nz-button [nzType]="'primary'" (click)="createModal()"><i class="anticon anticon-plus"
+ style="transform: scale(1.5);line-height: 15px;margin-right: 5px;"></i><span>
+ {{"i18nTextDefine_Create" | translate}} </span>
</button>
<nz-modal nzWidth="428" [(nzVisible)]="isVisible" nzTitle=" {{'i18nTextDefine_ServiceCreation' | translate}} "
- (nzOnCancel)="handleCancel()"
- (nzOnOk)="handleOk()" nzClassName="serviceCreationModel"
- nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
- nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
+ (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" nzClassName="serviceCreationModel"
+ nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} " nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
<div class="select-list">
<span style="display:inline-block;"> {{"i18nTextDefine_Customer" | translate}} : </span>
<nz-select style="width: 176px;float: right;" [(ngModel)]="customerSelected2.name" nzAllowClear
- (ngModelChange)="customerChange()">
+ (ngModelChange)="customerChange()">
<nz-option *ngFor="let item of customerList2" [nzValue]="item.name" [nzLabel]="item.name"></nz-option>
</nz-select>
</div>
<div class="select-list">
<span style="display:inline-block;"> {{"i18nTextDefine_ServiceType" | translate}} : </span>
<nz-select style="width: 176px;float: right;" [(ngModel)]="serviceTypeSelectedName" nzAllowClear
- (ngModelChange)="serviceTypeChange()">
- <nz-option *ngFor="let item of serviceTypeList2" [nzValue]="item.name"
- [nzLabel]="item.name"></nz-option>
+ (ngModelChange)="serviceTypeChange()">
+ <nz-option *ngFor="let item of serviceTypeList2" [nzValue]="item.name" [nzLabel]="item.name">
+ </nz-option>
</nz-select>
</div>
<div class="select-list">
<span style="display:inline-block;"> {{"i18nTextDefine_UseCase" | translate}} : </span>
<nz-select style="width: 176px;float: right;" [(ngModel)]="templateTypeSelected" nzAllowClear
- (ngModelChange)="choseTemplateType()">
+ (ngModelChange)="choseTemplateType()">
<!-- <nz-option *ngFor="let item of templateType" [nzValue]="item" [nzLabel]="item"></nz-option> -->
<nz-option nzValue="SOTN" nzLabel="SOTN"></nz-option>
<nz-option nzValue="CCVPN" nzLabel="CCVPN"></nz-option>
@@ -100,7 +92,7 @@
<div *ngIf="templateTypeSelected == 'E2E Service'">
<div class="check-box" style="margin:30px; height: 50px">
<input class="check-box-style" style="zoom: 1.8; width: 70px" type="checkbox"
- [(ngModel)]="isSol005Interface" value="true" nzAllowClear>
+ [(ngModel)]="isSol005Interface" value="true" nzAllowClear>
<label class="label" style="font-size: 20px; color: rgb(60,79,140,0.5)">Sol005</label>
</div>
</div>
@@ -131,110 +123,101 @@
</li>
</ul>
<div class="list" id="services-list" [ngClass]="{'listdisplay':listDisplay == true}">
- <nz-table *ngIf="1"
- #nzTable [nzData]="tableData"
- nzShowSizeChanger
- [nzFrontPagination]="false"
- [nzShowQuickJumper]="true"
- [nzPageSizeOptions]="[5,10,15,20]"
- [nzTotal]='total'
- [(nzPageSize)]="pageSize"
- [(nzPageIndex)]='pageIndex'
- [nzLoading]="loading"
- [nzSize]="'middle'"
- [nzScroll]="{ y: '58vh' }"
- (nzPageIndexChange)="searchData()"
- (nzPageSizeChange)="searchData(true)">
+ <nz-table *ngIf="1" #nzTable [nzData]="tableData" nzShowSizeChanger [nzFrontPagination]="false"
+ [nzShowQuickJumper]="true" [nzPageSizeOptions]="[5,10,15,20]" [nzTotal]='total' [(nzPageSize)]="pageSize"
+ [(nzPageIndex)]='pageIndex' [nzLoading]="loading" [nzSize]="'middle'" [nzScroll]="{ y: '58vh' }"
+ (nzPageIndexChange)="searchData()" (nzPageSizeChange)="searchData(true)">
<thead>
- <tr>
- <th nzWidth="5%"> {{"i18nTextDefine_NO" | translate}}</th>
- <th nzWidth="5%"></th>
- <th nzWidth="20%"> {{"i18nTextDefine_Name" | translate}}</th>
- <th nzWidth="20%"> {{"i18nTextDefine_InstanceID" | translate}}</th>
- <th nzWidth="15%"> {{"i18nTextDefine_UseCase" | translate}}</th>
- <th nzWidth="20%"> {{"i18nTextDefine_Status" | translate}}</th>
- <th nzWidth="15%"> {{"i18nTextDefine_Action" | translate}}</th>
- </tr>
+ <tr>
+ <th nzWidth="5%"> {{"i18nTextDefine_NO" | translate}}</th>
+ <th nzWidth="5%"></th>
+ <th nzWidth="20%"> {{"i18nTextDefine_Name" | translate}}</th>
+ <th nzWidth="20%"> {{"i18nTextDefine_InstanceID" | translate}}</th>
+ <th nzWidth="15%"> {{"i18nTextDefine_UseCase" | translate}}</th>
+ <th nzWidth="20%"> {{"i18nTextDefine_Status" | translate}}</th>
+ <th nzWidth="15%"> {{"i18nTextDefine_Action" | translate}}</th>
+ </tr>
</thead>
<tbody>
- <ng-template ngFor let-data [ngForOf]="nzTable.data" let-i="index">
- <tr>
- <td>{{pageSize*(pageIndex-1) + i+1}}</td>
- <td [nzShowExpand]="data.childServiceInstances[0]" [(nzExpand)]="data.expand"></td>
- <td>{{data["service-instance-name"] || data.nsName}}</td>
- <td>{{data["service-instance-id"] || data.nsInstanceId}}</td>
- <td>
- <p [ngClass]="{'e2eColor':data.serviceDomain=='E2E Service','nsColor':data.serviceDomain=='Network Service','ccvpnColor':data.serviceDomain=='CCVPN','sotnColor':data.serviceDomain=='SOTN','voLTEColor':data.serviceDomain=='voLTE type'}">
- {{data.serviceDomain}}
- </p>
- </td>
- <td>
- <span [ngClass]="{'active':data.statusClass=='2001','closed':data.statusClass=='Closed','onboarding':data.statusClass=='Onboarding',
+ <ng-template ngFor let-data [ngForOf]="nzTable.data" let-i="index">
+ <tr>
+ <td>{{pageSize*(pageIndex-1) + i+1}}</td>
+ <td [nzShowExpand]="data.childServiceInstances[0]" [(nzExpand)]="data.expand"></td>
+ <td>{{data["service-instance-name"] || data.nsName}}</td>
+ <td>{{data["service-instance-id"] || data.nsInstanceId}}</td>
+ <td>
+ <p
+ [ngClass]="{'e2eColor':data.serviceDomain=='E2E Service','nsColor':data.serviceDomain=='Network Service','ccvpnColor':data.serviceDomain=='CCVPN','sotnColor':data.serviceDomain=='SOTN','voLTEColor':data.serviceDomain=='voLTE type'}">
+ {{data.serviceDomain}}
+ </p>
+ </td>
+ <td>
+ <span [ngClass]="{'active':data.statusClass=='2001','closed':data.statusClass=='Closed','onboarding':data.statusClass=='Onboarding',
'updating':data.statusClass=='Updating','deleting':data.statusClass=='1002','creating':data.statusClass=='1001',
'scaling':data.statusClass=='1003','healing':data.statusClass=='1004'}"
- *ngIf="data.tips != 'Available' && data.tips != 'Unavailable'">{{data.tips}}</span>
- <span *ngIf="data.tips == 'Available' " style="margin-left: 10px">
- <img src="assets/images/wancheng-icon.png" alt="Available">
- </span>
- <span *ngIf="data.tips == 'Unavailable' " style="margin-left: 10px">
- <img src="assets/images/shibai-icon.png" alt="Unavailable">
- </span>
- <nz-progress *ngIf="data.status == 'In Progress'" [nzPercent]="data.rate" [nzShowInfo]="false"
- nzStatus="active"></nz-progress>
- </td>
- <td>
- <i [ngClass]="{'cannotclick':data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}"
- class="anticon anticon-bars" (click)="serviceDetail(data,1)"></i>
- <i [ngClass]="{'cannotclick':data.status == 'In Progress'}" class="anticon anticon-delete"
- (click)="deleteModel(data)"></i>
- <i [ngClass]="{'cannotclick':data.status == 'In Progress'}" class="anticon anticon-ellipsis"
- (click)="iconMoreShow(data,tableData)" style="transform: rotate(90deg);"></i>
+ *ngIf="data.tips != 'Available' && data.tips != 'Unavailable'">{{data.tips}}</span>
+ <span *ngIf="data.tips == 'Available' " style="margin-left: 10px">
+ <img src="assets/images/wancheng-icon.png" alt="Available">
+ </span>
+ <span *ngIf="data.tips == 'Unavailable' " style="margin-left: 10px">
+ <img src="assets/images/shibai-icon.png" alt="Unavailable">
+ </span>
+ <nz-progress *ngIf="data.status == 'In Progress'" [nzPercent]="data.rate"
+ [nzShowInfo]="false" nzStatus="active"></nz-progress>
+ </td>
+ <td>
+ <i [ngClass]="{'cannotclick':data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}"
+ class="anticon anticon-bars" (click)="serviceDetail(data,1)"></i>
+ <i [ngClass]="{'cannotclick':data.status == 'In Progress'}" class="anticon anticon-delete"
+ (click)="deleteModel(data)"></i>
+ <i [ngClass]="{'cannotclick':data.status == 'In Progress'}" class="anticon anticon-ellipsis"
+ (click)="iconMoreShow(data,tableData)" style="transform: rotate(90deg);"></i>
- <ul *ngIf="data.iconMore==true " class="icon-more">
- <li (click)="scaleService(data)"
- [ngClass]="{'cannotclick':data.serviceDomain!='E2E Service' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}">
- <i class="anticon anticon-scale"></i>
- <span> {{"i18nTextDefine_Scale" | translate}} </span>
- </li>
- <li (click)="serviceDetail(data,2)"
- [ngClass]="{'cannotclick':data.serviceDomain!='CCVPN' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}">
- <i class="anticon anticon-update"></i>
- <span> {{"i18nTextDefine_Update" | translate}} </span>
- </li>
- </ul>
- <!-- <i *ngIf="data.serviceDomain=='E2E Service'||data.serviceDomain=='Network Service' " class="anticon anticon-cloud-upload-o" (click)="updataService(data)"></i> -->
- <!-- <i [ngClass]="{'cannotclick':data.status == 'processing'||data.status=='Deleting'||data.status=='Creating'||data.status=='Healing'}"
+ <ul *ngIf="data.iconMore==true " class="icon-more">
+ <li (click)="scaleService(data)"
+ [ngClass]="{'cannotclick':data.serviceDomain!='E2E Service' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}">
+ <i class="anticon anticon-scale"></i>
+ <span> {{"i18nTextDefine_Scale" | translate}} </span>
+ </li>
+ <li (click)="serviceDetail(data,2)"
+ [ngClass]="{'cannotclick':data.serviceDomain!='CCVPN' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}">
+ <i class="anticon anticon-update"></i>
+ <span> {{"i18nTextDefine_Update" | translate}} </span>
+ </li>
+ </ul>
+ <!-- <i *ngIf="data.serviceDomain=='E2E Service'||data.serviceDomain=='Network Service' " class="anticon anticon-cloud-upload-o" (click)="updataService(data)"></i> -->
+ <!-- <i [ngClass]="{'cannotclick':data.status == 'processing'||data.status=='Deleting'||data.status=='Creating'||data.status=='Healing'}"
*ngIf="data.serviceDomain=='Network Service' " class="anticon anticon-reload" (click)="healService(data)"></i> -->
- </td>
- </tr>
- <tr class="childtr" [nzExpand]="data.expand" *ngFor="let item of data.childServiceInstances">
- <td></td>
- <td></td>
- <td>{{item["service-instance-id"] || item.nsInstanceId || item.vnfInstanceId}}</td>
- <td>{{item["service-instance-name"] || item.nsName || item.vnfInstanceName}}</td>
- <td>
- <p [ngClass]="{'vnfColor':item.serviceDomain=='vnf','siteColor':item.serviceDomain=='SITE','SDWANColor':item.serviceDomain=='SDWAN'}">
- {{item.serviceDomain}}
- </p>
- </td>
- <td>
- <span [ngClass]="{'healing':data.statusClass=='1004'}">{{item.tips}}</span>
- <nz-progress *ngIf=" item.status == 'In Progress' " [nzPercent]="item.rate"></nz-progress>
- </td>
- <td>
- <i [ngClass]="{'cannotclick':data.serviceDomain!='Network Service' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}"
- class="anticon anticon-reload" (click)="healService(item)"></i>
- </td>
- </tr>
- </ng-template>
+ </td>
+ </tr>
+ <tr class="childtr" [nzExpand]="data.expand" *ngFor="let item of data.childServiceInstances">
+ <td></td>
+ <td></td>
+ <td>{{item["service-instance-id"] || item.nsInstanceId || item.vnfInstanceId}}</td>
+ <td>{{item["service-instance-name"] || item.nsName || item.vnfInstanceName}}</td>
+ <td>
+ <p
+ [ngClass]="{'vnfColor':item.serviceDomain=='vnf','siteColor':item.serviceDomain=='SITE','SDWANColor':item.serviceDomain=='SDWAN'}">
+ {{item.serviceDomain}}
+ </p>
+ </td>
+ <td>
+ <span [ngClass]="{'healing':data.statusClass=='1004'}">{{item.tips}}</span>
+ <nz-progress *ngIf=" item.status == 'In Progress' " [nzPercent]="item.rate"></nz-progress>
+ </td>
+ <td>
+ <i [ngClass]="{'cannotclick':data.serviceDomain!='Network Service' || data.status == 'In Progress'||(data.status=='Failed' && data.operationType=='1001')||(data.status=='Failed' && data.operationType=='1002')}"
+ class="anticon anticon-reload" (click)="healService(item)"></i>
+ </td>
+ </tr>
+ </ng-template>
</tbody>
</nz-table>
<nz-modal nzWidth="428" [nzVisible]="scaleModelVisible" nzTitle=" {{'i18nTextDefine_Scale' | translate}} "
- (nzOnCancel)="scaleCancel()"
- (nzOnOk)="scaleOk(templatescalestarting,templateScaleSuccessFaild)" nzClassName="scaleModel"
- nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
- nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
+ (nzOnCancel)="scaleCancel()" (nzOnOk)="scaleOk(templatescalestarting,templateScaleSuccessFaild)"
+ nzClassName="scaleModel" nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
+ nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
<h3><span style="color: red">*&nbsp;</span> {{"i18nTextDefine_SureScale" | translate}} </h3>
<div class="question">
<h4> {{"i18nTextDefine_InstanceID" | translate}} :</h4>
@@ -259,7 +242,7 @@
<div class="e2eScaleContent">
<span class="e2eScaleLable"> {{"i18nTextDefine_Number_Of_Steps" | translate}} :</span>
<nz-input-number style="width: 165px;" [(ngModel)]="item.numberOfSteps" [nzMin]="1" [nzMax]="100"
- nzPrecision=0 [nzStep]="1" nzPlaceHolder="number"></nz-input-number>
+ nzPrecision=0 [nzStep]="1" nzPlaceHolder="number"></nz-input-number>
</div>
<div class="e2eScaleContent">
<span class="e2eScaleLable"> {{"i18nTextDefine_ScalingDirection" | translate}} :</span>
@@ -302,11 +285,10 @@
</nz-modal>
<nz-modal nzWidth="428" [(nzVisible)]="deleteModelVisible" nzTitle=" {{'i18nTextDefine_delete' | translate}} "
- (nzOnCancel)="deleteCancel()"
- (nzOnOk)="deleteOk(templatedeletestarting,templateDeleteSuccessFaild)"
- nzClassName="{{thisService['serviceDomain'] == 'Network Service'?'nsdeleteModel':'deleteModel'}}"
- nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
- nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
+ (nzOnCancel)="deleteCancel()" (nzOnOk)="deleteOk(templatedeletestarting,templateDeleteSuccessFaild)"
+ nzClassName="{{thisService['serviceDomain'] == 'Network Service'?'nsdeleteModel':'deleteModel'}}"
+ nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
+ nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
<h3><span style="color: red">*&nbsp;</span> {{"i18nTextDefine_SureDelete" | translate}} </h3>
<div class="question">
<h4> {{"i18nTextDefine_InstanceName" | translate}} :</h4>
@@ -332,7 +314,7 @@
<h4 *ngIf="terminationType=='graceful'"> {{"i18nTextDefine_gracefulTerminationTimeout" | translate}}
:</h4>
<input *ngIf="terminationType=='graceful'" style="width: 306px;" nz-input
- [(ngModel)]="gracefulTerminationTimeout">
+ [(ngModel)]="gracefulTerminationTimeout">
</div>
</div>
@@ -343,16 +325,16 @@
<img src="assets/images/execute-inproess.png" alt="instance temination is starting">
</span>
<div class="ant-notification-notice-message"
- *ngIf="thisService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN'">
+ *ngIf="thisService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN'">
{{ thisService['serviceDomain'] }} &nbsp; {{"i18nTextDefine_InstanceTeminationStarting" |
translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="thisService['serviceDomain'] == 'E2E Service'">E2E &nbsp;
+ *ngIf="thisService['serviceDomain'] == 'E2E Service'">E2E &nbsp;
{{"i18nTextDefine_InstanceTeminationStarting" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="thisService['serviceDomain'] == 'Network Service'">NS &nbsp;
+ *ngIf="thisService['serviceDomain'] == 'Network Service'">NS &nbsp;
{{"i18nTextDefine_InstanceTeminationStarting" | translate}}
</div>
<div class="ant-notification-notice-description">
@@ -378,10 +360,9 @@
</nz-modal>
<nz-modal nzWidth="428" [nzVisible]="healModelVisible" nzTitle=" {{'i18nTextDefine_Heal' | translate}} "
- (nzOnCancel)="healCancel()"
- (nzOnOk)="healOk(templatehealstarting,templatehealSuccessFaild)" nzClassName="healModel"
- nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
- nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
+ (nzOnCancel)="healCancel()" (nzOnOk)="healOk(templatehealstarting,templatehealSuccessFaild)"
+ nzClassName="healModel" nzCancelText=" {{'i18nTextDefine_Cancel' | translate}} "
+ nzOkText=" {{'i18nTextDefine_modelOk' | translate}} ">
<h3><span style="color: red">*&nbsp;</span> {{"i18nTextDefine_SureHeal" | translate}} </h3>
<div class="heal-question">
<p class="heal-label"> {{"i18nTextDefine_InstanceID" | translate}} : </p>
@@ -396,7 +377,7 @@
<div class="question">
<p class="heal-label"> {{"i18nTextDefine_degreeHealing" | translate}} :</p>
<nz-select style="width: 200px;height:42px;margin-left: 15px;border-radius: 6px"
- [(ngModel)]="nsParams.degreeHealing">
+ [(ngModel)]="nsParams.degreeHealing">
<nz-option nzValue="HEAL_RESTORE" nzLabel="HEAL_RESTORE"></nz-option>
<nz-option nzValue="HEAL_QOS" nzLabel="HEAL_QOS"></nz-option>
<nz-option nzValue="HEAL_RESET" nzLabel="HEAL_RESET"></nz-option>
@@ -443,8 +424,8 @@
<div class="heal-question">
<p class="heal-label"> {{"i18nTextDefine_actionvminfo" | translate}}:</p>
<nz-select
- style=" float: right;width: 200px;margin-left: 15px;border-radius: 6px;margin-right: 30px"
- [(ngModel)]="vmSelected">
+ style=" float: right;width: 200px;margin-left: 15px;border-radius: 6px;margin-right: 30px"
+ [(ngModel)]="vmSelected">
<nz-option *ngFor="let item of vnfVms" [nzValue]="item" [nzLabel]="item.vmName"></nz-option>
</nz-select>
</div>
@@ -485,27 +466,27 @@
<ng-template #templateCreatestarting>
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <img src="assets/images/execute-inproess.png" alt="instance temination is starting">
- </span>
+ <span class="ant-notification-notice-icon">
+ <img src="assets/images/execute-inproess.png" alt="instance temination is starting">
+ </span>
<div class="ant-notification-notice-message"
- *ngIf="thisCreateService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN'">
+ *ngIf="thisCreateService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN'">
{{ thisService['serviceDomain'] }} &nbsp; {{"i18nTextDefine_InstanceCreationStarting" |
translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="thisCreateService['serviceDomain'] == 'E2E Service'">E2E &nbsp;
+ *ngIf="thisCreateService['serviceDomain'] == 'E2E Service'">E2E &nbsp;
{{"i18nTextDefine_InstanceCreationStarting" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="thisCreateService['serviceDomain'] == 'Network Service'">NS &nbsp;
+ *ngIf="thisCreateService['serviceDomain'] == 'Network Service'">NS &nbsp;
{{"i18nTextDefine_InstanceCreationStarting" | translate}}
</div>
<div class="ant-notification-notice-description">
<div class="notificationlist">
<p> {{"i18nTextDefine_InstanceName" | translate}} :</p>
<span>{{ thisCreateService["service-instance-name"] }}
- </span>
+ </span>
</div>
<div class="notificationlist">
<p> {{"i18nTextDefine_Customer" | translate}} :</p>
@@ -523,36 +504,36 @@
<ng-template #templateCreateSuccessFaild>
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <img src="assets/images/execute-success.png" alt="instance temination is starting"
- *ngIf="thisCreateService.status == 'Successful'">
- <img src="assets/images/execute-faild.png" alt="instance temination is starting"
- *ngIf="thisCreateService.status == 'Failed'">
- </span>
+ <span class="ant-notification-notice-icon">
+ <img src="assets/images/execute-success.png" alt="instance temination is starting"
+ *ngIf="thisCreateService.status == 'Successful'">
+ <img src="assets/images/execute-faild.png" alt="instance temination is starting"
+ *ngIf="thisCreateService.status == 'Failed'">
+ </span>
<div class="ant-notification-notice-message"
- *ngIf="(thisCreateService['serviceDomain'] == 'CCVPN' || thisCreateService['serviceDomain'] == 'SOTN') && thisCreateService.status == 'Successful'">
+ *ngIf="(thisCreateService['serviceDomain'] == 'CCVPN' || thisCreateService['serviceDomain'] == 'SOTN') && thisCreateService.status == 'Successful'">
{{ thisCreateService['serviceDomain'] }} &nbsp; {{"i18nTextDefine_InstanceCreatedSuccessfully" |
translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisCreateService['serviceDomain'] == 'E2E Service') && thisCreateService.status == 'Successful'">
+ *ngIf="(thisCreateService['serviceDomain'] == 'E2E Service') && thisCreateService.status == 'Successful'">
E2E &nbsp; {{"i18nTextDefine_InstanceCreatedSuccessfully" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisCreateService['serviceDomain'] == 'Network Service') && thisCreateService.status == 'Successful'">
+ *ngIf="(thisCreateService['serviceDomain'] == 'Network Service') && thisCreateService.status == 'Successful'">
NS &nbsp; {{"i18nTextDefine_InstanceCreatedSuccessfully" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisCreateService['serviceDomain'] == 'CCVPN' || thisCreateService['serviceDomain'] == 'SOTN') && thisCreateService.status == 'Failed'">
+ *ngIf="(thisCreateService['serviceDomain'] == 'CCVPN' || thisCreateService['serviceDomain'] == 'SOTN') && thisCreateService.status == 'Failed'">
{{ thisCreateService['serviceDomain'] }} &nbsp; {{"i18nTextDefine_InstanceCreationFailed" |
translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisCreateService['serviceDomain'] == 'E2E Service') && thisCreateService.status == 'Failed'">
+ *ngIf="(thisCreateService['serviceDomain'] == 'E2E Service') && thisCreateService.status == 'Failed'">
E2E &nbsp; {{"i18nTextDefine_InstanceCreationFailed" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisCreateService['serviceDomain'] == 'Network Service') && thisCreateService.status == 'Failed'">
+ *ngIf="(thisCreateService['serviceDomain'] == 'Network Service') && thisCreateService.status == 'Failed'">
NS &nbsp; {{"i18nTextDefine_InstanceCreationFailed" | translate}}
</div>
<div class="ant-notification-notice-description">
@@ -560,7 +541,7 @@
<p> {{"i18nTextDefine_InstanceName" | translate}} :</p>
<span>{{ thisCreateService["service-instance-name"] ||
thisCreateService["nsInstanceName"] }}
- </span>
+ </span>
</div>
<div class="notificationlist">
<p> {{"i18nTextDefine_Customer" | translate}} :</p>
@@ -578,36 +559,36 @@
<ng-template #templateDeleteSuccessFaild>
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <img src="assets/images/execute-success.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Successful'">
- <img src="assets/images/execute-faild.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Failed'">
- </span>
+ <span class="ant-notification-notice-icon">
+ <img src="assets/images/execute-success.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Successful'">
+ <img src="assets/images/execute-faild.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Failed'">
+ </span>
<div class="ant-notification-notice-message"
- *ngIf="(thisService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN') && thisService.status == 'Successful'">
+ *ngIf="(thisService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN') && thisService.status == 'Successful'">
{{ thisService['serviceDomain'] }} &nbsp; {{"i18nTextDefine_InstanceTeminatedSuccessfully" |
translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisService['serviceDomain'] == 'E2E Service') && thisService.status == 'Successful'">
+ *ngIf="(thisService['serviceDomain'] == 'E2E Service') && thisService.status == 'Successful'">
E2E &nbsp; {{"i18nTextDefine_InstanceTeminatedSuccessfully" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisService['serviceDomain'] == 'Network Service') && thisService.status == 'Successful'">
+ *ngIf="(thisService['serviceDomain'] == 'Network Service') && thisService.status == 'Successful'">
NS &nbsp; {{"i18nTextDefine_InstanceTeminatedSuccessfully" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN') && thisService.status == 'Failed'">
+ *ngIf="(thisService['serviceDomain'] == 'CCVPN' || thisService['serviceDomain'] == 'SOTN') && thisService.status == 'Failed'">
{{ thisService['serviceDomain'] }} &nbsp; {{"i18nTextDefine_InstanceTeminationFailed" |
translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisService['serviceDomain'] == 'E2E Service') && thisService.status == 'Failed'">E2E
+ *ngIf="(thisService['serviceDomain'] == 'E2E Service') && thisService.status == 'Failed'">E2E
&nbsp; {{"i18nTextDefine_InstanceTeminationFailed" | translate}}
</div>
<div class="ant-notification-notice-message"
- *ngIf="(thisService['serviceDomain'] == 'Network Service') && thisService.status == 'Failed'">
+ *ngIf="(thisService['serviceDomain'] == 'Network Service') && thisService.status == 'Failed'">
NS &nbsp; {{"i18nTextDefine_InstanceTeminationFailed" | translate}}
</div>
<div class="ant-notification-notice-description">
@@ -615,7 +596,7 @@
<p> {{"i18nTextDefine_InstanceName" | translate}} :</p>
<span>{{ thisService["service-instance-name"] ||
thisService["nsInstanceName"] }}
- </span>
+ </span>
</div>
<div class="notificationlist">
<p> {{"i18nTextDefine_Customer" | translate}} :</p>
@@ -633,12 +614,12 @@
<ng-template #templateScaleSuccessFaild>
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <img src="assets/images/execute-success.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Successful'">
- <img src="assets/images/execute-faild.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Failed'">
- </span>
+ <span class="ant-notification-notice-icon">
+ <img src="assets/images/execute-success.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Successful'">
+ <img src="assets/images/execute-faild.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Failed'">
+ </span>
<div class="ant-notification-notice-message" *ngIf="thisService.status == 'Successful'">E2E &nbsp;
{{"i18nTextDefine_InstanceScaledSuccessfully" | translate}}
</div>
@@ -650,7 +631,7 @@
<p> {{"i18nTextDefine_InstanceName" | translate}} :</p>
<span>{{ thisService["service-instance-name"] ||
thisService["nsInstanceName"] }}
- </span>
+ </span>
</div>
<div class="notificationlist">
<p> {{"i18nTextDefine_Customer" | translate}} :</p>
@@ -668,12 +649,12 @@
<ng-template #templatehealSuccessFaild>
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
- <span class="ant-notification-notice-icon">
- <img src="assets/images/execute-success.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Successful'">
- <img src="assets/images/execute-faild.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Failed'">
- </span>
+ <span class="ant-notification-notice-icon">
+ <img src="assets/images/execute-success.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Successful'">
+ <img src="assets/images/execute-faild.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Failed'">
+ </span>
<div class="ant-notification-notice-message" *ngIf="thisService.status == 'Successful'">NS &nbsp;
{{"i18nTextDefine_InstanceHealedSuccessfully" | translate}}
</div>
@@ -685,7 +666,7 @@
<p> {{"i18nTextDefine_InstanceName" | translate}} :</p>
<span>{{ thisService["service-instance-name"] ||
thisService["nsInstanceName"] }}
- </span>
+ </span>
</div>
<div class="notificationlist">
<p> {{"i18nTextDefine_Customer" | translate}} :</p>
@@ -704,11 +685,11 @@
<div class="ant-notification-notice-content">
<div class="ant-notification-notice-with-icon">
<span class="ant-notification-notice-icon">
- <img src="assets/images/execute-success.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Successful'">
- <img src="assets/images/execute-faild.png" alt="instance temination is starting"
- *ngIf="thisService.status == 'Failed'">
- </span>
+ <img src="assets/images/execute-success.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Successful'">
+ <img src="assets/images/execute-faild.png" alt="instance temination is starting"
+ *ngIf="thisService.status == 'Failed'">
+ </span>
<div class="ant-notification-notice-message" *ngIf="thisService.status == 'Successful'">CCVPN &nbsp;
{{"i18nTextDefine_InstanceUpdatedSuccessfully" | translate}}
</div>
@@ -720,7 +701,7 @@
<p> {{"i18nTextDefine_InstanceName" | translate}} :</p>
<span>{{ thisService["service-instance-name"] ||
thisService["nsInstanceName"] }}
- </span>
+ </span>
</div>
<div class="notificationlist">
<p> {{"i18nTextDefine_Customer" | translate}} :</p>
@@ -737,33 +718,28 @@
</ng-template>
</div>
<div class="detailComponent" *ngIf="detailshow">
- <app-ccvpn-detail [detailParams]="detailData"
- [upDateShow]="upDateShow"
- (closeUpdate)="closeCCVPNUpdate($event,templateUpdateSuccessFaild)"
- (closeDetail)="detailshow = false;listDisplay = false;"></app-ccvpn-detail>
+ <app-ccvpn-detail [detailParams]="detailData" [upDateShow]="upDateShow"
+ (closeUpdate)="closeCCVPNUpdate($event,templateUpdateSuccessFaild)"
+ (closeDetail)="detailshow = false;listDisplay = false;"></app-ccvpn-detail>
</div>
<div class="detailComponent" *ngIf="detailshow2">
- <app-e2e-detail [detailParams]="detailData"
- (closeDetail)="detailshow2 = false;listDisplay = false;"></app-e2e-detail>
+ <app-e2e-detail [detailParams]="detailData" (closeDetail)="detailshow2 = false;listDisplay = false;">
+ </app-e2e-detail>
</div>
<div class="createComponent" *ngIf="createshow">
- <app-ccvpn-creation
- [createParams]="createData"
- [ccvpn_temParametersContent]="ccvpn_temParametersContent"
- (closeCreate)="closeCreate($event,templateCreatestarting,templateCreateSuccessFaild)">
+ <app-ccvpn-creation [createParams]="createData" [ccvpn_temParametersContent]="ccvpn_temParametersContent"
+ (closeCreate)="closeCreate($event,templateCreatestarting,templateCreateSuccessFaild)">
</app-ccvpn-creation>
</div>
<div class="createComponent" *ngIf="createshow2">
- <app-e2e-creation
- [createParams]="createData"
- [e2e_ns_temParametersContent]="e2e_ns_temParametersContent"
- (nsCloseCreate)="nsCloseCreate($event,templateCreatestarting,templateCreateSuccessFaild)"
- (e2eCloseCreate)="e2eCloseCreate($event,templateCreatestarting,templateCreateSuccessFaild)">
+ <app-e2e-creation [createParams]="createData" [e2e_ns_temParametersContent]="e2e_ns_temParametersContent"
+ (nsCloseCreate)="nsCloseCreate($event,templateCreatestarting,templateCreateSuccessFaild)"
+ (e2eCloseCreate)="e2eCloseCreate($event,templateCreatestarting,templateCreateSuccessFaild)">
</app-e2e-creation>
</div>
<!--</div>-->
</nz-layout>
<div class="loading" *ngIf="loadingAnimateShow">
- <img src="./assets/images/loading-animate2.gif" alt="loading">
+ <img src="assets/images/loading-animate2.gif" alt="loading">
<p>Please wating……</p>
-</div>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.less b/usecaseui-portal/src/app/views/services/services-list/services-list.component.less
index 2a19e5bb..392d1b3a 100644
--- a/usecaseui-portal/src/app/services/services-list/services-list.component.less
+++ b/usecaseui-portal/src/app/views/services/services-list/services-list.component.less
@@ -13,52 +13,6 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
-@media screen and (min-width: 1050px){
- .action{
- span:nth-of-type(2){
- margin-left: 40px;
- }
- }
-
-}
-@media screen and (max-width: 1050px){
- .action{
- span:nth-of-type(2){
- margin-left: 20px;
- }
- }
-
-}
-@media screen and (max-width: 1300px){
- .top-list-text{
- p{
- width: 200px;
- }
- }
-}
-@media screen and (min-width: 1200px){
- .round{
- top:45%;
- left: 50px;
- margin-top: -40px;
- }
-
-}
-
-@media screen and (max-width: 1200px){
- .round{
- top:12%;
- left: 12%;
- }
- .top-list-text{
- p{
- width: 170px;
- }
- }
-
-}
-
-
.title {
font: 700 18px/18px "æ€æºé»‘体";
color: #4c5e70;
@@ -73,18 +27,6 @@ hr {
.ant-tabs-bar{
margin-bottom: 0!important;
}
-.ant-dropdown-menu{
- min-height:40px;
- max-height: 200px;
- overflow: auto;
-}
-.ant-dropdown-menu-item{
- a{
- max-width: 165px;
- overflow: hidden;
- text-overflow: ellipsis;
- }
-}
.mask{
width: 100%;
height: 100%;
@@ -135,20 +77,15 @@ hr {
font: 700 14px "Arial";
color: #3C4F8C;
margin-right: 5px;
- .icon{
- margin-right: 10px;
- }
}
nz-dropdown {
- width: 20%;
vertical-align: middle;
background-color:#ffffff;
:hover{
border-color: #48C6EF;
}
button {
- width: 100%;
- max-width:165px;
+ width: 165px;
height: 42px;
background-color:#ffffff;
text-align: left;
@@ -174,15 +111,11 @@ hr {
position: absolute;
right: 3%;
top:50%;
+ width:116px;
height:42px;
background:#0DA9E2;
border-radius:6px;
margin-top: -15px;
- i{
- transform: scale(1.5);
- line-height: 15px;
- margin-right: 5px;
- }
span {
color: #fff;
font-weight: 400;
@@ -200,76 +133,90 @@ hr {
}
}
-nz-layout{
- padding: 20px 32px;
- .top-num{
-
- width: 100%;
- display: flex;
- justify-content: space-around;
- .top-list{
- position: relative;
- width:32%;
- max-width:400px;
- height:170px;
- background:url("../../../assets/images/servicelist-e2e.png") no-repeat;
- background-size: 100% 100%;
- border-radius:2px;
- .round{
- position: absolute;
- width: 60px;
- height: 60px;
- line-height: 60px;
- text-align: center;
- background:#E0EDFF;
- border:2px solid rgba(224,237,255,1);
- border-radius: 50%;
- font-size:16px;
- font-family:ArialMT;
- color:#3C4F8C;
- transition: .5s;
- }
- .top-list-text{
- position: absolute;
+.top-num{
+ overflow: auto;
+ width: 100%;
+}
+.top-list{
+ position: relative;
+ width:29%;
+ height:170px;
+ margin: 10px 1%;
+ float: left;
+ background:url("../../../../assets/images/servicelist-e2e.png") no-repeat;
+ background-size: 100% 100%;
+ border-radius:2px;
+}
+.top-num .top-list:nth-child(2){
+ background:url("../../../../assets/images/servicelist-e2e.png") no-repeat;
+ background-size: 100% 100%;
+}
+.top-num .top-list:nth-child(3){
+ background:url("../../../../assets/images/servicelist-e2e.png") no-repeat;
+ background-size: 100% 100%;
+}
+.top-num .top-list:nth-child(4){
+ background:url("../../../../assets/images/servicelist-sotn.png") no-repeat;
+ background-size: 100% 100%;
+}
+.top-list .round{
+ position: absolute;
+ width: 60px;
+ height: 60px;
+ line-height: 60px;
+ text-align: center;
+ top:45%;
+ left: 50px;
+ margin-top: -30px;
+ background:#E0EDFF;
+ border:2px solid rgba(224,237,255,1);
+ border-radius: 50%;
+ font-size:16px;
+ font-family:ArialMT;
+ color:#3C4F8C;
+}
+.top-list {
+ .top-list-text {
+ position: absolute;
+ text-align: right;
+ height: 40px;
+ line-height: 20px;
+ right: 50px;
+ color: #fff;
+ p {
+ font-size: 14px;
+ width: 250px;
+ margin: 15px 0 0 0;
+ height: 13px;
+ clear: both;
+ span {
+ display: inline-block;
+ font-weight: 500;
text-align: right;
- line-height: 20px;
- right: 12%;
- color: #fff;
- p{
- height: 28px;
- margin-bottom: 0;
- padding-left: 5px;
- font-size: 14px;
- clear: both;
- span{
- display: inline-block;
- float: right;
- font-weight: 500;
- text-align: right;
- }
- span:nth-child(1){
- font-size: 18px;
- margin-left: 15px;
- }
- span:nth-child(2){
- width: 85px;
- font-size: 16px;
- }
- }
- p:nth-child(1){
- margin-top: 25px;
- }
- .service-description{
-
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- color: #3C4F8C;
-
- }
+ float: right;
+ }
+ span:nth-child(1) {
+ font-size: 18px;
+ width: 40px;
+ min-width: 40px;
+ }
+ span:nth-child(2) {
+ width: 85px;
+ font-size: 16px;
}
}
-
+ p:nth-child(1) {
+ margin-top: 25px;
+ }
+ }
+ .service-description{
+ font-size: 14px;
+ width: 250px;
+ height: 13px;
+ position: absolute;
+ bottom: 30px;
+ left: 50px;
+ color: #3C4F8C;
}
}
.list {
@@ -343,10 +290,10 @@ nz-layout{
.anticon{
width: 18px;
height: 18px;
- background: url("../../../assets/images/scale.png") no-repeat;
+ background: url("../../../../assets/images/scale.png") no-repeat;
}
.anticon.anticon-update{
- background: url("../../../assets/images/update.png") no-repeat;
+ background: url("../../../../assets/images/update.png") no-repeat;
}
span{
margin-left: 5px;
@@ -355,10 +302,10 @@ nz-layout{
li:hover{
color: #0DA9E2;
.anticon{
- background: url("../../../assets/images/scale-active.png") no-repeat;
+ background: url("../../../../assets/images/scale-active.png") no-repeat;
}
.anticon.anticon-update{
- background: url("../../../assets/images/update-active.png") no-repeat;
+ background: url("../../../../assets/images/update-active.png") no-repeat;
}
}
}
diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.spec.ts b/usecaseui-portal/src/app/views/services/services-list/services-list.component.spec.ts
index 61440dc3..61440dc3 100644
--- a/usecaseui-portal/src/app/services/services-list/services-list.component.spec.ts
+++ b/usecaseui-portal/src/app/views/services/services-list/services-list.component.spec.ts
diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.ts b/usecaseui-portal/src/app/views/services/services-list/services-list.component.ts
index 3a07c1fe..c15e9f11 100644
--- a/usecaseui-portal/src/app/services/services-list/services-list.component.ts
+++ b/usecaseui-portal/src/app/views/services/services-list/services-list.component.ts
@@ -14,11 +14,10 @@
limitations under the License.
*/
import { Component, OnInit, HostBinding, TemplateRef } from '@angular/core';
-import { MyhttpService } from '../../myhttp.service';
-import { slideToRight } from '../../animates';
+import { MyhttpService } from '../../../core/services/myhttp.service';
+import { slideToRight } from '../../../animates';
import { NzModalService } from 'ng-zorro-antd';
import { NzNotificationService } from 'ng-zorro-antd';
-import { Observable } from 'rxjs/Rx';
@Component({
selector: 'app-services-list',
@@ -29,16 +28,11 @@ import { Observable } from 'rxjs/Rx';
export class ServicesListComponent implements OnInit {
@HostBinding('@routerAnimate') routerAnimateState;
- public width:number = document.documentElement.clientWidth;
-
constructor(private myhttp: MyhttpService, private modalService: NzModalService, private notification: NzNotificationService) {
}
ngOnInit() {
this.getallCustomers();
- Observable.fromEvent(window, 'resize').subscribe((event) => {
- this.width = document.documentElement.clientWidth
- });
}
// customer servicetype
@@ -1279,6 +1273,19 @@ export class ServicesListComponent implements OnInit {
queryProgress(obj, callback) {
let mypromise = new Promise((res, rej) => {
+ // let data = {
+ // operationStatus:{
+ // "operationId": "XXXXXX",
+ // "operation": "create|delete|update|scale",
+ // "result": "finished|error|processing",
+ // "reason": "",
+ // "userId": "",
+ // "operationContent": "Be creating pop.",
+ // "progress": 0,
+ // "operateAt": "",
+ // "finishedAt": ""
+ // }
+ // }
let errorNums = 180;
let requery = () => {
this.myhttp.getProgress(obj)
@@ -1312,6 +1319,17 @@ export class ServicesListComponent implements OnInit {
res(data.operationStatus);
}
})
+ // setTimeout(()=>{
+ // console.log(data.operationStatus.progress)
+ // data.operationStatus.progress++;
+ // if(data.operationStatus.progress<100){
+ // callback(data.operationStatus);
+ // requery()
+ // }else{
+ // callback(data.operationStatus);
+ // res(data.operationStatus)
+ // }
+ // },100)
}
requery();
})
@@ -1320,7 +1338,25 @@ export class ServicesListComponent implements OnInit {
queryNsProgress(jobid, id, callback, operationType) {
let mypromise = new Promise((res, rej) => {
-
+ // let data = {
+ // "jobId": "string",
+ // "responseDescriptor": {
+ // "status": "string",
+ // "progress": 0,
+ // "statusDescription": "string",
+ // "errorCode": "string",
+ // "responseId": "string",
+ // "responseHistoryList": [
+ // {
+ // "status": "string",
+ // "progress": "string",
+ // "statusDescription": "string",
+ // "errorCode": "string",
+ // "responseId": "string"
+ // }
+ // ]
+ // }
+ // }
let errorNums = 180;
let requery = () => {
this.myhttp.getNsProgress(jobid, id, operationType)
@@ -1330,6 +1366,7 @@ export class ServicesListComponent implements OnInit {
return false;
}
if (data.responseDescriptor == null || data.responseDescriptor.progress == undefined) {
+ // console.log(data);
errorNums--;
if (errorNums == 0) {
callback({ progress: 255, status: "time over" });
@@ -1353,7 +1390,17 @@ export class ServicesListComponent implements OnInit {
res(data);
}
})
-
+ // setTimeout(()=>{
+ // console.log(data.responseDescriptor.progress)
+ // data.responseDescriptor.progress++;
+ // if(data.responseDescriptor.progress<100){
+ // callback(data.responseDescriptor);
+ // requery()
+ // }else{
+ // callback(data);
+ // res(data)
+ // }
+ // },100)
};
requery();
});
diff --git a/usecaseui-portal/src/app/services/services.component.html b/usecaseui-portal/src/app/views/services/services.component.html
index 10142833..10142833 100644
--- a/usecaseui-portal/src/app/services/services.component.html
+++ b/usecaseui-portal/src/app/views/services/services.component.html
diff --git a/usecaseui-portal/src/app/views/services/services.component.less b/usecaseui-portal/src/app/views/services/services.component.less
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/services.component.less
diff --git a/usecaseui-portal/src/app/services/services.component.spec.ts b/usecaseui-portal/src/app/views/services/services.component.spec.ts
index 2e76b9f9..2e76b9f9 100644
--- a/usecaseui-portal/src/app/services/services.component.spec.ts
+++ b/usecaseui-portal/src/app/views/services/services.component.spec.ts
diff --git a/usecaseui-portal/src/app/services/services.component.ts b/usecaseui-portal/src/app/views/services/services.component.ts
index eec235b4..eec235b4 100644
--- a/usecaseui-portal/src/app/services/services.component.ts
+++ b/usecaseui-portal/src/app/views/services/services.component.ts
diff --git a/usecaseui-portal/src/assets/json/allotted-resources.json b/usecaseui-portal/src/assets/json/allotted-resources.json
deleted file mode 100644
index 0b39894c..00000000
--- a/usecaseui-portal/src/assets/json/allotted-resources.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "allotted-resource": [
- {
- "id": "1114feec-1aef-4890-abba-f8f3a906935f",
- "description": "1114feec-1aef-4890-abba-f8f3a906935f",
- "selflink": "",
- "model-invariant-id": "f714feec-1aef-4890-abba-f8f3a906935f",
- "model-version-id": "709919b7-75fd-4e49-8398-67853323ff55",
- "resource-version": "1535708424249",
- "orchestration-status": "",
- "operational-status": "",
- "type": "",
- "role": "spoke",
- "allotted-resource-name": "sdwan ar",
- "access-provider-id": "",
- "access-client-id": "",
- "access-topology-id": "",
- "access-node-id": "",
- "access-ltp-id": "",
- "cvlan": "",
- "vpn-name": "SDWANVPNInfra",
- "relationship-list": {
- "relationship": [
- {
- "related-to": "service-instance",
- "relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v13/business/customers/customer/Democcy/service-subscriptions/service-subscription/CCVPN/service-instances/service-instance/35e88f8e-473f-4d88-92f8-6739a42baa23",
- "relationship-data": [
- {
- "relationship-key": "customer.global-customer-id",
- "relationship-value": "Democcy"
- },
- {
- "relationship-key": "service-subscription.service-type",
- "relationship-value": "CCVPN"
- },
- {
- "relationship-key": "service-instance.service-instance-id",
- "relationship-value": "35e88f8e-473f-4d88-92f8-6739a42baa23"
- }
- ],
- "related-to-property": [
- {
- "property-key": "service-instance.service-instance-name",
- "property-value": "SDWANVPNInfra1"
- }
- ]
- }
- ]
- }
- },
- {
- "id": "aa14feec-1aef-4890-abba-f8f3a906935f",
- "description": "aa14feec-1aef-4890-abba-f8f3a906935f",
- "selflink": "",
- "model-invariant-id": "97c4a3c6-2943-41af-8717-2f3183f944be",
- "model-version-id": "44b777ee-9793-465d-8053-d8e86d2e2362",
- "resource-version": "1536135116833",
- "orchestration-status": "",
- "operational-status": "",
- "type": "",
- "role": "",
- "allotted-resource-name": "ston ar",
- "access-provider-id": "1000",
- "access-client-id": "3333",
- "access-topology-id": "100",
- "access-node-id": "10.10.10.10",
- "access-ltp-id": "1",
- "cvlan": "",
- "vpn-name": "SOTNVPNInfra",
- "relationship-list": {
- "relationship": [
- {
- "related-to": "service-instance",
- "relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v13/business/customers/customer/Democcy/service-subscriptions/service-subscription/CCVPN/service-instances/service-instance/32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0",
- "relationship-data": [
- {
- "relationship-key": "customer.global-customer-id",
- "relationship-value": "Democcy"
- },
- {
- "relationship-key": "service-subscription.service-type",
- "relationship-value": "CCVPN"
- },
- {
- "relationship-key": "service-instance.service-instance-id",
- "relationship-value": "32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0"
- }
- ],
- "related-to-property": [
- {
- "property-key": "service-instance.service-instance-name",
- "property-value": "SOTNVPNInfra"
- }
- ]
- },
- {
- "related-to": "p-interface",
- "relationship-label": "org.onap.relationships.inventory.Uses",
- "related-link": "/aai/v13/network/pnfs/pnf/pnf1000/p-interfaces/p-interface/nodeId-79.79.79.79-ltpId-2",
- "relationship-data": [
- {
- "relationship-key": "pnf.pnf-name",
- "relationship-value": "pnf1000"
- },
- {
- "relationship-key": "p-interface.interface-name",
- "relationship-value": "nodeId-79.79.79.79-ltpId-2"
- }
- ],
- "related-to-property": [
- {
- "property-key": "p-interface.prov-status"
- }
- ]
- }
- ]
- }
- }
- ]
-} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/json/configuration_files/inputNamesTranslate.json b/usecaseui-portal/src/assets/json/configuration_files/inputNamesTranslate.json
deleted file mode 100644
index 9a91307f..00000000
--- a/usecaseui-portal/src/assets/json/configuration_files/inputNamesTranslate.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "sotnNameTranslate":{
- "name":"sotnconnectivity_name",
- "description":"sotnconnectivity_description",
- "startTime":"sotnconnectivity_startTime",
- "endTime":"sotnconnectivity_endTime",
- "COS":"sotnconnectivity_COS",
- "reroute":"sotnconnectivity_reroute",
- "SLS":"sotnconnectivity_SLS",
- "dualLink":"sotnconnectivity_dualLink",
- "CIR":"sotnconnectivity_cir",
- "EIR":"sotnconnectivity_eir",
- "CBS":"sotnconnectivity_cbs",
- "EBS":"sotnconnectivity_ebs",
- "colorAware":"sotnconnectivity_colorAware",
- "couplingFlag":"sotnconnectivity_couplingFlag"
- },
- "siteNameTranslate":{
- "baseNames":{
- "name":"site_name",
- "description":"site_description",
- "type":"site_type",
- "role":"site_role",
- "postcode":"site_postcode",
- "address":"site_address",
- "vlan":"sotncondition_cVLAN",
- "sotnVpnName":"sotncondition_sotnVpnName",
- "controlPoint":"site_controlPoint",
- "groupRole":"sdwancondition_role",
- "groupName":"sdwancondition_sdwanVpnName",
- "emails":"site_emails",
- "latitude":"site_latitude",
- "longitude":"site_longitude",
- "clientSignal":"sotncondition_clientSignal"
- },
- "cpeNames":{
- "device_name":"device_name",
- "device_version":"device_version",
- "device_esn":"device_esn",
- "device_class":"device_class",
- "device_systemIp":"device_systemIp",
- "device_vendor":"device_vendor",
- "device_type":"device_type"
- },
- "wanportNames":{
- "sitewanport_name":"sitewanport_name",
- "sitewanport_deviceName":"sitewanport_deviceName",
- "sitewanport_description":"sitewanport_description",
- "sitewanport_portType":"sitewanport_portType",
- "sitewanport_portNumber":"sitewanport_portNumber",
- "sitewanport_ipAddress":"sitewanport_ipAddress",
- "sitewanport_providerIpAddress":"sitewanport_providerIpAddress",
- "sitewanport_transportNetworkName":"sitewanport_transportNetworkName",
- "sitewanport_inputBandwidth":"sitewanport_inputBandwidth",
- "sitewanport_outputBandwidth":"sitewanport_outputBandwidth"
- }
- },
- "siteGroupNameTranslate":{
- "name":"sdwanconnectivity_name",
- "topology":"sdwanconnectivity_topology"
- }
-
-} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/json/configuration_files/servicesCategory.json b/usecaseui-portal/src/assets/json/configuration_files/servicesCategory.json
deleted file mode 100644
index 574a8bb4..00000000
--- a/usecaseui-portal/src/assets/json/configuration_files/servicesCategory.json
+++ /dev/null
@@ -1,34 +0,0 @@
-
-{
- "SOTN":{
- "sotnvpn":[
- {"model-invariant-id": "21886a96-0664-47a3-beae-766952f2059f","model-version-id": "4ca96a53-2e18-4297-8dc7-5776fdf6871b"}
- ],
- "site":[
- {"model-invariant-id": "342ff5e8-5592-4455-a537-a81172c9d541","model-version-id": "ea8bb4d2-00ea-4aeb-ad76-20ac8cb1c99c"},
- {"model-invariant-id": "a7029145-4294-4664-b619-00dc959a1ff6","model-version-id": "cb756ffb-8d91-49fb-86f7-12ceb2b13158"}
- ]
- },
- "CCVPN":{
- "sotnvpn":[
- {"model-invariant-id": "21886a96-0664-47a3-beae-766952f2059f","model-version-id": "54836196-c411-4690-af98-900c1c3aadd7"},
- {"model-invariant-id": "21886a96-0664-47a3-beae-766952f2059f","model-version-id": "4ca96a53-2e18-4297-8dc7-5776fdf6871b"},
- {"model-invariant-id": "35661c6e-4a15-4990-8d8a-d247ddcf0110","model-version-id": "f38e13a7-6ba6-4f06-901d-02206faa2687"},
- {"model-invariant-id": "bafa365f-4056-4ad3-a039-d6b3e3e0fd35","model-version-id": "fdbb8ddd-3325-4840-a156-9ad601b9366c"}
- ],
- "site":[
- {"model-invariant-id": "5c13f3fb-2744-4635-9f1f-c59c92dc8f70","model-version-id": "3a76b1f5-fb0d-4b6b-82d5-0e8a4ebc3838"},
- {"model-invariant-id": "5c13f3fb-2744-4635-9f1f-c59c92dc8f70","model-version-id": "4b4b3ef8-6747-4111-b9e0-81cf251c0068"},
- {"model-invariant-id": "a7029145-4294-4664-b619-00dc959a1ff6","model-version-id": "cb756ffb-8d91-49fb-86f7-12ceb2b13158"},
- {"model-invariant-id": "313abb16-d454-4a64-a39d-2ed4bb7713a3","model-version-id": "95f9c7aa-8a0e-4568-86f7-ab980a4556a1"},
- {"model-invariant-id": "499e5e60-c8b2-4ea6-8c4e-7739420673a9","model-version-id": "8ec97da1-1e0a-4198-9c9a-3da2c60d7974"}
- ],
- "sdwan":[
- {"model-invariant-id": "88dcb2f0-085b-4548-8b93-0882e37d25d8","model-version-id": "462f84e5-f0e5-44c5-ab95-38fb4bf77064"},
- {"model-invariant-id": "88dcb2f0-085b-4548-8b93-0882e37d25d8","model-version-id": "d0a4af63-570c-40b3-a26f-ef11366f0a03"},
- {"model-invariant-id": "2cefdc20-a29d-4792-a151-3653a6a20d45","model-version-id": "a306b8d6-3873-46fe-921a-623e279d5548"},
- {"model-invariant-id": "e2b217d6-7cac-4156-9f44-f9b010b350a6","model-version-id": "20d9e7dc-f030-4230-af79-ba0bde7cbe2e"}
- ]
- }
-}
-
diff --git a/usecaseui-portal/src/assets/json/configuration_files/templateCategory.json b/usecaseui-portal/src/assets/json/configuration_files/templateCategory.json
deleted file mode 100644
index dca42795..00000000
--- a/usecaseui-portal/src/assets/json/configuration_files/templateCategory.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "sotnvpntypes":["uuidxxx","uuidxxxx"],
- "sitetypes":["uuidaaa","uuidaaaa"],
- "sdwantypes":["uuidbbb","uuidbbbb"]
-}
-
diff --git a/usecaseui-portal/src/assets/json/instanceTableData4.json b/usecaseui-portal/src/assets/json/instanceTableData4.json
deleted file mode 100644
index ad8767e0..00000000
--- a/usecaseui-portal/src/assets/json/instanceTableData4.json
+++ /dev/null
@@ -1 +0,0 @@
-{"service-instance":[{"service-instance-id":"8e07f832-3f50-4657-9b44-010049e8b488","service-instance-name":"SOTNVPNInfra","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"bafa365f-4056-4ad3-a039-d6b3e3e0fd35","model-version-id":"fdbb8ddd-3325-4840-a156-9ad601b9366c","resource-version":"1537769390960","input-parameters":"{\n \"service\":{\n \"name\":\"SOTNVPNInfra\",\n \"description\":\"SOTNVPNInfra\",\n \"serviceInvariantUuid\":\"bafa365f-4056-4ad3-a039-d6b3e3e0fd35\",\n \"serviceUuid\":\"fdbb8ddd-3325-4840-a156-9ad601b9366c\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SOTNConnectivity 0\",\n \"resourceInvariantUuid\":\"1b9c677d-fddf-4b70-938b-925a7fa57d43\",\n \"resourceUuid\":\"218df3c3-50dd-4c26-9e36-4771387bb771\",\n \"resourceCustomizationUuid\":\"b44071c8-04fd-4d6b-b6af-772cbfaa1129\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF 0\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"c3612284-6c67-4d8c-8b41-b699cc90e76d\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"sotnconnectivity0_eir\":\"1000\",\n \"sotnconnectivity0_cir\":\"1000\",\n \"sotnconnectivity0_endTime\":\"2018-8-8 10:00\",\n \"sotnconnectivity0_ebs\":\"1000\",\n \"sotnconnectivity0_startTime\":\"2018-8-1 10:00\",\n \"sotnconnectivity0_dualLink\":\"true\",\n \"sotnconnectivity0_reroute\":\"false\",\n \"sotnconnectivity0_cbs\":\"1000\",\n \"sotnconnectivity0_name\":\"SOTN L2\",\n \"sotnconnectivity0_SLS\":\"\",\n \"sotnconnectivity0_description\":\"\",\n \"sotnconnectivity0_couplingFlag\":\"\",\n \"sotnconnectivity0_colorAware\":\"\",\n \"sotnconnectivity0_COS\":\"standard\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"connectivity","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/connectivities/connectivity/2e359c75-2af3-4fea-9550-a893edeab8b5","relationship-data":[{"relationship-key":"connectivity.connectivity-id","relationship-value":"2e359c75-2af3-4fea-9550-a893edeab8b5"}],"related-to-property":[{"property-key":"connectivity.etht-svc-name","property-value":"vpn1"}]},{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"32cd906f-ee7a-4ecf-b1c3-2fce4d59f8c0"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/2d55a540-f6d3-4108-9bb4-290574b87a6c/allotted-resources/allotted-resource/666085a7-132e-4a32-b9de-e58ecea3476a","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"2d55a540-f6d3-4108-9bb4-290574b87a6c"},{"relationship-key":"allotted-resource.id","relationship-value":"666085a7-132e-4a32-b9de-e58ecea3476a"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sotn-attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sotn ar"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205/allotted-resources/allotted-resource/562adc96-7fbe-435e-bd6d-ff4b8a0a7920","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205"},{"relationship-key":"allotted-resource.id","relationship-value":"562adc96-7fbe-435e-bd6d-ff4b8a0a7920"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sotn-attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sotn ar"}]}]}},{"service-instance-id":"a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205","service-instance-name":"DcLondon","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"499e5e60-c8b2-4ea6-8c4e-7739420673a9","model-version-id":"8ec97da1-1e0a-4198-9c9a-3da2c60d7974","resource-version":"1537866016457","input-parameters":"{\n \"service\":{\n \"name\":\"DcLondon\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra\",\n \"sitevf_site_address\":\"University College London,Gower Street,London\",\n \"sitevf_site_controlPoint\":\"VDF_VCPE\",\n \"sitevf_site_description\":\"VDF_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"DcLondon\",\n \"sitevf_site_postcode\":\"N200095\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"device","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/devices/device/2cacf49c-7c09-4155-b18a-4468dce34083","relationship-data":[{"relationship-key":"device.device-id","relationship-value":"2cacf49c-7c09-4155-b18a-4468dce34083"}],"related-to-property":[{"property-key":"device.device-name","property-value":"TravelDevice"}]},{"related-to":"site-resource","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/site-resources/site-resource/f288d54e-be09-46d3-bb1f-38729ec74bb5","relationship-data":[{"relationship-key":"site-resource.site-resource-id","relationship-value":"f288d54e-be09-46d3-bb1f-38729ec74bb5"}],"related-to-property":[{"property-key":"site-resource.site-resource-name","property-value":"travelSite"}]},{"related-to":"wan-port-config","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/wan-port-configs/wan-port-config/99866f05-9749-456e-8909-61eebf08373e","relationship-data":[{"relationship-key":"wan-port-config.wan-port-config-id","relationship-value":"99866f05-9749-456e-8909-61eebf08373e"}],"related-to-property":[{"property-key":"wan-port-config.wan-port-config-name","property-value":"intenet"}]},{"related-to":"wan-port-config","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/wan-port-configs/wan-port-config/afab2cc0-28c9-4fd3-bf03-01c8034f8191","relationship-data":[{"relationship-key":"wan-port-config.wan-port-config-id","relationship-value":"afab2cc0-28c9-4fd3-bf03-01c8034f8191"}],"related-to-property":[{"property-key":"wan-port-config.wan-port-config-name","property-value":"mpls"}]},{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/167a285b-0875-41ff-8ed1-1178db6f3133","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"167a285b-0875-41ff-8ed1-1178db6f3133"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"167a285b-0875-41ff-8ed1-1178db6f3133"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/0ea94797-3772-40ff-b6fb-69f06c533be3/allotted-resources/allotted-resource/d519761d-c89c-4164-86c7-8f74952eea65","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"0ea94797-3772-40ff-b6fb-69f06c533be3"},{"relationship-key":"allotted-resource.id","relationship-value":"d519761d-c89c-4164-86c7-8f74952eea65"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sdwan-attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sdwan ar"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/8e07f832-3f50-4657-9b44-010049e8b488/allotted-resources/allotted-resource/65f21c28-8b19-4769-8f08-174e2afa5488","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"8e07f832-3f50-4657-9b44-010049e8b488"},{"relationship-key":"allotted-resource.id","relationship-value":"65f21c28-8b19-4769-8f08-174e2afa5488"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sotn attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"ston ar"}]}]}},{"service-instance-id":"0ea94797-3772-40ff-b6fb-69f06c533be3","service-instance-name":"SDWANVPNInfra","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"e2b217d6-7cac-4156-9f44-f9b010b350a6","model-version-id":"20d9e7dc-f030-4230-af79-ba0bde7cbe2e","resource-version":"1537864894560","input-parameters":"{\n \"service\":{\n \"name\":\"SDWANVPNInfra\",\n \"description\":\"SDWANVPNInfra\",\n \"serviceInvariantUuid\":\"e2b217d6-7cac-4156-9f44-f9b010b350a6\",\n \"serviceUuid\":\"20d9e7dc-f030-4230-af79-ba0bde7cbe2e\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SDWANConnectivity 0\",\n \"resourceInvariantUuid\":\"f99a9a23-c88e-44ff-a4dc-22b88675d278\",\n \"resourceUuid\":\"7baa7742-3a13-4288-8330-868015adc340\",\n \"resourceCustomizationUuid\":\"94ec574b-2306-4cbd-8214-09662b040f73\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF 0\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"a7baba5d-6ac3-42b5-b47d-070841303ab1\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"sdwanconnectivity0_name\":\"SDWANVPNInfra\",\n \"sdwanconnectivity0_topology\":\"hub-spoke\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"sdwan-vpn","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/sdwan-vpns/sdwan-vpn/0d8707cd-9d27-4503-a0b0-e9b1b1a83b1e","relationship-data":[{"relationship-key":"sdwan-vpn.sdwan-vpn-id","relationship-value":"0d8707cd-9d27-4503-a0b0-e9b1b1a83b1e"}],"related-to-property":[{"property-key":"sdwan-vpn.sdwan-vpn-name"}]},{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/15e88f8e-473f-4d88-92f8-6739a42baa2g","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"15e88f8e-473f-4d88-92f8-6739a42baa2g"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"15e88f8e-473f-4d88-92f8-6739a42baa2g"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/2d55a540-f6d3-4108-9bb4-290574b87a6c/allotted-resources/allotted-resource/c797bba9-eb90-4825-b1c2-adbd1a31101f","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"2d55a540-f6d3-4108-9bb4-290574b87a6c"},{"relationship-key":"allotted-resource.id","relationship-value":"c797bba9-eb90-4825-b1c2-adbd1a31101f"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sdwan-attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sdwan ar"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205/allotted-resources/allotted-resource/9a7329e6-8961-4008-9dbe-adeacfcd20da","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"a6d69c62-75b5-4f04-8cd7-9ca5dfcc4205"},{"relationship-key":"allotted-resource.id","relationship-value":"9a7329e6-8961-4008-9dbe-adeacfcd20da"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sdwan-attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sdwan ar"}]}]}},{"service-instance-id":"f08067b8-a07b-4c41-b750-5f9b35281e67","service-instance-name":"siteFangshanQu","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"499e5e60-c8b2-4ea6-8c4e-7739420673a9","model-version-id":"8ec97da1-1e0a-4198-9c9a-3da2c60d7974","resource-version":"1537867265890","selflink":"restconf/config/GENERIC-RESOURCE-API:services/service/506b87a5-72fe-4197-a307-6929c3871ab2/service-data/service-topology/","input-parameters":"{\n \"service\":{\n \"name\":\"siteFangshanQu\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra-2\",\n \"sitevf_site_address\":\"CMCC International Data Center,Hongkong\",\n \"sitevf_site_controlPoint\":\"CMCC_VCPE\",\n \"sitevf_site_description\":\"CMCC_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"siteFangshanQu\",\n \"sitevf_site_postcode\":\"999077\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/506b87a5-72fe-4197-a307-6929c3871ab2","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"506b87a5-72fe-4197-a307-6929c3871ab2"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"506b87a5-72fe-4197-a307-6929c3871ab2"}]}]}},{"service-instance-id":"6a6478d1-f62f-439c-8f16-6038a44af8c3","service-instance-name":"SDWANVPNInfra-2","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"e2b217d6-7cac-4156-9f44-f9b010b350a6","model-version-id":"20d9e7dc-f030-4230-af79-ba0bde7cbe2e","resource-version":"1537779569094","input-parameters":"{\n \"service\":{\n \"name\":\"SDWANVPNInfra-2\",\n \"description\":\"SDWANVPNInfra\",\n \"serviceInvariantUuid\":\"e2b217d6-7cac-4156-9f44-f9b010b350a6\",\n \"serviceUuid\":\"20d9e7dc-f030-4230-af79-ba0bde7cbe2e\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SDWANConnectivity 0\",\n \"resourceInvariantUuid\":\"f99a9a23-c88e-44ff-a4dc-22b88675d278\",\n \"resourceUuid\":\"7baa7742-3a13-4288-8330-868015adc340\",\n \"resourceCustomizationUuid\":\"94ec574b-2306-4cbd-8214-09662b040f73\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF 0\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"a7baba5d-6ac3-42b5-b47d-070841303ab1\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"sdwanconnectivity0_name\":\"CMCCVPN\",\n \"sdwanconnectivity0_topology\":\"hub-spoke\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/de888731-eac8-454c-bbb2-927a85ba2d1c","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"de888731-eac8-454c-bbb2-927a85ba2d1c"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"de888731-eac8-454c-bbb2-927a85ba2d1c"}]}]}},{"service-instance-id":"fd0b9f0a-0d5c-4f69-a3dc-fb9cabde9db8","service-instance-name":"DcXichengQuBeijing","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"499e5e60-c8b2-4ea6-8c4e-7739420673a9","model-version-id":"8ec97da1-1e0a-4198-9c9a-3da2c60d7974","resource-version":"1537867379064","selflink":"restconf/config/GENERIC-RESOURCE-API:services/service/289b87a5-72fe-4197-a307-6929c3831f82/service-data/service-topology/","input-parameters":"{\n \"service\":{\n \"name\":\"DcXichengQuBeijing\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra\",\n \"sitevf_site_address\":\"Chuangxin Building,Tianningsi,Xicheng,Beijing\",\n \"sitevf_site_controlPoint\":\"CMCC_VCPE\",\n \"sitevf_site_description\":\"CMCC_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"DcXichengQuBeijing\",\n \"sitevf_site_postcode\":\"100095\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/289b87a5-72fe-4197-a307-6929c3831f82","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"289b87a5-72fe-4197-a307-6929c3831f82"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"289b87a5-72fe-4197-a307-6929c3831f82"}]}]}},{"service-instance-id":"2d55a540-f6d3-4108-9bb4-290574b87a6c","service-instance-name":"siteLondon","service-type":"E2E Service","service-role":"E2E Service","model-invariant-id":"499e5e60-c8b2-4ea6-8c4e-7739420673a9","model-version-id":"8ec97da1-1e0a-4198-9c9a-3da2c60d7974","resource-version":"1537866122803","input-parameters":"{\n \"service\":{\n \"name\":\"siteLondon\",\n \"description\":\"SiteService\",\n \"serviceInvariantUuid\":\"499e5e60-c8b2-4ea6-8c4e-7739420673a9\",\n \"serviceUuid\":\"8ec97da1-1e0a-4198-9c9a-3da2c60d7974\",\n \"globalSubscriberId\":\"demo\",\n \"serviceType\":\"ccvpn\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n {\n \"resourceName\":\"SiteVF\",\n \"resourceInvariantUuid\":\"0c0e1cbe-6e01-4f9e-8c45-a9700ebc14df\",\n \"resourceUuid\":\"4ad2d390-5c51-45f5-9710-b467a4ec7a73\",\n \"resourceCustomizationUuid\":\"66590e07-0777-415c-af44-36347cf3ddd3\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"mpls\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"205456e7-3dc0-40c4-8cb0-28e6c1877042\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"deviceVF\",\n \"resourceInvariantUuid\":\"c726490a-0ce2-4bc7-abea-dade66bfb13d\",\n \"resourceUuid\":\"0e2de9d8-d76b-4134-b5f1-41e79056adbe\",\n \"resourceCustomizationUuid\":\"5bc1373e-9a36-4a00-8c62-784e0bc417ad\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sdwanvpnattachmentVF\",\n \"resourceInvariantUuid\":\"f714feec-1aef-4890-abba-f8f3a906935f\",\n \"resourceUuid\":\"709919b7-75fd-4e49-8398-67853323ff55\",\n \"resourceCustomizationUuid\":\"debd988f-fe04-4940-a5cb-37f61d84eab4\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"internet\",\n \"resourceInvariantUuid\":\"97a3e552-08c4-4697-aeeb-d8d3e09ce58e\",\n \"resourceUuid\":\"63d8e1af-32dc-4c71-891d-e3f7b6a976d2\",\n \"resourceCustomizationUuid\":\"64b8e8ba-62b9-4db6-b420-1ca7067d63e0\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"sotnvpnattachmentvF\",\n \"resourceInvariantUuid\":\"97c4a3c6-2943-41af-8717-2f3183f944be\",\n \"resourceUuid\":\"44b777ee-9793-465d-8053-d8e86d2e2362\",\n \"resourceCustomizationUuid\":\"37aeb073-c75d-4cf6-a7fa-a1af862ef58a\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n },\n {\n \"resourceName\":\"SPPartnerVF\",\n \"resourceInvariantUuid\":\"072f9238-15b0-4bc5-a5f5-f18548739470\",\n \"resourceUuid\":\"81b9430b-8abe-45d6-8bf9-f41a8f5c735f\",\n \"resourceCustomizationUuid\":\"cd0b4b9c-66c6-49c5-b346-7580e4b6c394\",\n \"parameters\":{\n \"locationConstraints\":[\n\n ],\n \"resources\":[\n\n ],\n \"requestInputs\":{\n\n }\n }\n }\n ],\n \"requestInputs\":{\n \"devicevf_device_class\":\"PNF\",\n \"devicevf_device_esn\":\"2102351BTJ10HB000075\",\n \"devicevf_device_name\":\"50.47\",\n \"devicevf_device_systemIp\":\"192.168.1.47\",\n \"devicevf_device_type\":\"AR161EW\",\n \"devicevf_device_vendor\":\"huawei\",\n \"devicevf_device_version\":\"1.0\",\n \"internet_sitewanport_description\":\"internet\",\n \"internet_sitewanport_deviceName\":\"50.47\",\n \"internet_sitewanport_inputBandwidth\":\"100\",\n \"internet_sitewanport_ipAddress\":\"100.2.30.9\",\n \"internet_sitewanport_name\":\"internet\",\n \"internet_sitewanport_outputBandwidth\":\"100\",\n \"internet_sitewanport_portNumber\":\"0/0/2\",\n \"internet_sitewanport_portType\":\"GE\",\n \"internet_sitewanport_providerIpAddress\":\"100.2.30.10\",\n \"internet_sitewanport_transportNetworkName\":\"internet\",\n \"mpls_sitewanport_description\":\"mpls\",\n \"mpls_sitewanport_deviceName\":\"50.47\",\n \"mpls_sitewanport_inputBandwidth\":\"100\",\n \"mpls_sitewanport_ipAddress\":\"10.2.30.7\",\n \"mpls_sitewanport_name\":\"mpls\",\n \"mpls_sitewanport_outputBandwidth\":\"100\",\n \"mpls_sitewanport_portNumber\":\"0/0/1\",\n \"mpls_sitewanport_portType\":\"GE\",\n \"mpls_sitewanport_providerIpAddress\":\"10.2.30.8\",\n \"mpls_sitewanport_transportNetworkName\":\"internet\",\n \"sdwanvpnattachmentvf_sdwancondition_role\":\"spoke\",\n \"sdwanvpnattachmentvf_sdwancondition_sdwanVpnName\":\"SDWANVPNInfra-2\",\n \"sitevf_site_address\":\"VDF International Data Center,Hongkong\",\n \"sitevf_site_controlPoint\":\"VDF_VCPE\",\n \"sitevf_site_description\":\"VDF_vGW\",\n \"sitevf_site_emails\":\"\",\n \"sitevf_site_latitude\":\"\",\n \"sitevf_site_longitude\":\"\",\n \"sitevf_site_name\":\"siteLondon\",\n \"sitevf_site_postcode\":\"999077\",\n \"sitevf_site_role\":\"sd-wan-edge\",\n \"sitevf_site_type\":\"single-gateway\",\n \"sotnvpnattachmentvf_sotncondition_clientSignal\":\"\",\n \"sotnvpnattachmentvf_sotncondition_cVLAN\":\"\",\n \"sotnvpnattachmentvf_sotncondition_sotnVpnName\":\"SOTN L2\"\n }\n }\n }\n}","relationship-list":{"relationship":[{"related-to":"wan-port-config","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/wan-port-configs/wan-port-config/52ae7944-12b3-4766-848e-e43088947af9","relationship-data":[{"relationship-key":"wan-port-config.wan-port-config-id","relationship-value":"52ae7944-12b3-4766-848e-e43088947af9"}],"related-to-property":[{"property-key":"wan-port-config.wan-port-config-name","property-value":"intenet"}]},{"related-to":"site-resource","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/site-resources/site-resource/a22193fc-d1b5-41a7-9033-14339838b0c5","relationship-data":[{"relationship-key":"site-resource.site-resource-id","relationship-value":"a22193fc-d1b5-41a7-9033-14339838b0c5"}],"related-to-property":[{"property-key":"site-resource.site-resource-name","property-value":"travelSite"}]},{"related-to":"wan-port-config","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/wan-port-configs/wan-port-config/9fc7c231-1b71-49e6-8390-e92b707e7615","relationship-data":[{"relationship-key":"wan-port-config.wan-port-config-id","relationship-value":"9fc7c231-1b71-49e6-8390-e92b707e7615"}],"related-to-property":[{"property-key":"wan-port-config.wan-port-config-name","property-value":"mpls"}]},{"related-to":"device","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/network/devices/device/f0cf1e06-7be8-4602-83cb-60d87d8e7ef3","relationship-data":[{"relationship-key":"device.device-id","relationship-value":"f0cf1e06-7be8-4602-83cb-60d87d8e7ef3"}],"related-to-property":[{"property-key":"device.device-name","property-value":"CentSpokeDevice"}]},{"related-to":"sp-partner","relationship-label":"org.onap.relationships.inventory.PartOf","related-link":"/aai/v13/business/sp-partners/sp-partner/3addd6b9-b05f-4841-881c-1ce2c753513f","relationship-data":[{"relationship-key":"sp-partner.sp-partner-id","relationship-value":"3addd6b9-b05f-4841-881c-1ce2c753513f"}],"related-to-property":[{"property-key":"sp-partner.sp-partner-id","property-value":"3addd6b9-b05f-4841-881c-1ce2c753513f"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/0ea94797-3772-40ff-b6fb-69f06c533be3/allotted-resources/allotted-resource/f1523ca9-6b56-482e-b3a4-a2f8dcbfba12","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"0ea94797-3772-40ff-b6fb-69f06c533be3"},{"relationship-key":"allotted-resource.id","relationship-value":"f1523ca9-6b56-482e-b3a4-a2f8dcbfba12"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sdwan-attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sdwan ar"}]},{"related-to":"allotted-resource","relationship-label":"org.onap.relationships.inventory.Uses","related-link":"/aai/v13/business/customers/customer/demo/service-subscriptions/service-subscription/ccvpn/service-instances/service-instance/8e07f832-3f50-4657-9b44-010049e8b488/allotted-resources/allotted-resource/d1a6b573-0595-4468-bab9-02465c295618","relationship-data":[{"relationship-key":"customer.global-customer-id","relationship-value":"demo"},{"relationship-key":"service-subscription.service-type","relationship-value":"ccvpn"},{"relationship-key":"service-instance.service-instance-id","relationship-value":"8e07f832-3f50-4657-9b44-010049e8b488"},{"relationship-key":"allotted-resource.id","relationship-value":"d1a6b573-0595-4468-bab9-02465c295618"}],"related-to-property":[{"property-key":"allotted-resource.description","property-value":"sotn attachment"},{"property-key":"allotted-resource.allotted-resource-name","property-value":"sotn ar"}]}]}}]} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/json/status2.json b/usecaseui-portal/src/assets/json/status2.json
deleted file mode 100644
index 05e0a4fc..00000000
--- a/usecaseui-portal/src/assets/json/status2.json
+++ /dev/null
@@ -1 +0,0 @@
-"fail"
diff --git a/usecaseui-portal/src/index.html b/usecaseui-portal/src/index.html
index a2d2186f..efc279d1 100644
--- a/usecaseui-portal/src/index.html
+++ b/usecaseui-portal/src/index.html
@@ -15,6 +15,7 @@
-->
<!doctype html>
<html lang="en">
+
<head>
<meta charset="utf-8">
<title>UUI</title>
@@ -23,7 +24,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
+
<body>
<app-root></app-root>
</body>
-</html>
+
+</html> \ No newline at end of file
diff --git a/usecaseui-portal/src/styles.less b/usecaseui-portal/src/styles.less
index 4dcc0f3e..63c911e3 100644
--- a/usecaseui-portal/src/styles.less
+++ b/usecaseui-portal/src/styles.less
@@ -465,7 +465,7 @@ nz-modal .serviceCreationModel.ant-modal,nz-modal .deleteModel.ant-modal, nz-mod
}
.ant-table-placeholder{
margin-top: 30px;
- background:url("./assets/images/noDatalist.png") no-repeat 50% 0;
+ background:url("assets/images/noDatalist.png") no-repeat 50% 0;
span{
display: inline-block;
padding-top: 60px;
@@ -515,7 +515,7 @@ nz-modal .serviceCreationModel.ant-modal,nz-modal .deleteModel.ant-modal, nz-mod
.ant-table-placeholder{
margin-top: 30px;
font-size: 16px;
- background:url("./assets/images/noDatalist.png") no-repeat 50% 0;
+ background:url("assets/images/noDatalist.png") no-repeat 50% 0;
span {
display: inline-block;
padding-top: 50px;