From 30db72e585afc0c80388b98ec0c23943434adfbe Mon Sep 17 00:00:00 2001 From: Julien Dubois Date: Thu, 2 May 2019 22:02:06 +0200 Subject: [PATCH] Initial application generated by JHipster-6.0.0 --- .editorconfig | 15 +- .gitignore | 3 +- .mvn/wrapper/MavenWrapperDownloader.java | 59 +- .mvn/wrapper/maven-wrapper.jar | Bin 48337 -> 50709 bytes .mvn/wrapper/maven-wrapper.properties | 3 +- .prettierignore | 1 + .prettierrc | 2 +- .yo-rc.json | 7 +- README.md | 62 +- angular.json | 68 +- mvnw | 32 +- mvnw.cmd | 39 +- package-lock.json | 18145 ---------------- package.json | 278 +- pom.xml | 435 +- proxy.conf.json | 10 +- sonar-project.properties | 33 + src/main/docker/.dockerignore | 2 - src/main/docker/Dockerfile | 2 +- src/main/docker/app.yml | 27 +- src/main/docker/entrypoint.sh | 2 +- .../grafana/provisioning/dashboards/JVM.json | 3778 ++++ .../provisioning/dashboards/dashboard.yml | 11 + .../provisioning/datasources/datasource.yml | 50 + src/main/docker/monitoring.yml | 26 + src/main/docker/mysql.yml | 22 +- src/main/docker/prometheus/prometheus.yml | 26 + src/main/docker/sonar.yml | 10 +- .../jhipster/sample/ApplicationWebXml.java | 2 +- .../sample/JhipsterSampleApplicationApp.java | 10 +- .../sample/aop/logging/LoggingAspect.java | 13 +- .../sample/config/ApplicationProperties.java | 2 +- .../sample/config/AsyncConfiguration.java | 36 +- .../sample/config/CacheConfiguration.java | 39 +- .../jhipster/sample/config/Constants.java | 6 +- .../sample/config/DatabaseConfiguration.java | 6 +- .../sample/config/DefaultProfileUtil.java | 22 +- .../sample/config/JacksonConfiguration.java | 2 - .../sample/config/LiquibaseConfiguration.java | 18 +- .../sample/config/LoggingConfiguration.java | 173 +- .../sample/config/SecurityConfiguration.java | 40 +- .../jhipster/sample/config/WebConfigurer.java | 25 +- .../config/audit/AuditEventConverter.java | 20 +- .../jhipster/sample/domain/Authority.java | 10 +- .../jhipster/sample/domain/BankAccount.java | 15 +- .../github/jhipster/sample/domain/Label.java | 12 +- .../jhipster/sample/domain/Operation.java | 14 +- .../sample/domain/PersistentAuditEvent.java | 8 +- .../github/jhipster/sample/domain/User.java | 13 +- .../repository/AuthorityRepository.java | 2 +- .../repository/BankAccountRepository.java | 2 +- .../CustomAuditEventRepository.java | 2 +- .../repository/OperationRepository.java | 3 +- .../PersistenceAuditEventRepository.java | 2 +- .../sample/repository/UserRepository.java | 4 +- .../sample/security/SecurityUtils.java | 12 +- .../security/SpringSecurityAuditorAware.java | 2 +- .../sample/security/jwt/TokenProvider.java | 8 +- .../sample/service/AuditEventService.java | 2 +- .../jhipster/sample/service/MailService.java | 2 +- .../jhipster/sample/service/UserService.java | 17 +- .../sample/service/mapper/UserMapper.java | 2 +- .../sample/service/util/RandomUtil.java | 6 +- .../sample/web/rest/AccountResource.java | 72 +- .../sample/web/rest/AuditResource.java | 35 +- .../sample/web/rest/BankAccountResource.java | 52 +- .../web/rest/ClientForwardController.java | 17 + .../sample/web/rest/LabelResource.java | 52 +- .../sample/web/rest/LogsResource.java | 36 - .../sample/web/rest/OperationResource.java | 64 +- .../sample/web/rest/UserJWTController.java | 10 +- .../sample/web/rest/UserResource.java | 64 +- .../errors/CustomParameterizedException.java | 54 - .../web/rest/errors/ErrorConstants.java | 1 - .../web/rest/errors/ExceptionTranslator.java | 12 +- .../errors/InternalServerErrorException.java | 16 - .../sample/web/rest/util/HeaderUtil.java | 45 - .../sample/web/rest/util/PaginationUtil.java | 45 - .../jhipster/sample/web/rest/vm/LoggerVM.java | 46 - .../jhipster/sample/web/rest/vm/LoginVM.java | 2 +- src/main/jib/entrypoint.sh | 2 +- src/main/resources/config/application-dev.yml | 176 +- .../resources/config/application-prod.yml | 167 +- src/main/resources/config/application-tls.yml | 19 +- src/main/resources/config/application.yml | 203 +- .../00000000000000_initial_schema.xml | 14 +- ...0150805124838_added_entity_BankAccount.xml | 32 +- ...8_added_entity_constraints_BankAccount.xml | 2 +- .../20150805124936_added_entity_Label.xml | 29 +- .../20150805125054_added_entity_Operation.xml | 33 +- ...054_added_entity_constraints_Operation.xml | 3 +- .../{authorities.csv => data/authority.csv} | 0 .../config/liquibase/data/bank_account.csv | 11 + .../resources/config/liquibase/data/label.csv | 11 + .../config/liquibase/data/operation.csv | 11 + .../liquibase/{users.csv => data/user.csv} | 0 .../user_authority.csv} | 0 .../resources/config/liquibase/master.xml | 2 +- src/main/resources/config/tls/keystore.p12 | Bin 2615 -> 2615 bytes src/main/resources/logback-spring.xml | 1 + .../templates/mail/activationEmail.html | 2 +- .../templates/mail/creationEmail.html | 2 +- .../templates/mail/passwordResetEmail.html | 2 +- src/main/webapp/WEB-INF/web.xml | 13 + src/main/webapp/app/account/account.module.ts | 36 +- src/main/webapp/app/account/account.route.ts | 8 +- .../account/activate/activate.component.ts | 46 +- .../app/account/activate/activate.route.ts | 12 +- .../app/account/activate/activate.service.ts | 12 +- .../password-reset-finish.component.html | 34 +- .../finish/password-reset-finish.component.ts | 101 +- .../finish/password-reset-finish.route.ts | 12 +- .../finish/password-reset-finish.service.ts | 8 +- .../init/password-reset-init.component.html | 18 +- .../init/password-reset-init.component.ts | 71 +- .../init/password-reset-init.route.ts | 12 +- .../init/password-reset-init.service.ts | 8 +- .../password-strength-bar.component.ts | 133 +- .../password/password-strength-bar.css | 24 - .../password/password-strength-bar.scss | 23 + .../account/password/password.component.html | 51 +- .../account/password/password.component.ts | 68 +- .../app/account/password/password.route.ts | 14 +- .../app/account/password/password.service.ts | 8 +- .../account/register/register.component.html | 67 +- .../account/register/register.component.ts | 119 +- .../app/account/register/register.route.ts | 12 +- .../app/account/register/register.service.ts | 8 +- .../account/settings/settings.component.html | 42 +- .../account/settings/settings.component.ts | 125 +- .../app/account/settings/settings.route.ts | 14 +- src/main/webapp/app/admin/admin.module.ts | 72 +- src/main/webapp/app/admin/admin.route.ts | 16 +- .../app/admin/audits/audit-data.model.ts | 2 +- .../webapp/app/admin/audits/audit.model.ts | 2 +- .../app/admin/audits/audits.component.ts | 191 +- .../webapp/app/admin/audits/audits.route.ts | 18 +- .../webapp/app/admin/audits/audits.service.ts | 22 +- .../configuration/configuration.component.ts | 60 +- .../configuration/configuration.route.ts | 10 +- .../configuration/configuration.service.ts | 100 +- .../webapp/app/admin/docs/docs.component.ts | 6 +- src/main/webapp/app/admin/docs/docs.route.ts | 10 +- .../admin/health/health-modal.component.ts | 52 +- .../app/admin/health/health.component.ts | 94 +- .../webapp/app/admin/health/health.route.ts | 10 +- .../webapp/app/admin/health/health.service.ts | 210 +- src/main/webapp/app/admin/logs/log.model.ts | 2 +- .../webapp/app/admin/logs/logs.component.ts | 43 +- src/main/webapp/app/admin/logs/logs.route.ts | 10 +- .../webapp/app/admin/logs/logs.service.ts | 15 +- .../app/admin/metrics/metrics.component.ts | 56 +- .../webapp/app/admin/metrics/metrics.route.ts | 10 +- .../app/admin/metrics/metrics.service.ts | 14 +- ...user-management-delete-dialog.component.ts | 29 +- .../user-management-detail.component.ts | 18 +- .../user-management-update.component.html | 54 +- .../user-management-update.component.ts | 126 +- .../user-management.component.html | 2 +- .../user-management.component.ts | 249 +- .../user-management/user-management.route.ts | 86 +- src/main/webapp/app/app-routing.module.ts | 26 +- src/main/webapp/app/app.main.ts | 8 +- src/main/webapp/app/app.module.ts | 92 +- .../webapp/app/blocks/config/prod.config.ts | 8 +- .../blocks/config/uib-pagination.config.ts | 14 +- .../interceptor/auth-expired.interceptor.ts | 30 +- .../blocks/interceptor/auth.interceptor.ts | 26 +- .../interceptor/errorhandler.interceptor.ts | 30 +- .../interceptor/notification.interceptor.ts | 54 +- .../webapp/app/core/auth/account.service.ts | 170 +- .../webapp/app/core/auth/auth-jwt.service.ts | 88 +- src/main/webapp/app/core/auth/csrf.service.ts | 8 +- .../app/core/auth/state-storage.service.ts | 80 +- .../core/auth/user-route-access-service.ts | 80 +- src/main/webapp/app/core/core.module.ts | 32 +- .../app/core/language/language.constants.ts | 4 +- .../app/core/language/language.helper.ts | 94 +- .../app/core/login/login-modal.service.ts | 34 +- .../webapp/app/core/login/login.service.ts | 51 +- .../webapp/app/core/user/account.model.ts | 20 +- src/main/webapp/app/core/user/user.model.ts | 84 +- src/main/webapp/app/core/user/user.service.ts | 42 +- .../bank-account-delete-dialog.component.ts | 93 +- .../bank-account-detail.component.ts | 24 +- .../bank-account-update.component.html | 26 +- .../bank-account-update.component.ts | 134 +- .../bank-account/bank-account.component.html | 2 +- .../bank-account/bank-account.component.ts | 88 +- .../bank-account/bank-account.module.ts | 50 +- .../bank-account/bank-account.route.ts | 130 +- .../bank-account/bank-account.service.ts | 36 +- src/main/webapp/app/entities/entity.module.ts | 42 +- .../label/label-delete-dialog.component.ts | 82 +- .../entities/label/label-detail.component.ts | 24 +- .../label/label-update.component.html | 16 +- .../entities/label/label-update.component.ts | 144 +- .../app/entities/label/label.component.html | 2 +- .../app/entities/label/label.component.ts | 88 +- .../webapp/app/entities/label/label.module.ts | 38 +- .../webapp/app/entities/label/label.route.ts | 130 +- .../app/entities/label/label.service.ts | 36 +- .../operation-delete-dialog.component.ts | 86 +- .../operation/operation-detail.component.ts | 24 +- .../operation/operation-update.component.html | 37 +- .../operation/operation-update.component.ts | 191 +- .../operation/operation.component.html | 2 +- .../entities/operation/operation.component.ts | 158 +- .../entities/operation/operation.module.ts | 50 +- .../app/entities/operation/operation.route.ts | 130 +- .../entities/operation/operation.service.ts | 92 +- src/main/webapp/app/home/home.component.ts | 58 +- src/main/webapp/app/home/home.module.ts | 6 +- src/main/webapp/app/home/home.route.ts | 12 +- .../webapp/app/home/{home.css => home.scss} | 26 +- .../app/layouts/error/error.component.ts | 38 +- .../webapp/app/layouts/error/error.route.ts | 58 +- .../app/layouts/footer/footer.component.ts | 4 +- .../webapp/app/layouts/main/main.component.ts | 40 +- .../layouts/navbar/active-menu.directive.ts | 30 +- .../app/layouts/navbar/navbar.component.ts | 110 +- src/main/webapp/app/layouts/navbar/navbar.css | 89 - .../webapp/app/layouts/navbar/navbar.route.ts | 6 +- .../webapp/app/layouts/navbar/navbar.scss | 42 + .../layouts/profiles/page-ribbon.component.ts | 28 +- .../app/layouts/profiles/page-ribbon.css | 32 - .../app/layouts/profiles/page-ribbon.scss | 31 + .../layouts/profiles/profile-info.model.ts | 8 +- .../app/layouts/profiles/profile.service.ts | 54 +- src/main/webapp/app/polyfills.ts | 69 +- .../app/shared/alert/alert-error.component.ts | 187 +- .../app/shared/alert/alert.component.ts | 47 +- .../auth/has-any-authority.directive.ts | 36 +- .../language/find-language-from-key.pipe.ts | 14 +- .../app/shared/login/login.component.html | 10 +- .../app/shared/login/login.component.ts | 135 +- .../app/shared/model/bank-account.model.ts | 12 +- .../webapp/app/shared/model/label.model.ts | 8 +- .../app/shared/model/operation.model.ts | 28 +- .../webapp/app/shared/shared-common.module.ts | 6 +- .../webapp/app/shared/shared-libs.module.ts | 16 +- src/main/webapp/app/shared/shared.module.ts | 32 +- .../app/shared/util/datepicker-adapter.ts | 16 +- .../webapp/app/shared/util/request-util.ts | 26 +- src/main/webapp/app/vendor.ts | 70 +- src/main/webapp/content/css/documentation.css | 3 - src/main/webapp/content/css/global.css | 227 - src/main/webapp/content/css/loading.css | 240 +- src/main/webapp/content/css/vendor.css | 2 - .../jhipster_family_member_0_head-192.png | Bin 13322 -> 16607 bytes .../jhipster_family_member_0_head-256.png | Bin 17812 -> 21670 bytes .../jhipster_family_member_0_head-384.png | Bin 27723 -> 33934 bytes .../jhipster_family_member_0_head-512.png | Bin 37449 -> 36011 bytes .../jhipster_family_member_1_head-192.png | Bin 19660 -> 23970 bytes .../jhipster_family_member_1_head-256.png | Bin 29152 -> 35277 bytes .../jhipster_family_member_1_head-384.png | Bin 48895 -> 62270 bytes .../jhipster_family_member_1_head-512.png | Bin 68803 -> 68086 bytes .../jhipster_family_member_2_head-192.png | Bin 11463 -> 14616 bytes .../jhipster_family_member_2_head-256.png | Bin 15638 -> 19382 bytes .../jhipster_family_member_2_head-384.png | Bin 23850 -> 30748 bytes .../jhipster_family_member_2_head-512.png | Bin 32300 -> 32506 bytes .../jhipster_family_member_3_head-192.png | Bin 13573 -> 16980 bytes .../jhipster_family_member_3_head-256.png | Bin 19239 -> 23004 bytes .../jhipster_family_member_3_head-384.png | Bin 30253 -> 37826 bytes .../jhipster_family_member_3_head-512.png | Bin 41857 -> 42115 bytes .../content/scss/_bootstrap-variables.scss | 42 + src/main/webapp/content/scss/global.scss | 182 + src/main/webapp/content/scss/vendor.scss | 11 + src/main/webapp/i18n/en/activate.json | 12 +- src/main/webapp/i18n/en/audits.json | 48 +- src/main/webapp/i18n/en/bankAccount.json | 42 +- src/main/webapp/i18n/en/configuration.json | 14 +- src/main/webapp/i18n/en/error.json | 24 +- src/main/webapp/i18n/en/global.json | 262 +- src/main/webapp/i18n/en/health.json | 50 +- src/main/webapp/i18n/en/home.json | 34 +- src/main/webapp/i18n/en/label.json | 38 +- src/main/webapp/i18n/en/login.json | 32 +- src/main/webapp/i18n/en/logs.json | 16 +- src/main/webapp/i18n/en/metrics.json | 194 +- src/main/webapp/i18n/en/operation.json | 44 +- src/main/webapp/i18n/en/password.json | 18 +- src/main/webapp/i18n/en/register.json | 40 +- src/main/webapp/i18n/en/reset.json | 48 +- src/main/webapp/i18n/en/sessions.json | 24 +- src/main/webapp/i18n/en/settings.json | 54 +- src/main/webapp/i18n/en/user-management.json | 56 +- src/main/webapp/index.html | 2 +- src/main/webapp/manifest.webapp | 2 +- .../simulations/BankAccountGatlingTest.scala | 10 +- .../simulations/LabelGatlingTest.scala | 10 +- .../simulations/OperationGatlingTest.scala | 10 +- .../sample/config/WebConfigurerTest.java | 35 +- ...ZoneTest.java => HibernateTimeZoneIT.java} | 13 +- ...java => CustomAuditEventRepositoryIT.java} | 22 +- .../timezone/DateTimeWrapperRepository.java | 2 +- ...t.java => DomainUserDetailsServiceIT.java} | 26 +- .../security/SecurityUtilsUnitTest.java | 8 +- .../sample/security/jwt/JWTFilterTest.java | 6 +- .../security/jwt/TokenProviderTest.java | 14 +- ...ServiceIntTest.java => MailServiceIT.java} | 15 +- ...ServiceIntTest.java => UserServiceIT.java} | 45 +- ...{UserMapperTest.java => UserMapperIT.java} | 34 +- ...rceIntTest.java => AccountResourceIT.java} | 15 +- ...ourceIntTest.java => AuditResourceIT.java} | 22 +- ...ntTest.java => BankAccountResourceIT.java} | 22 +- .../web/rest/ClientForwardControllerIT.java | 66 + ...ourceIntTest.java => LabelResourceIT.java} | 22 +- .../sample/web/rest/LogsResourceIntTest.java | 66 - ...eIntTest.java => OperationResourceIT.java} | 22 +- .../jhipster/sample/web/rest/TestUtil.java | 28 +- ...rIntTest.java => UserJWTControllerIT.java} | 20 +- ...sourceIntTest.java => UserResourceIT.java} | 19 +- ...ntTest.java => ExceptionTranslatorIT.java} | 35 +- .../ExceptionTranslatorTestController.java | 15 +- .../web/rest/util/PaginationUtilUnitTest.java | 44 - .../javascript/e2e/account/account.spec.ts | 194 +- .../e2e/admin/administration.spec.ts | 108 +- .../bank-account/bank-account.page-object.ts | 162 +- .../bank-account/bank-account.spec.ts | 98 +- .../e2e/entities/label/label.page-object.ts | 92 +- .../e2e/entities/label/label.spec.ts | 88 +- .../operation/operation.page-object.ts | 220 +- .../e2e/entities/operation/operation.spec.ts | 104 +- .../e2e/page-objects/jhi-page-objects.ts | 436 +- src/test/javascript/jest-global-mocks.ts | 16 +- src/test/javascript/jest.conf.js | 11 +- .../activate/activate.component.spec.ts | 102 +- .../password-reset-finish.component.spec.ts | 195 +- .../password-reset-init.component.spec.ts | 196 +- .../password-strength-bar.component.spec.ts | 72 +- .../password/password.component.spec.ts | 169 +- .../register/register.component.spec.ts | 223 +- .../settings/settings.component.spec.ts | 127 +- .../app/admin/audits/audits.component.spec.ts | 222 +- .../app/admin/audits/audits.service.spec.ts | 88 +- .../configuration.component.spec.ts | 104 +- .../configuration.service.spec.ts | 103 +- .../app/admin/health/health.component.spec.ts | 586 +- .../app/admin/logs/logs.component.spec.ts | 132 +- .../spec/app/admin/logs/logs.service.spec.ts | 85 +- .../admin/metrics/metrics.component.spec.ts | 78 +- .../app/admin/metrics/metrics.service.spec.ts | 82 +- ...management-delete-dialog.component.spec.ts | 74 +- .../user-management-detail.component.spec.ts | 98 +- .../user-management-update.component.spec.ts | 165 +- .../user-management.component.spec.ts | 132 +- .../app/core/user/account.service.spec.ts | 159 +- .../spec/app/core/user/user.service.spec.ts | 95 +- ...nk-account-delete-dialog.component.spec.ts | 70 +- .../bank-account-detail.component.spec.ts | 48 +- .../bank-account-update.component.spec.ts | 100 +- .../bank-account.component.spec.ts | 66 +- .../bank-account/bank-account.service.spec.ts | 175 +- .../label-delete-dialog.component.spec.ts | 70 +- .../label/label-detail.component.spec.ts | 48 +- .../label/label-update.component.spec.ts | 100 +- .../entities/label/label.component.spec.ts | 66 +- .../app/entities/label/label.service.spec.ts | 171 +- .../operation-delete-dialog.component.spec.ts | 70 +- .../operation-detail.component.spec.ts | 48 +- .../operation-update.component.spec.ts | 100 +- .../operation/operation.component.spec.ts | 226 +- .../operation/operation.service.spec.ts | 225 +- .../alert/alert-error.component.spec.ts | 241 +- .../app/shared/login/login.component.spec.ts | 277 +- .../spec/helpers/mock-account.service.ts | 62 +- .../spec/helpers/mock-active-modal.service.ts | 12 +- .../spec/helpers/mock-alert.service.ts | 12 +- .../helpers/mock-event-manager.service.ts | 10 +- .../spec/helpers/mock-language.service.ts | 34 +- .../spec/helpers/mock-login.service.ts | 38 +- .../spec/helpers/mock-route.service.ts | 43 +- .../helpers/mock-state-storage.service.ts | 26 +- src/test/javascript/spec/helpers/spyobject.ts | 112 +- src/test/javascript/spec/test.module.ts | 110 +- src/test/resources/config/application.yml | 147 +- tsconfig-aot.json | 50 +- tsconfig.json | 44 +- tslint.json | 146 +- webpack/webpack.common.js | 4 +- webpack/webpack.dev.js | 51 +- webpack/webpack.prod.js | 56 +- 383 files changed, 14146 insertions(+), 28282 deletions(-) delete mode 100644 package-lock.json create mode 100644 sonar-project.properties create mode 100644 src/main/docker/grafana/provisioning/dashboards/JVM.json create mode 100644 src/main/docker/grafana/provisioning/dashboards/dashboard.yml create mode 100644 src/main/docker/grafana/provisioning/datasources/datasource.yml create mode 100644 src/main/docker/monitoring.yml create mode 100644 src/main/docker/prometheus/prometheus.yml create mode 100644 src/main/java/io/github/jhipster/sample/web/rest/ClientForwardController.java delete mode 100644 src/main/java/io/github/jhipster/sample/web/rest/LogsResource.java delete mode 100644 src/main/java/io/github/jhipster/sample/web/rest/errors/CustomParameterizedException.java delete mode 100644 src/main/java/io/github/jhipster/sample/web/rest/errors/InternalServerErrorException.java delete mode 100644 src/main/java/io/github/jhipster/sample/web/rest/util/HeaderUtil.java delete mode 100644 src/main/java/io/github/jhipster/sample/web/rest/util/PaginationUtil.java delete mode 100644 src/main/java/io/github/jhipster/sample/web/rest/vm/LoggerVM.java rename src/main/resources/config/liquibase/{authorities.csv => data/authority.csv} (100%) create mode 100644 src/main/resources/config/liquibase/data/bank_account.csv create mode 100644 src/main/resources/config/liquibase/data/label.csv create mode 100644 src/main/resources/config/liquibase/data/operation.csv rename src/main/resources/config/liquibase/{users.csv => data/user.csv} (100%) rename src/main/resources/config/liquibase/{users_authorities.csv => data/user_authority.csv} (100%) create mode 100644 src/main/webapp/WEB-INF/web.xml delete mode 100644 src/main/webapp/app/account/password/password-strength-bar.css create mode 100644 src/main/webapp/app/account/password/password-strength-bar.scss rename src/main/webapp/app/home/{home.css => home.scss} (52%) delete mode 100644 src/main/webapp/app/layouts/navbar/navbar.css create mode 100644 src/main/webapp/app/layouts/navbar/navbar.scss delete mode 100644 src/main/webapp/app/layouts/profiles/page-ribbon.css create mode 100644 src/main/webapp/app/layouts/profiles/page-ribbon.scss delete mode 100644 src/main/webapp/content/css/documentation.css delete mode 100644 src/main/webapp/content/css/global.css delete mode 100644 src/main/webapp/content/css/vendor.css create mode 100644 src/main/webapp/content/scss/_bootstrap-variables.scss create mode 100644 src/main/webapp/content/scss/global.scss create mode 100644 src/main/webapp/content/scss/vendor.scss rename src/test/java/io/github/jhipster/sample/config/timezone/{HibernateTimeZoneTest.java => HibernateTimeZoneIT.java} (96%) rename src/test/java/io/github/jhipster/sample/repository/{CustomAuditEventRepositoryIntTest.java => CustomAuditEventRepositoryIT.java} (92%) rename src/test/java/io/github/jhipster/sample/security/{DomainUserDetailsServiceIntTest.java => DomainUserDetailsServiceIT.java} (86%) rename src/test/java/io/github/jhipster/sample/service/{MailServiceIntTest.java => MailServiceIT.java} (97%) rename src/test/java/io/github/jhipster/sample/service/{UserServiceIntTest.java => UserServiceIT.java} (86%) rename src/test/java/io/github/jhipster/sample/service/mapper/{UserMapperTest.java => UserMapperIT.java} (86%) rename src/test/java/io/github/jhipster/sample/web/rest/{AccountResourceIntTest.java => AccountResourceIT.java} (99%) rename src/test/java/io/github/jhipster/sample/web/rest/{AuditResourceIntTest.java => AuditResourceIT.java} (93%) rename src/test/java/io/github/jhipster/sample/web/rest/{BankAccountResourceIntTest.java => BankAccountResourceIT.java} (96%) create mode 100644 src/test/java/io/github/jhipster/sample/web/rest/ClientForwardControllerIT.java rename src/test/java/io/github/jhipster/sample/web/rest/{LabelResourceIntTest.java => LabelResourceIT.java} (96%) delete mode 100644 src/test/java/io/github/jhipster/sample/web/rest/LogsResourceIntTest.java rename src/test/java/io/github/jhipster/sample/web/rest/{OperationResourceIntTest.java => OperationResourceIT.java} (97%) rename src/test/java/io/github/jhipster/sample/web/rest/{UserJWTControllerIntTest.java => UserJWTControllerIT.java} (90%) rename src/test/java/io/github/jhipster/sample/web/rest/{UserResourceIntTest.java => UserResourceIT.java} (98%) rename src/test/java/io/github/jhipster/sample/web/rest/errors/{ExceptionTranslatorIntTest.java => ExceptionTranslatorIT.java} (80%) delete mode 100644 src/test/java/io/github/jhipster/sample/web/rest/util/PaginationUtilUnitTest.java diff --git a/.editorconfig b/.editorconfig index a79c052f5..b5fd2984d 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,19 +6,18 @@ root = true [*] -# Change these settings to your own preference -indent_style = space -indent_size = 4 - # We recommend you to keep these unchanged end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[*.md] -trim_trailing_whitespace = false - -[package.json] +# Change these settings to your own preference indent_style = space +indent_size = 4 + +[*.{ts,tsx,js,jsx,json,css,scss}] indent_size = 2 + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitignore b/.gitignore index e746b25ae..4651812ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ ###################### # Project Specific ###################### -/target/www/** +/src/main/webapp/content/css/main.css +/target/classes/static/** /src/test/javascript/coverage/ ###################### diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java index 8fe1fab5a..1ef8d6981 100644 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -1,22 +1,18 @@ /* -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you 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. -*/ - + * Copyright 2007-present the original author or authors. + * + * 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 java.net.*; import java.io.*; import java.nio.channels.*; @@ -24,11 +20,12 @@ Licensed to the Apache Software Foundation (ASF) under one public class MavenWrapperDownloader { + private static final String WRAPPER_VERSION = "0.5.4"; /** * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. */ - private static final String DEFAULT_DOWNLOAD_URL = - "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"; + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + " .jar"; /** * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to @@ -57,7 +54,7 @@ public static void main(String args[]) { // wrapperUrl parameter. File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); String url = DEFAULT_DOWNLOAD_URL; - if (mavenWrapperPropertyFile.exists()) { + if(mavenWrapperPropertyFile.exists()) { FileInputStream mavenWrapperPropertyFileInputStream = null; try { mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); @@ -68,7 +65,7 @@ public static void main(String args[]) { System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); } finally { try { - if (mavenWrapperPropertyFileInputStream != null) { + if(mavenWrapperPropertyFileInputStream != null) { mavenWrapperPropertyFileInputStream.close(); } } catch (IOException e) { @@ -76,13 +73,13 @@ public static void main(String args[]) { } } } - System.out.println("- Downloading from: : " + url); + System.out.println("- Downloading from: " + url); File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if (!outputFile.getParentFile().exists()) { - if (!outputFile.getParentFile().mkdirs()) { + if(!outputFile.getParentFile().exists()) { + if(!outputFile.getParentFile().mkdirs()) { System.out.println( - "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); } } System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); @@ -98,6 +95,16 @@ public static void main(String args[]) { } private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } URL website = new URL(urlString); ReadableByteChannel rbc; rbc = Channels.newChannel(website.openStream()); diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar index 01e67997377a393fd672c7dcde9dccbedf0cb1e9..1914b842cfcbb00a843b5c458ad1db942c7aa522 100644 GIT binary patch delta 12926 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 - if ('serviceWorker' in navigator) { - navigator.serviceWorker - .register('./service-worker.js') - .then(function() { console.log('Service Worker Registered'); }); - } + if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('./service-worker.js').then(function() { + console.log('Service Worker Registered'); + }); + } ``` @@ -89,24 +89,32 @@ will generate few files: ## Building for production -To optimize the jhipsterSampleApplication application for production, run: +### Packaging as jar - ./mvnw -Pprod clean package +To build the final jar and optimize the jhipsterSampleApplication application for production, run: + + ./mvnw -Pprod clean verify This will concatenate and minify the client CSS and JavaScript files. It will also modify `index.html` so it references these new files. To ensure everything worked, run: - java -jar target/*.war + java -jar target/*.jar Then navigate to [http://localhost:8080](http://localhost:8080) in your browser. Refer to [Using JHipster in production][] for more details. +### Packaging as war + +To package your application as a war in order to deploy it to an application server, run: + + ./mvnw -Pprod,war clean verify + ## Testing To launch your application's tests, run: - ./mvnw clean test + ./mvnw verify ### Client tests @@ -124,12 +132,22 @@ Sonar is used to analyse code quality. You can start a local Sonar server (acces docker-compose -f src/main/docker/sonar.yml up -d ``` +You can run a Sonar analysis with using the [sonar-scanner](https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner) or by using the maven plugin. + Then, run a Sonar analysis: ``` -./mvnw -Pprod clean test sonar:sonar +./mvnw -Pprod clean verify sonar:sonar ``` +If you need to re-run the Sonar phase, please be sure to specify at least the `initialize` phase since Sonar properties are loaded from the sonar-project.properties file. + +``` +./mvnw initialize sonar:sonar +``` + +or + For more information, refer to the [Code quality page][]. ## Using Docker to simplify development (optional) @@ -147,7 +165,7 @@ To stop it and remove the container, run: You can also fully dockerize your application and all the services that it depends on. To achieve this, first build a docker image of your app by running: - ./mvnw package -Pprod verify jib:dockerBuild + ./mvnw -Pprod verify jib:dockerBuild Then run: @@ -160,13 +178,13 @@ For more information refer to [Using Docker and Docker-Compose][], this page als To configure CI for your project, run the ci-cd sub-generator (`jhipster ci-cd`), this will let you generate configuration files for a number of Continuous Integration systems. Consult the [Setting up Continuous Integration][] page for more information. [jhipster homepage and latest documentation]: https://www.jhipster.tech -[jhipster 5.8.2 archive]: https://www.jhipster.tech/documentation-archive/v5.8.2 -[using jhipster in development]: https://www.jhipster.tech/documentation-archive/v5.8.2/development/ -[using docker and docker-compose]: https://www.jhipster.tech/documentation-archive/v5.8.2/docker-compose -[using jhipster in production]: https://www.jhipster.tech/documentation-archive/v5.8.2/production/ -[running tests page]: https://www.jhipster.tech/documentation-archive/v5.8.2/running-tests/ -[code quality page]: https://www.jhipster.tech/documentation-archive/v5.8.2/code-quality/ -[setting up continuous integration]: https://www.jhipster.tech/documentation-archive/v5.8.2/setting-up-ci/ +[jhipster 6.0.0 archive]: https://www.jhipster.tech/documentation-archive/v6.0.0 +[using jhipster in development]: https://www.jhipster.tech/documentation-archive/v6.0.0/development/ +[using docker and docker-compose]: https://www.jhipster.tech/documentation-archive/v6.0.0/docker-compose +[using jhipster in production]: https://www.jhipster.tech/documentation-archive/v6.0.0/production/ +[running tests page]: https://www.jhipster.tech/documentation-archive/v6.0.0/running-tests/ +[code quality page]: https://www.jhipster.tech/documentation-archive/v6.0.0/code-quality/ +[setting up continuous integration]: https://www.jhipster.tech/documentation-archive/v6.0.0/setting-up-ci/ [node.js]: https://nodejs.org/ [yarn]: https://yarnpkg.org/ [webpack]: https://webpack.github.io/ diff --git a/angular.json b/angular.json index f69b29db6..c0b938dab 100644 --- a/angular.json +++ b/angular.json @@ -1,39 +1,39 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "jhipster-sample-application": { - "root": "", - "sourceRoot": "src/main/webapp", - "projectType": "application", - "architect": {} - } + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "jhipster-sample-application": { + "root": "", + "sourceRoot": "src/main/webapp", + "projectType": "application", + "architect": {} + } + }, + "defaultProject": "jhipster-sample-application", + "cli": { + "packageManager": "npm" + }, + "schematics": { + "@schematics/angular:component": { + "inlineStyle": true, + "inlineTemplate": false, + "spec": false, + "prefix": "jhi", + "styleExt": "scss" + }, + "@schematics/angular:directive": { + "spec": false, + "prefix": "jhi" + }, + "@schematics/angular:guard": { + "spec": false }, - "defaultProject": "jhipster-sample-application", - "cli": { - "packageManager": "npm" + "@schematics/angular:pipe": { + "spec": false }, - "schematics": { - "@schematics/angular:component": { - "inlineStyle": true, - "inlineTemplate": false, - "spec": false, - "prefix": "jhi", - "styleExt": "css" - }, - "@schematics/angular:directive": { - "spec": false, - "prefix": "jhi" - }, - "@schematics/angular:guard": { - "spec": false - }, - "@schematics/angular:pipe": { - "spec": false - }, - "@schematics/angular:service": { - "spec": false - } + "@schematics/angular:service": { + "spec": false } + } } diff --git a/mvnw b/mvnw index 5551fde8e..35ff643b3 100755 --- a/mvnw +++ b/mvnw @@ -114,7 +114,6 @@ if $mingw ; then M2_HOME="`(cd "$M2_HOME"; pwd)`" [ -n "$JAVA_HOME" ] && JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" - # TODO classpath? fi if [ -z "$JAVA_HOME" ]; then @@ -212,7 +211,11 @@ else if [ "$MVNW_VERBOSE" = true ]; then echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." fi - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar" + fi while IFS="=" read key value; do case "$key" in (wrapperUrl) jarUrl="$value"; break ;; esac @@ -221,22 +224,38 @@ else echo "Downloading from: $jarUrl" fi wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi if command -v wget > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found wget ... using wget" fi - wget "$jarUrl" -O "$wrapperJarPath" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi elif command -v curl > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then echo "Found curl ... using curl" fi - curl -o "$wrapperJarPath" "$jarUrl" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + else if [ "$MVNW_VERBOSE" = true ]; then echo "Falling back to using Java to download" fi javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi if [ -e "$javaClass" ]; then if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then if [ "$MVNW_VERBOSE" = true ]; then @@ -277,6 +296,11 @@ if $cygwin; then MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ diff --git a/mvnw.cmd b/mvnw.cmd index e5cfb0ae9..dae46d49c 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -37,7 +37,7 @@ @echo off @REM set title of command window title %0 -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME @@ -120,23 +120,44 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar" -FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( - echo Found %WRAPPER_JAR% + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) ) else ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')" - echo Finished downloading %WRAPPER_JAR% + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) ) @REM End of extension +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + %MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 2619560af..000000000 --- a/package-lock.json +++ /dev/null @@ -1,18145 +0,0 @@ -{ - "name": "jhipster-sample-application", - "version": "0.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.1.tgz", - "integrity": "sha512-QDmIbqde75ZZSEFbw6Q6kQWq4cY6C7D67yujXw6XTyubDNAs1tyXJyxTIB8vjSlEKwRizTTDd/B0ZXVcke3Mvw==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.3.1", - "rxjs": "6.3.3" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "@angular-devkit/core": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.1.tgz", - "integrity": "sha512-56XDWWfIzOAkEk69lBLgmCYybPUA4yjunhmMlCk7vVdb7gbQUyzNjFD04Uj0GjlejatAQ5F76tRwygD9C+3RXQ==", - "dev": true, - "requires": { - "ajv": "6.7.0", - "chokidar": "2.0.4", - "fast-json-stable-stringify": "2.0.0", - "rxjs": "6.3.3", - "source-map": "0.7.3" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "@angular-devkit/schematics": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.1.tgz", - "integrity": "sha512-cd7usiasfSgw75INz72/VssrLr9tiVRYfo1TEdvr9ww0GuQbuQpB33xbV8W135eAV8+wzQ3Ce8ohaDHibvj6Yg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.3.1", - "rxjs": "6.3.3" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "@angular/cli": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.1.tgz", - "integrity": "sha512-8EvXYRhTqTaTk5PKv7VZxIWJiyG51R9RC9gtpRFx4bbnurqBHdEUxGMmaRsGT8QDbfvVsWnuakE0eeW1CrfZAQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.13.1", - "@angular-devkit/core": "7.3.1", - "@angular-devkit/schematics": "7.3.1", - "@schematics/angular": "7.3.1", - "@schematics/update": "0.13.1", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "inquirer": "6.2.1", - "npm-package-arg": "6.1.0", - "opn": "5.4.0", - "pacote": "9.4.0", - "semver": "5.6.0", - "symbol-observable": "1.2.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "inquirer": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", - "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.17.10", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", - "through": "^2.3.6" - } - }, - "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", - "dev": true, - "requires": { - "ansi-regex": "^4.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@angular/common": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.2.4.tgz", - "integrity": "sha512-3/i8RtnLTx/90gJHk5maE8zwsSiHgHvLItaa0qVfNlWiU0eCId/PL6TgDkut5vN9SQYL0oxhxFaVd35HmwsmuQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@angular/compiler": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.2.4.tgz", - "integrity": "sha512-+zyMzPCL45ePEV9nrnYJvhAVgp2Y19bDaq0f0YdZAqAjgDqHzXGGR6wX8GueyJWmUYWx5vwK6Apla4HwDrYA1w==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@angular/compiler-cli": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.2.4.tgz", - "integrity": "sha512-UhLosSeuwFIfaGqGcYOh9WSOuzEpeuhIRAOt81MeqOQEqkoreUjfxrQq8XWNkdqsPZHtiptF5ZwXlMBxlj9jJg==", - "dev": true, - "requires": { - "canonical-path": "1.0.0", - "chokidar": "^1.4.2", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "shelljs": "^0.8.1", - "source-map": "^0.6.1", - "tslib": "^1.9.0", - "yargs": "9.0.1" - }, - "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "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" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "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" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@angular/core": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.2.4.tgz", - "integrity": "sha512-kfAxhIxl89PmB7y81FR/RAv0yWRFcEYxEnTwV+o8jKGfemAXtQ0g/Vh+lJR0SD/TBgFilMxotN1mhwH4A8GShw==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@angular/forms": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.2.4.tgz", - "integrity": "sha512-DAtOrdlTRsgvmZrsvczCAkY8dhTwZb5DXBmPuSXh0UR9lvEiCgNHGbwEiIiIkAHpw1wSeXZrq0qyy/oJRvf18g==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@angular/platform-browser": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.2.4.tgz", - "integrity": "sha512-Klt8aKR5SP9bqfMfpSY5vQOY7AQEs8JGuZOk5Bfc2dUtYT2IEIvK2IqO8v2rcFRVO13HOPUxl328efyHqLgI7g==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.2.4.tgz", - "integrity": "sha512-J/xWlmaYOPUoCHZ5TiIRiyYa4uRMtCz3aGdBfY8k/NWtNo8SCYaS3aut7Sk4RS5rK8aAVi+aYFlY5YOrlW+Hbg==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@angular/router": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.2.4.tgz", - "integrity": "sha512-T8Uqf2H1SV1MQI38WwYJ4aa+4NNnvlp2Tp/rkfg6tKcp/cLkKqE6OOfiy9lmW+i/624v8tMgYoBMOUNBjAG23g==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/core": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", - "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helpers": "^7.2.0", - "@babel/parser": "^7.3.4", - "@babel/template": "^7.2.2", - "@babel/traverse": "^7.3.4", - "@babel/types": "^7.3.4", - "convert-source-map": "^1.1.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.11", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "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 - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", - "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", - "dev": true, - "requires": { - "@babel/types": "^7.3.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.11", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz", - "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==", - "dev": true - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helpers": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.3.1.tgz", - "integrity": "sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA==", - "dev": true, - "requires": { - "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.5", - "@babel/types": "^7.3.0" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "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==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", - "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", - "dev": true - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", - "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0" - } - }, - "@babel/runtime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0.tgz", - "integrity": "sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.12.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" - } - }, - "@babel/traverse": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", - "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.3.4", - "@babel/types": "^7.3.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.11" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "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 - } - } - }, - "@babel/types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", - "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.11", - "to-fast-properties": "^2.0.0" - } - }, - "@fortawesome/angular-fontawesome": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.3.0.tgz", - "integrity": "sha512-wXvyPI7GidoNiqeMz2re9iemUMFH4zBmuv94CfXlaanQ8+kMP/fYs/k69PLVN1KsebQY4kRA9GHmc1U1ndBkJg==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@fortawesome/fontawesome-common-types": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.15.tgz", - "integrity": "sha512-ATBRyKJw1d2ko+0DWN9+BXau0EK3I/Q6pPzPv3LhJD7r052YFAkAdfb1Bd7ZqhBsJrdse/S7jKxWUOZ61qBD4g==" - }, - "@fortawesome/fontawesome-svg-core": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.14.tgz", - "integrity": "sha512-T1qCqkwm9PuvK53J64D1ovfrOTa1kG+SrHNj5cFst/rrskhCnbxpRdbqFIdc/thmXC0ebBX8nOUyja2/mrxe4g==", - "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.14" - } - }, - "@fortawesome/free-solid-svg-icons": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.7.1.tgz", - "integrity": "sha512-5V/Q+JoPzuiIHW2JwmZGvE9bHguvNJKa7611DPo51uIvYv9LweX/SnDF+HC23X2W5T3myHhnGi+EZJTmidAmyg==", - "requires": { - "@fortawesome/fontawesome-common-types": "^0.2.14" - } - }, - "@iamstarkov/listr-update-renderer": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@iamstarkov/listr-update-renderer/-/listr-update-renderer-0.4.1.tgz", - "integrity": "sha512-IJyxQWsYDEkf8C8QthBn5N8tIUR9V9je6j3sMIpAkonaadjbvxmRC6RAhpa3RKxndhNnU2M6iNbtJwd7usQYIA==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - } - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@ng-bootstrap/ng-bootstrap": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-4.0.2.tgz", - "integrity": "sha512-SBsN8ORvj/WXpZGSyR2+CRkg6GCtax5+fsLKt9ImHKUVWwePVqRxiGlnxXqwNPHQ46vOdd7nDN9cwE7dfbGaAQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@ngtools/webpack": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.1.tgz", - "integrity": "sha512-EGQRjgDf5XP+Fm1MdZNRFiPd9e1vhl11BhjkwqkAsewic4eoz6fqXfj/Osz1hQy8xU+2dPPf/byQ/+nY3E02Zg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.3.1", - "enhanced-resolve": "4.1.0", - "rxjs": "6.3.3", - "tree-kill": "1.2.1", - "webpack-sources": "1.3.0" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "@ngx-translate/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz", - "integrity": "sha512-nBCa1ZD9fAUY/3eskP3Lql2fNg8OMrYIej1/5GRsfcutx9tG/5fZLCv9m6UCw1aS+u4uK/vXjv1ctG/FdMvaWg==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@ngx-translate/http-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-4.0.0.tgz", - "integrity": "sha512-x8LumqydWD7eX9yQTAVeoCM9gFUIGVTUjZqbxdAUavAA3qVnk9wCQux7iHLPXpydl8vyQmLoPQR+fFU+DUDOMA==", - "requires": { - "tslib": "^1.9.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, - "@samverschueren/stream-to-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz", - "integrity": "sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==", - "dev": true, - "requires": { - "any-observable": "^0.3.0" - } - }, - "@schematics/angular": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.1.tgz", - "integrity": "sha512-0Ne8APPlTAjKg5CSZqluwCuW/5yPjr3ALCWzqwPxN0suE745usThtasBmqrjw0RMIt8nRqRgtg54Z7lCPO9ZFg==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.3.1", - "@angular-devkit/schematics": "7.3.1", - "typescript": "3.2.4" - } - }, - "@schematics/update": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.1.tgz", - "integrity": "sha512-EHOqolT/d/jRGuVTCUESLpk8JNpuaPlsVHfeK7Kdp/t0wSEnmtOelZX4+leS25lGXDaDUF3138ntjrZR4n6bGw==", - "dev": true, - "requires": { - "@angular-devkit/core": "7.3.1", - "@angular-devkit/schematics": "7.3.1", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "pacote": "9.4.0", - "rxjs": "6.3.3", - "semver": "5.6.0", - "semver-intersect": "1.4.0" - }, - "dependencies": { - "rxjs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", - "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } - }, - "@types/chai": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.7.tgz", - "integrity": "sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA==", - "dev": true - }, - "@types/chai-string": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@types/chai-string/-/chai-string-1.4.1.tgz", - "integrity": "sha512-aRNMs6TKgjgPlCHwDfq/YNy5VtRR2hJ4AUWByddrT0TRVVD8eX4MiHW6/iHvmQHRlVuuPZcwnTUE7b4yFt7bEA==", - "dev": true, - "requires": { - "@types/chai": "*" - } - }, - "@types/jest": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.0.tgz", - "integrity": "sha512-kOafJnUTnMd7/OfEO/x3I47EHswNjn+dbz9qk3mtonr1RvKT+1FGVxnxAx08I9K8Tl7j9hpoJRE7OCf+t10fng==", - "dev": true - }, - "@types/mocha": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz", - "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==", - "dev": true - }, - "@types/node": { - "version": "10.12.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.24.tgz", - "integrity": "sha512-GWWbvt+z9G5otRBW8rssOFgRY87J9N/qbhqfjMZ+gUuL6zoL+Hm6gP/8qQBG4jjimqdaNLCehcVapZ/Fs2WjCQ==", - "dev": true - }, - "@types/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz", - "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.14.tgz", - "integrity": "sha512-4GbNCDs98uHCT/OMv40qQC/OpoPbYn9XdXeTiFwHBBFO6eJhYEPUu2zDKirXSbHlvDV8oZ9l8EQ+HrEx/YS9DQ==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz", - "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz", - "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz", - "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz", - "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz", - "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.7.11" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz", - "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz", - "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==", - "dev": true - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz", - "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz", - "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz", - "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz", - "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.1" - } - }, - "@webassemblyjs/utf8": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz", - "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz", - "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/helper-wasm-section": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-opt": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "@webassemblyjs/wast-printer": "1.7.11" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz", - "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz", - "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-buffer": "1.7.11", - "@webassemblyjs/wasm-gen": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz", - "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-wasm-bytecode": "1.7.11", - "@webassemblyjs/ieee754": "1.7.11", - "@webassemblyjs/leb128": "1.7.11", - "@webassemblyjs/utf8": "1.7.11" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz", - "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/floating-point-hex-parser": "1.7.11", - "@webassemblyjs/helper-api-error": "1.7.11", - "@webassemblyjs/helper-code-frame": "1.7.11", - "@webassemblyjs/helper-fsm": "1.7.11", - "@xtuc/long": "4.2.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz", - "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/wast-parser": "1.7.11", - "@xtuc/long": "4.2.1" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz", - "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } - }, - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "dev": true - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "dev": true, - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", - "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - } - } - }, - "acorn-walk": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", - "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", - "dev": true - }, - "adm-zip": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", - "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", - "dev": true, - "requires": { - "humanize-ms": "^1.2.1" - } - }, - "ajv": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", - "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", - "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" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "angular-router-loader": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/angular-router-loader/-/angular-router-loader-0.8.5.tgz", - "integrity": "sha512-8wggCTKGgzB1o8co3Wvj+p9pKN7T7q3C477lEz3NLjvPVzUti8rv9i45Di+4aO/k+HvzGh3s8QdNlXU2Bl4avQ==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2" - } - }, - "angular2-template-loader": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/angular2-template-loader/-/angular2-template-loader-0.6.2.tgz", - "integrity": "sha1-wNROkP/w+sleiyPwQ6zaf9HFHXw=", - "dev": true, - "requires": { - "loader-utils": "^0.2.15" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true - }, - "ansi-cyan": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", - "dev": true, - "requires": { - "ansi-wrap": "0.1.0" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true - }, - "any-observable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/any-observable/-/any-observable-0.3.0.tgz", - "integrity": "sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "app-root-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.1.0.tgz", - "integrity": "sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo=", - "dev": true - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - }, - "dependencies": { - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - } - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", - "dev": true - }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.7.tgz", - "integrity": "sha512-qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA==", - "dev": true, - "requires": { - "browserslist": "^4.4.1", - "caniuse-lite": "^1.0.30000932", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.14", - "postcss-value-parser": "^3.3.1" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "axios": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", - "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", - "dev": true, - "requires": { - "follow-redirects": "^1.2.5", - "is-buffer": "^1.1.5" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "babel-extract-comments": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", - "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", - "dev": true, - "requires": { - "babylon": "^6.18.0" - } - }, - "babel-jest": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.1.0.tgz", - "integrity": "sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw==", - "dev": true, - "requires": { - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.1.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "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==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.1.tgz", - "integrity": "sha512-RNNVv2lsHAXJQsEJ5jonQwrJVWK8AcZpG1oxhnjCUaAjL7xahYLANhPUZbzEQHjKy1NMYUwn+0NPKQc8iSY4xQ==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.0.0", - "test-exclude": "^5.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - } - } - }, - "babel-plugin-jest-hoist": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.1.0.tgz", - "integrity": "sha512-gljYrZz8w1b6fJzKcsfKsipSru2DU2DmQ39aB6nV3xQ0DDv3zpIzKGortA5gknrhNnPN8DweaEgrnZdmbGmhnw==", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" - } - }, - "babel-polyfill": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz", - "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", - "requires": { - "babel-runtime": "^6.22.0", - "core-js": "^2.4.0", - "regenerator-runtime": "^0.10.0" - } - }, - "babel-preset-jest": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.1.0.tgz", - "integrity": "sha512-FfNLDxFWsNX9lUmtwY7NheGlANnagvxq8LZdl5PKnVG3umP+S/g0XbVBfwtA4Ai3Ri/IMkWabBz3Tyk9wdspcw==", - "dev": true, - "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.1.0" - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true - }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base62": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz", - "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==", - "dev": true - }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", - "dev": true - }, - "binaryextensions": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.1.2.tgz", - "integrity": "sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==", - "dev": true - }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.2.1.tgz", - "integrity": "sha512-tt/7vIv3Gm2mnd/WeDx36nfGGHleil0Wg8IeB7eMrVkY0fZ5iTaBisSh8oNANc2IBsCc6vCgCNTIM/IEN0+50Q==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "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.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "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.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", - "dev": true - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - } - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browser-sync": { - "version": "2.26.3", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.3.tgz", - "integrity": "sha512-VLzpjCA4uXqfzkwqWtMM6hvPm2PNHp2RcmzBXcbi6C9WpkUhhFb8SVAr4CFrCsFxDg+oY6HalOjn8F+egyvhag==", - "dev": true, - "requires": { - "browser-sync-client": "^2.26.2", - "browser-sync-ui": "^2.26.2", - "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", - "chokidar": "^2.0.4", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^3", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "1.15.2", - "immutable": "^3", - "localtunnel": "1.9.1", - "micromatch": "2.3.11", - "opn": "5.3.0", - "portscanner": "2.1.1", - "qs": "6.2.3", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "0.16.2", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "2.1.1", - "ua-parser-js": "0.7.17", - "yargs": "6.4.0" - }, - "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "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" - } - }, - "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz", - "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=", - "dev": true, - "requires": { - "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", - "window-size": "^0.2.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.1.0" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "browser-sync-client": { - "version": "2.26.2", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.2.tgz", - "integrity": "sha512-FEuVJD41fI24HJ30XOT2RyF5WcnEtdJhhTqeyDlnMk/8Ox9MZw109rvk9pdfRWye4soZLe+xcAo9tHSMxvgAdw==", - "dev": true, - "requires": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6" - }, - "dependencies": { - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - } - } - }, - "browser-sync-ui": { - "version": "2.26.2", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.2.tgz", - "integrity": "sha512-LF7GMWo8ELOE0eAlxuRCfnGQT1ZxKP9flCfGgZdXFc6BwmoqaJHlYe7MmVvykKkXjolRXTz8ztXAKGVqNwJ3EQ==", - "dev": true, - "requires": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^2.0.4", - "stream-throttle": "^0.1.3" - } - }, - "browser-sync-webpack-plugin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/browser-sync-webpack-plugin/-/browser-sync-webpack-plugin-2.2.2.tgz", - "integrity": "sha512-x92kl8LdBi4dp6YVXYqrSoDkOCOLCeBOrYSY0h9Sk1VcCDSoZC1Vc62eae6TfC2ljN4/L+aYlkzE46kirHzbgA==", - "dev": true, - "requires": { - "lodash": "^4" - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "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": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "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": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.2.tgz", - "integrity": "sha512-ISS/AIAiHERJ3d45Fz0AVYKkgcy+F/eJHzKEvv1j0wwKGKD9T3BrwKr/5g45L+Y4XIK5PlTqefHciRFcfE1Jxg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000939", - "electron-to-chromium": "^1.3.113", - "node-releases": "^1.1.8" - } - }, - "browserstack": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.2.tgz", - "integrity": "sha512-+6AFt9HzhKykcPF79W6yjEUJcdvZOV0lIXdkORXMJftGrDl0OKWqRF4GHqpDNkxiceDT/uB7Fb/aDwktvXX7dg==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", - "dev": true - }, - "bs-snippet-injector": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", - "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=", - "dev": true - }, - "bser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", - "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", - "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "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" - } - }, - "cache-loader": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", - "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.0", - "normalize-path": "^3.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - } - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30000939", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000939.tgz", - "integrity": "sha512-oXB23ImDJOgQpGjRv1tCtzAvJr4/OvrHi5SO2vUgB0g0xpdZZoA/BxfImiWfdwoYdUTtQrPsXsvYU/dmCSM8gg==", - "dev": true - }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true - }, - "capture-exit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz", - "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=", - "dev": true, - "requires": { - "rsvp": "^3.3.3" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "requires": { - "check-error": "^1.0.2" - } - }, - "chai-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/chai-string/-/chai-string-1.5.0.tgz", - "integrity": "sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw==", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "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" - } - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "chevrotain": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-4.2.0.tgz", - "integrity": "sha512-uiwhNpkudwrk3rHxKKfrvsWNe4SBDjnswbF2FDqDfrqsfYr4gY0Yl1k2m9yPKR0fqfbiIP67EbgOv4e+JP+GGg==", - "dev": true, - "requires": { - "regexp-to-ast": "0.3.5" - } - }, - "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.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz", - "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "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.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-table": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", - "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", - "dev": true, - "requires": { - "colors": "1.0.3" - }, - "dependencies": { - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", - "dev": true - } - } - }, - "cli-truncate": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-0.2.1.tgz", - "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=", - "dev": true, - "requires": { - "slice-ansi": "0.0.4", - "string-width": "^1.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" - }, - "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.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "cloneable-readable": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz", - "integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "closest-file-data": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/closest-file-data/-/closest-file-data-0.1.4.tgz", - "integrity": "sha1-l1+HwTLymdJKA3W59jyj+4j3Kzo=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "codelyzer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.5.0.tgz", - "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" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", - "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colornames": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", - "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=", - "dev": true - }, - "colors": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", - "dev": true - }, - "colorspace": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz", - "integrity": "sha512-pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==", - "dev": true, - "requires": { - "color": "3.0.x", - "text-hex": "1.0.x" - } - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "commoner": { - "version": "0.10.8", - "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz", - "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=", - "dev": true, - "requires": { - "commander": "^2.5.0", - "detective": "^4.3.1", - "glob": "^5.0.15", - "graceful-fs": "^4.1.2", - "iconv-lite": "^0.4.5", - "mkdirp": "^0.5.0", - "private": "^0.1.6", - "q": "^1.1.2", - "recast": "^0.11.17" - }, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "compare-versions": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", - "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compressible": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz", - "integrity": "sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==", - "dev": true, - "requires": { - "mime-db": ">= 1.38.0 < 2" - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "conf": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/conf/-/conf-2.0.0.tgz", - "integrity": "sha512-iCLzBsGFi8S73EANsEJZz0JnJ/e5VZef/kSaxydYZLAvw0rFNAUx5R7K5leC/CXXR2mZfXWhUvcZOO/dM2D5xg==", - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "env-paths": "^1.0.0", - "make-dir": "^1.0.0", - "pkg-up": "^2.0.0", - "write-file-atomic": "^2.3.0" - } - }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "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" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "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": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", - "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", - "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.0.0", - "serialize-javascript": "^1.4.0" - }, - "dependencies": { - "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "dev": true, - "requires": { - "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" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", - "dev": true, - "requires": { - "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" - } - }, - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.1" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "core-js": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz", - "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.1.0.tgz", - "integrity": "sha512-kCNPvthka8gvLtzAxQXvWo4FxqRB+ftRZyPZNuab5ngvM9Y7yw7hbEysglptLgpkGX9nAOKTBVkHUAe8xtYR6Q==", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.9.0", - "lodash.get": "^4.4.2", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "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": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "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": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "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" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.0.tgz", - "integrity": "sha512-MoOu+CStsGrSt5K2OeZ89q3Snf+IkxRfAIt9aAKg4piioTrhtP1iEFPu+OVn3Ohz24FO6L+rw9UJxBILiSBw5Q==", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "loader-utils": "^1.2.1", - "lodash": "^4.17.11", - "postcss": "^7.0.6", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^2.0.3", - "postcss-modules-scope": "^2.0.0", - "postcss-modules-values": "^2.0.0", - "postcss-value-parser": "^3.3.0", - "schema-utils": "^1.0.0" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - } - }, - "css-tree": { - "version": "1.0.0-alpha.28", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", - "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==", - "dev": true, - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "css-unit-converter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", - "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", - "dev": true - }, - "css-url-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz", - "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", - "dev": true - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "dev": true - }, - "cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", - "dev": true, - "requires": { - "through": "X.X.X" - } - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", - "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.29" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.29", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", - "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", - "dev": true, - "requires": { - "mdn-data": "~1.1.0", - "source-map": "^0.5.3" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "cssom": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", - "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==", - "dev": true - }, - "cssstyle": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", - "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "d3": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", - "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=", - "dev": true - }, - "dargs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-6.0.0.tgz", - "integrity": "sha512-6lJauzNaI7MiM8EHQWmGj+s3rP5/i1nYs8GAvKrLAx/9dpc9xS/4seFb1ioR39A+kcfu4v3jnEa/EE5qWYnitQ==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", - "dev": true - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.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": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-gateway": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", - "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", - "dev": true, - "requires": { - "execa": "^0.10.0", - "ip-regex": "^2.1.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "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" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "dev": true, - "requires": { - "strip-bom": "^3.0.0" - } - }, - "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" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "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": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "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": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-conflict": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/detect-conflict/-/detect-conflict-1.0.1.tgz", - "integrity": "sha1-CIZXpmqWHAUBnbfEIwiDsca0F24=", - "dev": true - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true - }, - "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "detective": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", - "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", - "dev": true, - "requires": { - "acorn": "^5.2.1", - "defined": "^1.0.0" - } - }, - "dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", - "dev": true - }, - "diagnostics": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", - "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", - "dev": true, - "requires": { - "colorspace": "1.1.x", - "enabled": "1.0.x", - "kuler": "1.0.x" - } - }, - "didyoumean": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz", - "integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diff-sequences": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.0.0.tgz", - "integrity": "sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - }, - "dependencies": { - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "dev": true, - "requires": { - "is-obj": "^1.0.0" - } - }, - "drange": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", - "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "eazy-logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz", - "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", - "dev": true, - "requires": { - "tfunk": "^3.0.1" - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "editions": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/editions/-/editions-2.1.3.tgz", - "integrity": "sha512-xDZyVm0A4nLgMNWVVLJvcwMjI80ShiH/27RyLiCnW1L273TcJIA25C4pwJ33AWV01OX6UriP35Xu+lH4S7HWQw==", - "dev": true, - "requires": { - "errlop": "^1.1.1", - "semver": "^5.6.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.113", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", - "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", - "dev": true - }, - "elegant-spinner": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/elegant-spinner/-/elegant-spinner-1.0.1.tgz", - "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=", - "dev": true - }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "dev": true, - "requires": { - "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" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "enabled": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", - "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", - "dev": true, - "requires": { - "env-variable": "0.0.x" - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "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.0", - "ultron": "~1.1.0" - } - } - } - }, - "engine.io-client": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.3.2.tgz", - "integrity": "sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "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": "~6.1.0", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "env-paths": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", - "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", - "dev": true - }, - "env-variable": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz", - "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==", - "dev": true - }, - "envify": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz", - "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=", - "dev": true, - "requires": { - "jstransform": "^11.0.3", - "through": "~2.3.4" - } - }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, - "errlop": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/errlop/-/errlop-1.1.1.tgz", - "integrity": "sha512-WX7QjiPHhsny7/PQvrhS5VMizXXKoKCS3udaBp8gjlARdbn+XmK300eKBAAN0hGyRaTCtRpOaxK+xFVPUJ3zkw==", - "dev": true, - "requires": { - "editions": "^2.1.2" - } - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", - "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", - "dev": true, - "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", - "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", - "dev": true, - "requires": { - "stackframe": "^1.0.4" - } - }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "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", - "object-keys": "^1.0.12" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "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" - } - }, - "es6-promise": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", - "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "dev": true, - "requires": { - "recast": "~0.11.12", - "through": "~2.3.6" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", - "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", - "dev": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "eslint-scope": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", - "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz", - "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==", - "dev": true, - "requires": { - "merge": "^1.2.0" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "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": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "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": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "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.0" - } - } - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "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.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "expect": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.1.0.tgz", - "integrity": "sha512-lVcAPhaYkQcIyMS+F8RVwzbm1jro20IG8OkvxQ6f1JfqhVZyyudCwYogQ7wnktlf14iF3ii7ArIUO/mqvrW9Gw==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-regex-util": "^24.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - } - } - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "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", - "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", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "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", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "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" - } - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "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==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - } - }, - "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.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "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.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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "fast-glob": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz", - "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fast-safe-stringify": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz", - "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", - "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", - "dev": true, - "requires": { - "bser": "^2.0.0" - } - }, - "fbjs": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz", - "integrity": "sha1-lja3cF9bqWhNRLcveDISVK/IYPc=", - "dev": true, - "requires": { - "core-js": "^1.0.0", - "loose-envify": "^1.0.0", - "promise": "^7.0.3", - "ua-parser-js": "^0.7.9", - "whatwg-fetch": "^0.9.0" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true - } - } - }, - "fecha": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", - "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==", - "dev": true - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-loader": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", - "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^1.0.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" - } - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", - "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "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.0" - }, - "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.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, - "requires": { - "debug": "2.6.9", - "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" - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "dependencies": { - "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.0" - } - } - } - }, - "first-chunk-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz", - "integrity": "sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "fn-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz", - "integrity": "sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=", - "dev": true - }, - "follow-redirects": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", - "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", - "dev": true, - "requires": { - "debug": "^3.2.6" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "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 - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "fork-ts-checker-webpack-plugin": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.5.2.tgz", - "integrity": "sha512-a5IG+xXyKnpruI0CP/anyRLAoxWtp3lzdG6flxicANnoSzz64b12dJ7ASAVRrI2OaWwZR2JyBaMHFQqInhWhIw==", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "friendly-errors-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "error-stack-parser": "^2.0.0", - "string-width": "^2.0.0" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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 - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": 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", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "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": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "g-status": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/g-status/-/g-status-2.0.2.tgz", - "integrity": "sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "matcher": "^1.0.0", - "simple-git": "^1.85.0" - } - }, - "gauge": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", - "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", - "dev": true, - "requires": { - "ansi": "^0.3.0", - "has-unicode": "^2.0.0", - "lodash.pad": "^4.1.0", - "lodash.padend": "^4.1.0", - "lodash.padstart": "^4.1.0" - } - }, - "generator-jhipster": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/generator-jhipster/-/generator-jhipster-5.8.2.tgz", - "integrity": "sha512-GW33cKnIf0wWuK411U9GDiNKwKVLbL4BpAqyR4b9JD6ClhwHsQg3HRlItN8pV0iTHJtyFnSfcV/9nJIHFWwvKA==", - "dev": true, - "requires": { - "axios": "0.18.0", - "chalk": "2.4.1", - "commander": "2.16.0", - "conf": "2.0.0", - "didyoumean": "1.2.1", - "ejs": "2.6.1", - "glob": "7.1.2", - "gulp-filter": "5.1.0", - "insight": "0.10.1", - "jhipster-core": "3.6.11", - "js-object-pretty-print": "0.3.0", - "js-yaml": "3.12.0", - "lodash": "4.17.10", - "meow": "5.0.0", - "mkdirp": "0.5.1", - "os-locale": "2.1.0", - "parse-gitignore": "1.0.1", - "pluralize": "7.0.0", - "prettier": "1.13.7", - "randexp": "0.4.9", - "semver": "5.5.0", - "shelljs": "0.8.2", - "tabtab": "2.2.2", - "through2": "2.0.3", - "uuid": "3.3.2", - "yeoman-environment": "2.3.0", - "yeoman-generator": "3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "axios": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", - "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", - "dev": true, - "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "commander": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz", - "integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "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" - } - }, - "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", - "dev": true - }, - "prettier": { - "version": "1.13.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.7.tgz", - "integrity": "sha512-KIU72UmYPGk4MujZGYMFwinB7lOf2LsDNGSOC8ufevsrPLISrZbNJlWstRi3m0AMuszbH+EFSQ/r6w56RSPK6w==", - "dev": true - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true - }, - "shelljs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.2.tgz", - "integrity": "sha512-pRXeNrCA2Wd9itwhvLp5LZQvPJ0wU6bcjaTMywHHGX5XWhVN2nzSu7WV0q+oUY7mGK3mgSkDDzP3MgjqdyIgbQ==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - } - } - }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz", - "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==", - "dev": true - }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "gh-got": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gh-got/-/gh-got-6.0.0.tgz", - "integrity": "sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw==", - "dev": true, - "requires": { - "got": "^7.0.0", - "is-plain-obj": "^1.1.0" - } - }, - "github-username": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-4.1.0.tgz", - "integrity": "sha1-y+KABBiDIG2kISrp5LXxacML9Bc=", - "dev": true, - "requires": { - "gh-got": "^6.0.0" - } - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "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": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "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.0" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, - "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", - "dev": true - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "dev": true, - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "grouped-queue": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/grouped-queue/-/grouped-queue-0.3.3.tgz", - "integrity": "sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw=", - "dev": true, - "requires": { - "lodash": "^4.17.2" - } - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true - }, - "gulp-filter": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/gulp-filter/-/gulp-filter-5.1.0.tgz", - "integrity": "sha1-oF4Rr/sHz33PQafeHLe2OsN4PnM=", - "dev": true, - "requires": { - "multimatch": "^2.0.0", - "plugin-error": "^0.1.2", - "streamfilter": "^1.0.5" - } - }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true - }, - "handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", - "dev": true, - "requires": { - "async": "^2.5.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "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 - }, - "has-symbol-support-x": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", - "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-to-string-tag-x": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", - "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", - "dev": true, - "requires": { - "has-symbol-support-x": "^1.4.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoek": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", - "dev": true - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-loader": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz", - "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==", - "dev": true, - "requires": { - "es6-templates": "^0.2.3", - "fastparse": "^1.1.1", - "html-minifier": "^3.5.8", - "loader-utils": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - } - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "dependencies": { - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", - "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", - "dev": true - }, - "http-proxy": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", - "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", - "dev": true, - "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" - } - }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "http-proxy-middleware": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", - "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", - "dev": true, - "requires": { - "http-proxy": "^1.16.2", - "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" - }, - "dependencies": { - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", - "dev": true - }, - "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", - "dev": true, - "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/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" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "https-proxy-agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", - "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", - "dev": true, - "requires": { - "agent-base": "^4.1.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "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 - } - } - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "husky": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-1.3.1.tgz", - "integrity": "sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.7", - "execa": "^1.0.0", - "find-up": "^3.0.0", - "get-stdin": "^6.0.0", - "is-ci": "^2.0.0", - "pkg-dir": "^3.0.0", - "please-upgrade-node": "^3.1.1", - "read-pkg": "^4.0.1", - "run-node": "^1.0.0", - "slash": "^2.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "read-pkg": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", - "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", - "dev": true, - "requires": { - "normalize-package-data": "^2.3.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - } - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz", - "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=", - "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.1", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^2.0.0", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - } - }, - "insight": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/insight/-/insight-0.10.1.tgz", - "integrity": "sha512-kLGeYQkh18f8KuC68QKdi0iwUcIaayJVB/STpX7x452/7pAUm1yfG4giJwcxbrTh0zNYtc8kBR+6maLMOzglOQ==", - "dev": true, - "requires": { - "async": "^2.1.4", - "chalk": "^2.3.0", - "conf": "^1.3.1", - "inquirer": "^5.0.0", - "lodash.debounce": "^4.0.8", - "os-name": "^2.0.1", - "request": "^2.74.0", - "tough-cookie": "^2.0.0", - "uuid": "^3.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "conf": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/conf/-/conf-1.4.0.tgz", - "integrity": "sha512-bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==", - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "env-paths": "^1.0.0", - "make-dir": "^1.0.0", - "pkg-up": "^2.0.0", - "write-file-atomic": "^2.3.0" - } - }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - } - } - }, - "internal-ip": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", - "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", - "dev": true, - "requires": { - "default-gateway": "^2.6.0", - "ipaddr.js": "^1.5.2" - } - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.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.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "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-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-generator-fn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.0.0.tgz", - "integrity": "sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g==", - "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=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "requires": { - "lodash.isfinite": "^3.3.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "dev": true - }, - "is-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", - "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", - "dev": true - }, - "is-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-1.1.0.tgz", - "integrity": "sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==", - "dev": true, - "requires": { - "symbol-observable": "^1.1.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-scoped": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-scoped/-/is-scoped-1.0.0.tgz", - "integrity": "sha1-RJypgpnnEwOCViieyytUDcQ3yzA=", - "dev": true, - "requires": { - "scoped-regex": "^1.0.0" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - }, - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "requires": { - "punycode": "2.x.x" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-api": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.1.tgz", - "integrity": "sha512-kVmYrehiwyeBAk/wE71tW6emzLiHGjYIiDrc8sfyty4F8M02/lrgXSm+R1kXysmF20zArvmZXjlE/mg24TVPJw==", - "dev": true, - "requires": { - "async": "^2.6.1", - "compare-versions": "^3.2.1", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.3", - "istanbul-lib-hook": "^2.0.3", - "istanbul-lib-instrument": "^3.1.0", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.2", - "istanbul-reports": "^2.1.1", - "js-yaml": "^3.12.0", - "make-dir": "^1.3.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, - "dependencies": { - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz", - "integrity": "sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA==", - "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz", - "integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==", - "dev": true, - "requires": { - "@babel/generator": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/template": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "istanbul-lib-coverage": "^2.0.3", - "semver": "^5.5.0" - } - }, - "istanbul-lib-report": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz", - "integrity": "sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "supports-color": "^6.0.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz", - "integrity": "sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.3", - "make-dir": "^1.3.0", - "rimraf": "^2.6.2", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "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 - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.1.1.tgz", - "integrity": "sha512-FzNahnidyEPBCI0HcufJoSEoKykesRlFcSzQqjH9x0+LC8tnnE/p/90PBLu8iZTxr8yYZNyTtiAujUqyN+CIxw==", - "dev": true, - "requires": { - "handlebars": "^4.1.0" - } - }, - "istextorbinary": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-2.5.1.tgz", - "integrity": "sha512-pv/JNPWnfpwGjPx7JrtWTwsWsxkrK3fNzcEVnt92YKEIErps4Fsk49+qzCe9iQF2hjqK8Naqf8P9kzoeCuQI1g==", - "dev": true, - "requires": { - "binaryextensions": "^2.1.2", - "editions": "^2.1.3", - "textextensions": "^2.4.0" - } - }, - "isurl": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", - "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", - "dev": true, - "requires": { - "has-to-string-tag-x": "^1.2.0", - "is-object": "^1.0.1" - } - }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - } - }, - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, - "jest": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.1.0.tgz", - "integrity": "sha512-+q91L65kypqklvlRFfXfdzUKyngQLOcwGhXQaLmVHv+d09LkNXuBuGxlofTFW42XMzu3giIcChchTsCNUjQ78A==", - "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.1.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "jest-cli": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.1.0.tgz", - "integrity": "sha512-U/iyWPwOI0T1CIxVLtk/2uviOTJ/OiSWJSe8qt6X1VkbbgP+nrtLJlmT9lPBe4lK78VNFJtrJ7pttcNv/s7yCw==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.1.15", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "istanbul-api": "^2.0.8", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-source-maps": "^3.0.1", - "jest-changed-files": "^24.0.0", - "jest-config": "^24.1.0", - "jest-environment-jsdom": "^24.0.0", - "jest-get-type": "^24.0.0", - "jest-haste-map": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-regex-util": "^24.0.0", - "jest-resolve-dependencies": "^24.1.0", - "jest-runner": "^24.1.0", - "jest-runtime": "^24.1.0", - "jest-snapshot": "^24.1.0", - "jest-util": "^24.0.0", - "jest-validate": "^24.0.0", - "jest-watcher": "^24.0.0", - "jest-worker": "^24.0.0", - "micromatch": "^3.1.10", - "node-notifier": "^5.2.1", - "p-each-series": "^1.0.0", - "pirates": "^4.0.0", - "prompts": "^2.0.1", - "realpath-native": "^1.0.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^5.0.0", - "which": "^1.2.12", - "yargs": "^12.0.2" - } - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "strip-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", - "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", - "dev": true, - "requires": { - "ansi-regex": "^4.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.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 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "jest-changed-files": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.0.0.tgz", - "integrity": "sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "throat": "^4.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - } - } - }, - "jest-config": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.1.0.tgz", - "integrity": "sha512-FbbRzRqtFC6eGjG5VwsbW4E5dW3zqJKLWYiZWhB0/4E5fgsMw8GODLbGSrY5t17kKOtCWb/Z7nsIThRoDpuVyg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "babel-jest": "^24.1.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.0.0", - "jest-environment-node": "^24.0.0", - "jest-get-type": "^24.0.0", - "jest-jasmine2": "^24.1.0", - "jest-regex-util": "^24.0.0", - "jest-resolve": "^24.1.0", - "jest-util": "^24.0.0", - "jest-validate": "^24.0.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.0.0", - "realpath-native": "^1.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-diff": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.0.0.tgz", - "integrity": "sha512-XY5wMpRaTsuMoU+1/B2zQSKQ9RdE9gsLkGydx3nvApeyPijLA8GtEvIcPwISRCer+VDf9W1mStTYYq6fPt8ryA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.0.0", - "jest-get-type": "^24.0.0", - "pretty-format": "^24.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-docblock": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.0.0.tgz", - "integrity": "sha512-KfAKZ4SN7CFOZpWg4i7g7MSlY0M+mq7K0aMqENaG2vHuhC9fc3vkpU/iNN9sOus7v3h3Y48uEjqz3+Gdn2iptA==", - "dev": true, - "requires": { - "detect-newline": "^2.1.0" - } - }, - "jest-each": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.0.0.tgz", - "integrity": "sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^24.0.0", - "jest-util": "^24.0.0", - "pretty-format": "^24.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz", - "integrity": "sha512-1YNp7xtxajTRaxbylDc2pWvFnfDTH5BJJGyVzyGAKNt/lEULohwEV9zFqTgG4bXRcq7xzdd+sGFws+LxThXXOw==", - "dev": true, - "requires": { - "jest-mock": "^24.0.0", - "jest-util": "^24.0.0", - "jsdom": "^11.5.1" - } - }, - "jest-environment-node": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.0.0.tgz", - "integrity": "sha512-62fOFcaEdU0VLaq8JL90TqwI7hLn0cOKOl8vY2n477vRkCJRojiRRtJVRzzCcgFvs6gqU97DNqX5R0BrBP6Rxg==", - "dev": true, - "requires": { - "jest-mock": "^24.0.0", - "jest-util": "^24.0.0" - } - }, - "jest-get-type": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.0.0.tgz", - "integrity": "sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w==", - "dev": true - }, - "jest-haste-map": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.0.0.tgz", - "integrity": "sha512-CcViJyUo41IQqttLxXVdI41YErkzBKbE6cS6dRAploCeutePYfUimWd3C9rQEWhX0YBOQzvNsC0O9nYxK2nnxQ==", - "dev": true, - "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.0.0", - "jest-util": "^24.0.0", - "jest-worker": "^24.0.0", - "micromatch": "^3.1.10", - "sane": "^3.0.0" - } - }, - "jest-jasmine2": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.1.0.tgz", - "integrity": "sha512-H+o76SdSNyCh9fM5K8upK45YTo/DiFx5w2YAzblQebSQmukDcoVBVeXynyr7DDnxh+0NTHYRCLwJVf3tC518wg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "chalk": "^2.0.1", - "co": "^4.6.0", - "expect": "^24.1.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-snapshot": "^24.1.0", - "jest-util": "^24.0.0", - "pretty-format": "^24.0.0", - "throat": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-junit": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-6.2.1.tgz", - "integrity": "sha512-zMbwKzZGo9TQOjdBUNQdTEf81QvOrwiQtLIUSEyCwPXYx/G/DJGXEJcqs8viXxn6poJ4Xh4pYGDLD0DKDwtfVA==", - "dev": true, - "requires": { - "jest-validate": "^24.0.0", - "mkdirp": "^0.5.1", - "strip-ansi": "^4.0.0", - "xml": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.0.0.tgz", - "integrity": "sha512-ZYHJYFeibxfsDSKowjDP332pStuiFT2xfc5R67Rjm/l+HFJWJgNIOCOlQGeXLCtyUn3A23+VVDdiCcnB6dTTrg==", - "dev": true, - "requires": { - "pretty-format": "^24.0.0" - } - }, - "jest-matcher-utils": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.0.0.tgz", - "integrity": "sha512-LQTDmO+aWRz1Tf9HJg+HlPHhDh1E1c65kVwRFo5mwCVp5aQDzlkz4+vCvXhOKFjitV2f0kMdHxnODrXVoi+rlA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.0.0", - "jest-get-type": "^24.0.0", - "pretty-format": "^24.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-message-util": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.0.0.tgz", - "integrity": "sha512-J9ROJIwz/IeC+eV1XSwnRK4oAwPuhmxEyYx1+K5UI+pIYwFZDSrfZaiWTdq0d2xYFw4Xiu+0KQWsdsQpgJMf3Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "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==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-mock": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.0.0.tgz", - "integrity": "sha512-sQp0Hu5fcf5NZEh1U9eIW2qD0BwJZjb63Yqd98PQJFvf/zzUTBoUAwv/Dc/HFeNHIw1f3hl/48vNn+j3STaI7A==", - "dev": true - }, - "jest-preset-angular": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/jest-preset-angular/-/jest-preset-angular-6.0.2.tgz", - "integrity": "sha512-uhrllY41tUvkeR41aX9bU5w3/EvvmwZiJ3UitDhRSEJL2Jvq2N/xKlmw7qvlZoGZnciFjOUJ2WDKv5fmCrvnQA==", - "dev": true, - "requires": { - "@types/jest": "^23.3.1", - "jest-zone-patch": ">=0.0.9 <1.0.0", - "ts-jest": "~23.1.3" - }, - "dependencies": { - "@types/jest": { - "version": "23.3.14", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.14.tgz", - "integrity": "sha512-Q5hTcfdudEL2yOmluA1zaSyPbzWPmJ3XfSWeP3RyoYvS9hnje1ZyagrZOuQ6+1nQC1Gw+7gap3pLNL3xL6UBug==", - "dev": true - } - } - }, - "jest-regex-util": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.0.0.tgz", - "integrity": "sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q==", - "dev": true - }, - "jest-resolve": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.1.0.tgz", - "integrity": "sha512-TPiAIVp3TG6zAxH28u/6eogbwrvZjBMWroSLBDkwkHKrqxB/RIdwkWDye4uqPlZIXWIaHtifY3L0/eO5Z0f2wg==", - "dev": true, - "requires": { - "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", - "realpath-native": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.1.0.tgz", - "integrity": "sha512-2VwPsjd3kRPu7qe2cpytAgowCObk5AKeizfXuuiwgm1a9sijJDZe8Kh1sFj6FKvSaNEfCPlBVkZEJa2482m/Uw==", - "dev": true, - "requires": { - "jest-regex-util": "^24.0.0", - "jest-snapshot": "^24.1.0" - } - }, - "jest-runner": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.1.0.tgz", - "integrity": "sha512-CDGOkT3AIFl16BLL/OdbtYgYvbAprwJ+ExKuLZmGSCSldwsuU2dEGauqkpvd9nphVdAnJUcP12e/EIlnTX0QXg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.1.0", - "jest-docblock": "^24.0.0", - "jest-haste-map": "^24.0.0", - "jest-jasmine2": "^24.1.0", - "jest-leak-detector": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-runtime": "^24.1.0", - "jest-util": "^24.0.0", - "jest-worker": "^24.0.0", - "source-map-support": "^0.5.6", - "throat": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-runtime": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.1.0.tgz", - "integrity": "sha512-59/BY6OCuTXxGeDhEMU7+N33dpMQyXq7MLK07cNSIY/QYt2QZgJ7Tjx+rykBI0skAoigFl0A5tmT8UdwX92YuQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "exit": "^0.1.2", - "fast-json-stable-stringify": "^2.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.1.0", - "jest-haste-map": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-regex-util": "^24.0.0", - "jest-resolve": "^24.1.0", - "jest-snapshot": "^24.1.0", - "jest-util": "^24.0.0", - "jest-validate": "^24.0.0", - "micromatch": "^3.1.10", - "realpath-native": "^1.0.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "write-file-atomic": "2.4.1", - "yargs": "^12.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.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 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "jest-serializer": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.0.0.tgz", - "integrity": "sha512-9FKxQyrFgHtx3ozU+1a8v938ILBE7S8Ko3uiAVjT8Yfi2o91j/fj81jacCQZ/Ihjiff/VsUCXVgQ+iF1XdImOw==", - "dev": true - }, - "jest-snapshot": { - "version": "24.1.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.1.0.tgz", - "integrity": "sha512-th6TDfFqEmXvuViacU1ikD7xFb7lQsPn2rJl7OEmnfIVpnrx3QNY2t3PE88meeg0u/mQ0nkyvmC05PBqO4USFA==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "chalk": "^2.0.1", - "jest-diff": "^24.0.0", - "jest-matcher-utils": "^24.0.0", - "jest-message-util": "^24.0.0", - "jest-resolve": "^24.1.0", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^24.0.0", - "semver": "^5.5.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-sonar-reporter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jest-sonar-reporter/-/jest-sonar-reporter-2.0.0.tgz", - "integrity": "sha512-ZervDCgEX5gdUbdtWsjdipLN3bKJwpxbvhkYNXTAYvAckCihobSLr9OT/IuyNIRT1EZMDDwR6DroWtrq+IL64w==", - "dev": true, - "requires": { - "xml": "^1.0.1" - } - }, - "jest-util": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.0.0.tgz", - "integrity": "sha512-QxsALc4wguYS7cfjdQSOr5HTkmjzkHgmZvIDkcmPfl1ib8PNV8QUWLwbKefCudWS0PRKioV+VbQ0oCUPC691fQ==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", - "is-ci": "^2.0.0", - "jest-message-util": "^24.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "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==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-validate": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.0.0.tgz", - "integrity": "sha512-vMrKrTOP4BBFIeOWsjpsDgVXATxCspC9S1gqvbJ3Tnn/b9ACsJmteYeVx9830UMV28Cob1RX55x96Qq3Tfad4g==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.0.0", - "leven": "^2.1.0", - "pretty-format": "^24.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-watcher": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.0.0.tgz", - "integrity": "sha512-GxkW2QrZ4YxmW1GUWER05McjVDunBlKMFfExu+VsGmXJmpej1saTEKvONdx5RJBlVdpPI5x6E3+EDQSIGgl53g==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.0.0", - "string-length": "^2.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-worker": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.0.0.tgz", - "integrity": "sha512-s64/OThpfQvoCeHG963MiEZOAAxu8kHsaL/rCMF7lpdzo7vgF0CtPml9hfguOMgykgH/eOm4jFP4ibfHLruytg==", - "dev": true, - "requires": { - "merge-stream": "^1.0.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "jest-zone-patch": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/jest-zone-patch/-/jest-zone-patch-0.0.10.tgz", - "integrity": "sha512-K5uHLHgMgi2Eyj74gbY+xSeGGekb5U48bXsgDwgipRbFdaekyZK+TAcp8auamqU4UjrAt5S4sIUZz/2bBNyTTA==", - "dev": true - }, - "jhipster-core": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jhipster-core/-/jhipster-core-3.6.11.tgz", - "integrity": "sha512-OibJay1+nwKk+mfRfuTrt2rW2h7BmGNfKWR7TQO4oYqG+I096EvJxZkIMCcjA9KuKLOZvnzfEi4UbtKyRTmHkg==", - "dev": true, - "requires": { - "chevrotain": "4.2.0", - "fs-extra": "7.0.1", - "lodash": "4.17.11", - "winston": "3.2.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "joi": { - "version": "11.4.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz", - "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==", - "dev": true, - "requires": { - "hoek": "4.x.x", - "isemail": "3.x.x", - "topo": "2.x.x" - } - }, - "js-object-pretty-print": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/js-object-pretty-print/-/js-object-pretty-print-0.3.0.tgz", - "integrity": "sha1-RnDkUAZu4ezPNRdMfRl/WqOLz3Q=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "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==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", - "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", - "domexception": "^1.0.1", - "escodegen": "^1.9.1", - "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", - "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jstransform": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz", - "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=", - "dev": true, - "requires": { - "base62": "^1.1.0", - "commoner": "^0.10.1", - "esprima-fb": "^15001.1.0-dev-harmony-fb", - "object-assign": "^2.0.0", - "source-map": "^0.4.2" - }, - "dependencies": { - "esprima-fb": { - "version": "15001.1.0-dev-harmony-fb", - "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz", - "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "jszip": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.0.tgz", - "integrity": "sha512-4WjbsaEtBK/DHeDZOPiPw5nzSGLDEDDreFRDEgnoMwmknPjTqa+23XuYFk6NiGbeiAeZCctiQ/X/z0lQBmDVOQ==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "kleur": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.2.tgz", - "integrity": "sha512-3h7B2WRT5LNXOtQiAaWonilegHcPSf9nLVXlSTci8lu1dZUuui61+EsPEZqSVxY7rXYmB2DVKMQILxaO5WL61Q==", - "dev": true - }, - "kuler": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz", - "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==", - "dev": true, - "requires": { - "colornames": "^1.1.1" - } - }, - "last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "dev": true, - "requires": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "limiter": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.4.tgz", - "integrity": "sha512-XCpr5bElgDI65vVgstP8TWjv6/QKWm9GU5UG0Pr5sLQ3QLo8NVKsioe+Jed5/3vFOe3IQuqE7DKwTvKQkjTHvg==", - "dev": true - }, - "lint-staged": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-8.1.3.tgz", - "integrity": "sha512-6TGkikL1B+6mIOuSNq2TV6oP21IhPMnV8q0cf9oYZ296ArTVNcbFh1l1pfVOHHbBIYLlziWNsQ2q45/ffmJ4AA==", - "dev": true, - "requires": { - "@iamstarkov/listr-update-renderer": "0.4.1", - "chalk": "^2.3.1", - "commander": "^2.14.1", - "cosmiconfig": "^5.0.2", - "debug": "^3.1.0", - "dedent": "^0.7.0", - "del": "^3.0.0", - "execa": "^1.0.0", - "find-parent-dir": "^0.3.0", - "g-status": "^2.0.2", - "is-glob": "^4.0.0", - "is-windows": "^1.0.2", - "listr": "^0.14.2", - "lodash": "^4.17.5", - "log-symbols": "^2.2.0", - "micromatch": "^3.1.8", - "npm-which": "^3.0.1", - "p-map": "^1.1.1", - "path-is-inside": "^1.0.2", - "pify": "^3.0.0", - "please-upgrade-node": "^3.0.2", - "staged-git-files": "1.1.2", - "string-argv": "^0.0.2", - "stringify-object": "^3.2.2", - "yup": "^0.26.10" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "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 - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "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==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "listr": { - "version": "0.14.3", - "resolved": "https://registry.npmjs.org/listr/-/listr-0.14.3.tgz", - "integrity": "sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==", - "dev": true, - "requires": { - "@samverschueren/stream-to-observable": "^0.3.0", - "is-observable": "^1.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.5.0", - "listr-verbose-renderer": "^0.5.0", - "p-map": "^2.0.0", - "rxjs": "^6.3.3" - }, - "dependencies": { - "p-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz", - "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==", - "dev": true - } - } - }, - "listr-silent-renderer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz", - "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=", - "dev": true - }, - "listr-update-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz", - "integrity": "sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^2.3.0", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "^1.0.0" - } - } - } - }, - "listr-verbose-renderer": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz", - "integrity": "sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "date-fns": "^1.27.2", - "figures": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "localtunnel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-1.9.1.tgz", - "integrity": "sha512-HWrhOslklDvxgOGFLxi6fQVnvpl6XdX4sPscfqMZkzi3gtt9V7LKBWYvNUcpHSVvjwCQ6xzXacVvICNbNcyPnQ==", - "dev": true, - "requires": { - "axios": "0.17.1", - "debug": "2.6.9", - "openurl": "1.1.1", - "yargs": "6.6.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "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": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "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==" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "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.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", - "dev": true - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true - }, - "lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.pad": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", - "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", - "dev": true - }, - "lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", - "dev": true - }, - "lodash.padstart": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", - "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "dev": true, - "requires": { - "lodash._reinterpolate": "~3.0.0" - } - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - } - } - } - }, - "logform": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz", - "integrity": "sha512-+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==", - "dev": true, - "requires": { - "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", - "fecha": "^2.3.3", - "ms": "^2.1.1", - "triple-beam": "^1.3.0" - }, - "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==", - "dev": true - } - } - }, - "loglevel": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", - "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "macos-release": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", - "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==", - "dev": true - }, - "magic-string": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz", - "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true - }, - "make-fetch-happen": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz", - "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==", - "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^11.0.1", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "lru-cache": "^4.1.2", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "makeerror": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", - "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", - "dev": true, - "requires": { - "tmpl": "1.0.x" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "matcher": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", - "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.4" - } - }, - "math-random": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", - "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", - "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "mem-fs": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-1.1.3.tgz", - "integrity": "sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw=", - "dev": true, - "requires": { - "through2": "^2.0.0", - "vinyl": "^1.1.0", - "vinyl-file": "^2.0.0" - } - }, - "mem-fs-editor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-5.1.0.tgz", - "integrity": "sha512-2Yt2GCYEbcotYbIJagmow4gEtHDqzpq5XN94+yAx/NT5+bGqIjkXnm3KCUQfE6kRfScGp9IZknScoGRKu8L78w==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "deep-extend": "^0.6.0", - "ejs": "^2.5.9", - "glob": "^7.0.3", - "globby": "^8.0.1", - "isbinaryfile": "^3.0.2", - "mkdirp": "^0.5.0", - "multimatch": "^2.0.0", - "rimraf": "^2.2.8", - "through2": "^2.0.0", - "vinyl": "^2.0.1" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", - "dev": true, - "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "merge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz", - "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==", - "dev": true - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-jsons-webpack-plugin": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/merge-jsons-webpack-plugin/-/merge-jsons-webpack-plugin-1.0.18.tgz", - "integrity": "sha512-wUcK5k9XzsquOcV6TtO7ZA/kWx+LVGuOk/+YjzWgVINWh8CAjANShtgTwEE87ewN3bcZ4PMyWQbEGDpIQh30xg==", - "dev": true, - "requires": { - "es6-promise": "4.0.5", - "glob": "7.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", - "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=", - "dev": true - }, - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "dev": true, - "requires": { - "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" - } - } - } - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "^2.0.1" - } - }, - "merge2": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", - "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "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.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" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", - "dev": true - }, - "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==", - "dev": true - }, - "mime-types": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", - "dev": true, - "requires": { - "mime-db": "~1.38.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz", - "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "minimist-options": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "dev": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "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": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mitt": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.1.3.tgz", - "integrity": "sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA==", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "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" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" - }, - "moment-locales-webpack-plugin": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/moment-locales-webpack-plugin/-/moment-locales-webpack-plugin-1.0.7.tgz", - "integrity": "sha512-KjYpaAhmuzGFZl6534FlZoK7QtW3vqlxd+A17W9DlgHJ5yhXANy7AZJl7iYtZpWjAfMTAWiVrQ7YDZdkFO6uRw==", - "dev": true, - "requires": { - "lodash.difference": "^4.5.0" - } - }, - "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.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": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - } - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" - }, - "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true, - "optional": 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.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true - }, - "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", - "dev": true - }, - "ng-jhipster": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/ng-jhipster/-/ng-jhipster-0.9.1.tgz", - "integrity": "sha512-/ViJ6bNtc/4w6valKNvHKyvXF1cn1OBnSEh3Q8aEUHtmoyr9owReTGHT7ylNclthUsxztRMUS4GrMMEQ5kM09Q==", - "requires": { - "tslib": "^1.9.0" - } - }, - "ngx-cookie": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ngx-cookie/-/ngx-cookie-2.0.1.tgz", - "integrity": "sha512-3+agXZkoPxRP3IyELf7Eiuhk6TX+EAX974kkCR6Xjm+N7boEA+Fin2Q90AAE4XZzY48skkVzLH96TOikb5yU3g==" - }, - "ngx-infinite-scroll": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/ngx-infinite-scroll/-/ngx-infinite-scroll-7.0.1.tgz", - "integrity": "sha512-be9DAAuabV7VGI06/JUnS6pXC6mcBOzA4+SBCwOcP9WwJ2r5GjdZyOa34ls9hi1MnCOj3zrXLvPKQ/UDp6csIw==", - "requires": { - "opencollective": "^1.0.3" - } - }, - "ngx-webstorage": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ngx-webstorage/-/ngx-webstorage-2.0.1.tgz", - "integrity": "sha512-AhBkl1v5sBLYiGC1DuHxM90B8OewqyhYhm+KGtJIFxMh5dj3tlNgPokmWCtKcUZF26m8MgxDDuP5e6NeDCpYQw==" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-fetch": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", - "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-fetch-npm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz", - "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" - } - }, - "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", - "dev": true - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", - "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", - "dev": true, - "requires": { - "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": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", - "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.11.0", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", - "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - } - }, - "node-releases": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.8.tgz", - "integrity": "sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA==", - "dev": true, - "requires": { - "semver": "^5.3.0" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "npm-bundled": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz", - "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==", - "dev": true - }, - "npm-package-arg": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz", - "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.6.0", - "osenv": "^0.1.5", - "semver": "^5.5.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-packlist": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz", - "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==", - "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npm-path": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npm-path/-/npm-path-2.0.4.tgz", - "integrity": "sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==", - "dev": true, - "requires": { - "which": "^1.2.10" - } - }, - "npm-pick-manifest": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz", - "integrity": "sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "npm-registry-fetch": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.9.0.tgz", - "integrity": "sha512-srwmt8YhNajAoSAaDWndmZgx89lJwIZ1GWxOuckH4Coek4uHv5S+o/l9FLQe/awA+JwTnj4FJHldxhlXdZEBmw==", - "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^4.1.3", - "make-fetch-happen": "^4.0.1", - "npm-package-arg": "^6.1.0" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "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.0" - } - }, - "npm-which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-which/-/npm-which-3.0.1.tgz", - "integrity": "sha1-kiXybsOihcIJyuZ8OxGmtKtxQKo=", - "dev": true, - "requires": { - "commander": "^2.9.0", - "npm-path": "^2.0.2", - "which": "^1.2.10" - } - }, - "npmlog": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", - "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", - "dev": true, - "requires": { - "ansi": "~0.3.1", - "are-we-there-yet": "~1.1.2", - "gauge": "~1.2.5" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "nwsapi": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz", - "integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true - }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "one-time": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", - "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "opencollective": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz", - "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=", - "requires": { - "babel-polyfill": "6.23.0", - "chalk": "1.1.3", - "inquirer": "3.0.6", - "minimist": "1.2.0", - "node-fetch": "1.6.3", - "opn": "4.0.2" - } - }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", - "dev": true - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "requires": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } - } - }, - "optimize-css-assets-webpack-plugin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz", - "integrity": "sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A==", - "dev": true, - "requires": { - "cssnano": "^4.1.0", - "last-call-webpack-plugin": "^3.0.0" - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "os-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz", - "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", - "dev": true, - "requires": { - "macos-release": "^1.0.0", - "win-release": "^1.0.0" - } - }, - "os-shim": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", - "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", - "dev": true - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", - "dev": true, - "requires": { - "p-reduce": "^1.0.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", - "dev": true - }, - "p-timeout": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", - "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", - "dev": true, - "requires": { - "p-finally": "^1.0.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pacote": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.4.0.tgz", - "integrity": "sha512-WQ1KL/phGMkedYEQx9ODsjj7xvwLSpdFJJdEXrLyw5SILMxcTNt5DTxT2Z93fXuLFYJBlZJdnwdalrQdB/rX5w==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^11.3.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^4.0.1", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^2.2.3", - "npm-registry-fetch": "^3.8.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.8", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - } - }, - "pako": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.8.tgz", - "integrity": "sha512-6i0HVbUfcKaTv+EG8ZTr75az7GFXcLYk9UyLEg7Notv/Ma+z/UG3TCoz6GiNeOrn1E/e63I0X/Hpw18jHOTUnA==", - "dev": true - }, - "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-gitignore": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-1.0.1.tgz", - "integrity": "sha512-UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A==", - "dev": true - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "dev": true, - "requires": { - "node-modules-regexp": "^1.0.0" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" - } - }, - "please-upgrade-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", - "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", - "dev": true, - "requires": { - "semver-compare": "^1.0.0" - } - }, - "plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", - "dev": true, - "requires": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" - }, - "dependencies": { - "arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - } - }, - "arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=", - "dev": true - }, - "extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", - "dev": true, - "requires": { - "kind-of": "^1.1.0" - } - }, - "kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=", - "dev": true - } - } - }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", - "dev": true, - "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" - } - }, - "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", - "dev": true, - "requires": { - "async": "1.5.2", - "is-number-like": "^1.0.3" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-calc": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", - "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", - "dev": true, - "requires": { - "css-unit-converter": "^1.1.1", - "postcss": "^7.0.5", - "postcss-selector-parser": "^5.0.0-rc.4", - "postcss-value-parser": "^3.3.1" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-load-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", - "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", - "dev": true, - "requires": { - "cosmiconfig": "^4.0.0", - "import-cwd": "^2.0.0" - }, - "dependencies": { - "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.9.0", - "parse-json": "^4.0.0", - "require-from-string": "^2.0.1" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", - "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", - "dev": true, - "requires": { - "dot-prop": "^4.1.1", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", - "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", - "dev": true, - "requires": { - "dot-prop": "^4.1.1", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.5.tgz", - "integrity": "sha512-iFgxlCAVLno5wIJq+4hyuOmc4VjZEZxzpdeuZcBytLNWEK5Bx2oRF9PPcAz5TALbaFvrZm8sJYtJ3hV+tMSEIg==", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^7.0.6", - "postcss-value-parser": "^3.3.1" - } - }, - "postcss-modules-scope": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.0.1.tgz", - "integrity": "sha512-7+6k9c3/AuZ5c596LJx9n923A/j3nF3ormewYBF1RrIQvjvjXe1xE8V8A1KFyFwXbvnshT6FBZFX0k/F1igneg==", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^7.0.6" - } - }, - "postcss-modules-values": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz", - "integrity": "sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w==", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^7.0.6" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - } - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "prettier": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz", - "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==", - "dev": true - }, - "pretty-bytes": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.1.0.tgz", - "integrity": "sha512-wa5+qGVg9Yt7PB6rYm3kXlKzgzgivYTLRandezh43jjRqgyDyP+9YxfJpJiLs9yKD1WeU8/OvtToWpW7255FtA==", - "dev": true - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "pretty-format": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.0.0.tgz", - "integrity": "sha512-LszZaKG665djUcqg5ZQq+XzezHLKrxsA86ZABTozp+oNhkdqa+tG2dX4qa6ERl5c/sRDrAa3lHmwnvKoP+OG/g==", - "dev": true, - "requires": { - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", - "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - } - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", - "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - } - }, - "prompts": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.0.3.tgz", - "integrity": "sha512-H8oWEoRZpybm6NV4to9/1limhttEo13xK62pNvn2JzY0MA03p7s0OjtmhXyon3uJmxiJJVSuUwEJFFssI3eBiQ==", - "dev": true, - "requires": { - "kleur": "^3.0.2", - "sisteransi": "^1.0.0" - } - }, - "property-expr": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-1.5.1.tgz", - "integrity": "sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==", - "dev": true - }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, - "requires": { - "genfun": "^5.0.0" - } - }, - "protractor": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz", - "integrity": "sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA==", - "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "optimist": "~0.6.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.0.6" - }, - "dependencies": { - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "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" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "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" - } - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "webdriver-manager": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.1.tgz", - "integrity": "sha512-L9TEQmZs6JbMMRQI1w60mfps265/NCr0toYJl7p/R2OAk6oXAfwI6jqYP7EWae+d7Ad2S2Aj4+rzxoSjqk3ZuA==", - "dev": true, - "requires": { - "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" - } - } - } - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "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": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", - "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", - "dev": true - }, - "randexp": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.9.tgz", - "integrity": "sha512-maAX1cnBkzIZ89O4tSQUOF098xjGMC8N+9vuY/WfHwg87THw6odD2Br35donlj5e6KnB1SB0QBHhTQhhDHuTPQ==", - "dev": true, - "requires": { - "drange": "^1.0.0", - "ret": "^0.2.0" - }, - "dependencies": { - "ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", - "dev": true - } - } - }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "react": { - "version": "0.14.9", - "resolved": "https://registry.npmjs.org/react/-/react-0.14.9.tgz", - "integrity": "sha1-kRCmSXxJ1EuhwO3TF67CnC4NkdE=", - "dev": true, - "requires": { - "envify": "^3.0.0", - "fbjs": "^0.6.1" - } - }, - "react-dom": { - "version": "0.14.9", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.9.tgz", - "integrity": "sha1-BQZKPc8PsYgKOyv8nVjFXY2fYpM=", - "dev": true - }, - "read-chunk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-2.1.0.tgz", - "integrity": "sha1-agTAkoAF7Z1C4aasVgDhnLx/9lU=", - "dev": true, - "requires": { - "pify": "^3.0.0", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "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": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "dev": true, - "requires": { - "util.promisify": "^1.0.0" - } - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "dev": true, - "requires": { - "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", - "dev": true, - "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" - } - }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp-to-ast": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.3.5.tgz", - "integrity": "sha512-1CJygtdvsfNFwiyjaMLBWtg2tfEqx/jSZ8S6TV+GlNL8kiH8rb4cm5Pb7A/C2BpyM/fA8ZJEudlCwi/jvAY+Ow==", - "dev": true - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "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.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": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } - } - }, - "request-promise-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", - "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "request-promise-native": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", - "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", - "dev": true, - "requires": { - "request-promise-core": "1.1.2", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", - "dev": true, - "requires": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "dev": true - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "requires": { - "is-promise": "^2.1.0" - } - }, - "run-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz", - "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" - }, - "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sane": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-3.1.0.tgz", - "integrity": "sha512-G5GClRRxT1cELXfdAq7UKtUsv8q/ZC5k8lQGmjEm4HcAl3HzBy68iglyNCmw4+0tiXPCBZntslHlRhbnsSws+Q==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "capture-exit": "^1.2.0", - "exec-sh": "^0.2.0", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.2.3", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - } - } - }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "scoped-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/scoped-regex/-/scoped-regex-1.0.0.tgz", - "integrity": "sha1-o0a7Gs1CB65wvXwMfKnlZra63bg=", - "dev": true - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", - "dev": true, - "requires": { - "node-forge": "0.7.5" - } - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - }, - "semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true - }, - "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.3.0" - } - }, - "semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, - "requires": { - "semver": "^5.0.0" - } - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "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.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "dev": true, - "requires": { - "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.npmjs.org/server-destroy/-/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", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "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==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "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.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "simple-git": { - "version": "1.107.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.107.0.tgz", - "integrity": "sha512-t4OK1JRlp4ayKRfcW6owrWcRVLyHRUlhGd0uN6ZZTqfDq8a5XpcUdOKiGRNobHEuMtNqzp0vcJNvhYWwh5PsQA==", - "dev": true, - "requires": { - "debug": "^4.0.1" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "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 - } - } - }, - "simple-progress-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/simple-progress-webpack-plugin/-/simple-progress-webpack-plugin-1.1.2.tgz", - "integrity": "sha512-bNQfb3qSqbtsfxg6d0dGechUUJH2lZqKG5+bj2aoJmEA0rSzcm+2JVfC2YgkDABfuGItZ/O5ttt6BssWZW4SNg==", - "dev": true, - "requires": { - "chalk": "2.3.x", - "figures": "2.0.x", - "log-update": "2.3.x" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "sisteransi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.0.tgz", - "integrity": "sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ==", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "smart-buffer": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz", - "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "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": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "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.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "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==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "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.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "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.2.0", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - }, - "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.0", - "ultron": "~1.1.0" - } - } - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", - "dev": true - }, - "socket.io-client": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.2.0.tgz", - "integrity": "sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.3.1", - "has-binary2": "~1.0.2", - "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.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.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 - } - } - }, - "socks": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.3.tgz", - "integrity": "sha512-+2r83WaRT3PXYoO/1z+RDEBE7Z2f9YcdQnJ0K/ncXXbV5gJ6wYfNAebYFYiiUjM6E4JyXnPY8cimwyvFYHVUUA==", - "dev": true, - "requires": { - "ip": "^1.1.5", - "smart-buffer": "4.0.2" - } - }, - "socks-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz", - "integrity": "sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw==", - "dev": true, - "requires": { - "agent-base": "~4.2.0", - "socks": "~2.2.0" - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "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": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz", - "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==", - "dev": true - }, - "spawn-sync": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", - "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", - "dev": true, - "requires": { - "concat-stream": "^1.4.7", - "os-shim": "^0.1.2" - } - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", - "dev": true - }, - "spdy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", - "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", - "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": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "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 - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "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": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "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 - }, - "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "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.0" - } - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "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" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", - "dev": true - }, - "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true - }, - "stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", - "dev": true - }, - "staged-git-files": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/staged-git-files/-/staged-git-files-1.1.2.tgz", - "integrity": "sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", - "dev": true, - "requires": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - } - }, - "streamfilter": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/streamfilter/-/streamfilter-1.0.7.tgz", - "integrity": "sha512-Gk6KZM+yNA1JpW0KzlZIhjo3EaBJDkYfXtYSbOwNIQ7Zd6006E6+sCFlW1NDvFG/vnXhKmw6TJJgiEQg/8lXfQ==", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - } - }, - "string-argv": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz", - "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=", - "dev": true - }, - "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-bom-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz", - "integrity": "sha1-+H217yYT9paKpUWr/h7HKLaoKco=", - "dev": true, - "requires": { - "first-chunk-stream": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "strip-comments": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", - "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", - "dev": true, - "requires": { - "babel-extract-comments": "^1.0.0", - "babel-plugin-transform-object-rest-spread": "^6.26.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true - }, - "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", - "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", - "dev": true, - "requires": { - "dot-prop": "^4.1.1", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "svgo": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.0.tgz", - "integrity": "sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.28", - "css-url-regex": "^1.1.0", - "csso": "^3.5.1", - "js-yaml": "^3.12.0", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "css-select": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", - "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^2.1.2", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "swagger-ui": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/swagger-ui/-/swagger-ui-2.2.10.tgz", - "integrity": "sha1-sl56IWZOXZC/OR2zDbCN5B6FLXs=" - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true - }, - "synchronous-promise": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.6.tgz", - "integrity": "sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g==", - "dev": true - }, - "tabtab": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", - "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", - "dev": true, - "requires": { - "debug": "^2.2.0", - "inquirer": "^1.0.2", - "lodash.difference": "^4.5.0", - "lodash.uniq": "^4.5.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "npmlog": "^2.0.3", - "object-assign": "^4.1.0" - }, - "dependencies": { - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "^1.0.1" - } - }, - "external-editor": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", - "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "spawn-sync": "^1.0.15", - "tmp": "^0.0.29" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - } - }, - "inquirer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", - "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", - "dev": true, - "requires": { - "ansi-escapes": "^1.1.0", - "chalk": "^1.0.0", - "cli-cursor": "^1.0.1", - "cli-width": "^2.0.0", - "external-editor": "^1.1.0", - "figures": "^1.3.5", - "lodash": "^4.3.0", - "mute-stream": "0.0.6", - "pinkie-promise": "^2.0.0", - "run-async": "^2.2.0", - "rx": "^4.1.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "mute-stream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", - "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", - "dev": true - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "tmp": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", - "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "tapable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", - "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==", - "dev": true - }, - "tar": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", - "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", - "dev": true, - "requires": { - "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" - } - }, - "terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1", - "source-map-support": "~0.5.9" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz", - "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==", - "dev": true, - "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "test-exclude": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.1.0.tgz", - "integrity": "sha512-gwf0S2fFsANC55fSeSqpb8BYk6w3FDvwZxfNjeF6FRgvFa43r+7wRiA/Q0IxoRU37wB/LE8IQ4221BsNucTaCA==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^1.0.1" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - } - } - }, - "text-hex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", - "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", - "dev": true - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "textextensions": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-2.4.0.tgz", - "integrity": "sha512-qftQXnX1DzpSV8EddtHIT0eDDEiBF8ywhFYR2lI9xrGtxqKN+CvLXhACeCIGbCpQfxxERbrkZEFb8cZcDKbVZA==", - "dev": true - }, - "tfunk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", - "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "object-path": "^0.9.0" - } - }, - "thread-loader": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.2.tgz", - "integrity": "sha512-7xpuc9Ifg6WU+QYw/8uUqNdRwMD+N5gjwHKMqETrs96Qn+7BHwECpt2Brzr4HFlf4IAkZsayNhmGdbkBsTJ//w==", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", - "dev": true - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "to-string-loader": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/to-string-loader/-/to-string-loader-1.1.5.tgz", - "integrity": "sha1-e3qheJG3u0lHp6Eb+wO1/enG5pU=", - "dev": true, - "requires": { - "loader-utils": "^0.2.16" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "topo": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", - "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", - "dev": true, - "requires": { - "hoek": "4.x.x" - } - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "tree-kill": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz", - "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==", - "dev": true - }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", - "dev": true - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true - }, - "triple-beam": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", - "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==", - "dev": true - }, - "ts-jest": { - "version": "23.1.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-23.1.4.tgz", - "integrity": "sha512-9rCSxbWfoZxxeXnSoEIzRNr9hDIQ8iEJAWmSRsWhDHDT8OeuGfURhJQUE8jtJlkyEygs6rngH8RYtHz9cfjmEA==", - "dev": true, - "requires": { - "closest-file-data": "^0.1.4", - "fs-extra": "6.0.1", - "json5": "^0.5.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "fs-extra": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", - "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "ts-loader": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.3.3.tgz", - "integrity": "sha512-KwF1SplmOJepnoZ4eRIloH/zXL195F51skt7reEsS6jvDqzgc/YSbz9b8E07GxIUwLXdcD4ssrJu6v8CwaTafA==", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.0.2", - "micromatch": "^3.1.4", - "semver": "^5.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ts-node": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.0.2.tgz", - "integrity": "sha512-MosTrinKmaAcWgO8tqMjMJB22h+sp3Rd1i4fdoWY4mhBDekOwIAKI/bzmRi7IcbCmjquccYg2gcF6NBkLgr0Tw==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^3.1.0", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - } - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" - }, - "tslint": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.12.1.tgz", - "integrity": "sha512-sfodBHOucFg6egff8d1BvuofoOQ/nOeYNfbp7LDlKBcLNrL3lmS5zoiDGyOMdT7YsEXAwWpTdAHwOGOc8eRZAw==", - "dev": true, - "requires": { - "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.27.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "tslint-config-prettier": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", - "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", - "dev": true - }, - "tslint-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/tslint-loader/-/tslint-loader-3.6.0.tgz", - "integrity": "sha512-Me9Qf/87BOfCY8uJJw+J7VMF4U8WiMXKLhKKKugMydF0xMhMOt9wo2mjYTNhwbF9H7SHh8PAIwRG8roisTNekQ==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.1", - "rimraf": "^2.4.4", - "semver": "^5.3.0" - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz", - "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", - "dev": true - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "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.0" - } - }, - "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.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "untildify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-3.0.3.tgz", - "integrity": "sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA==", - "dev": true - }, - "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 - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", - "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", - "dev": true, - "requires": { - "querystringify": "^2.0.0", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-to-options": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", - "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", - "dev": true - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz", - "integrity": "sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", - "dev": true, - "requires": { - "builtins": "^1.0.3" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", - "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - }, - "vinyl-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-2.0.0.tgz", - "integrity": "sha1-p+v1/779obfRjRQPyweyI++2dRo=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.3.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^2.0.0", - "vinyl": "^1.1.0" - }, - "dependencies": { - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - } - } - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", - "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" - } - }, - "walker": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", - "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", - "dev": true, - "requires": { - "makeerror": "1.0.x" - } - }, - "watch": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz", - "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", - "dev": true, - "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" - } - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.3.tgz", - "integrity": "sha512-xPJvFeB+8tUflXFq+OgdpiSnsCD5EANyv56co5q8q8+YtEasn5Sj3kzY44mta+csCIEB0vneSxnuaHkOL2h94A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.7.11", - "@webassemblyjs/helper-module-context": "1.7.11", - "@webassemblyjs/wasm-edit": "1.7.11", - "@webassemblyjs/wasm-parser": "1.7.11", - "acorn": "^6.0.5", - "acorn-dynamic-import": "^4.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", - "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" - }, - "dependencies": { - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - } - } - }, - "webpack-cli": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.3.tgz", - "integrity": "sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.1.0", - "findup-sync": "^2.0.0", - "global-modules": "^1.0.0", - "import-local": "^2.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.5.0", - "v8-compile-cache": "^2.0.2", - "yargs": "^12.0.4" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.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 || ^4.0.0", - "yargs-parser": "^11.1.1" - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", - "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", - "dev": true, - "requires": { - "memory-fs": "~0.4.1", - "mime": "^2.3.1", - "range-parser": "^1.0.3", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz", - "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "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.18.0", - "import-local": "^2.0.0", - "internal-ip": "^3.0.1", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "schema-utils": "^1.0.0", - "selfsigned": "^1.9.1", - "semver": "^5.6.0", - "serve-index": "^1.7.2", - "sockjs": "0.3.19", - "sockjs-client": "1.3.0", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "3.4.0", - "webpack-log": "^2.0.0", - "yargs": "12.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "dev": true, - "requires": { - "xregexp": "4.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.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" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, - "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 - }, - "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "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==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^2.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.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 || ^4.0.0", - "yargs-parser": "^10.1.0" - } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", - "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", - "dev": true, - "requires": { - "lodash": "^4.17.5" - } - }, - "webpack-notifier": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.7.0.tgz", - "integrity": "sha512-L3UKrl500xk0VDYKkwQxy5/BPhBWsZ2xHsAx2Qe3dVKYUEk9+y690RcNTMIUcVOK2fRgK7KK3PA4ccOq1h+fTg==", - "dev": true, - "requires": { - "node-notifier": "^5.1.2", - "object-assign": "^4.1.0", - "strip-ansi": "^3.0.1" - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "webpack-visualizer-plugin": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/webpack-visualizer-plugin/-/webpack-visualizer-plugin-0.1.11.tgz", - "integrity": "sha1-uHcK2GtPZSYSxosbeCJT+vn4o04=", - "dev": true, - "requires": { - "d3": "^3.5.6", - "mkdirp": "^0.5.1", - "react": "^0.14.0", - "react-dom": "^0.14.0" - } - }, - "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "whatwg-fetch": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz", - "integrity": "sha1-DjaExsuZlbQ+/J3wPkw2XZX9nMA=", - "dev": true - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "win-release": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", - "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", - "dev": true, - "requires": { - "semver": "^5.0.1" - } - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true - }, - "winston": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz", - "integrity": "sha512-zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==", - "dev": true, - "requires": { - "async": "^2.6.1", - "diagnostics": "^1.1.1", - "is-stream": "^1.1.0", - "logform": "^2.1.1", - "one-time": "0.0.4", - "readable-stream": "^3.1.1", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.3.0" - }, - "dependencies": { - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "winston-transport": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz", - "integrity": "sha512-B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A==", - "dev": true, - "requires": { - "readable-stream": "^2.3.6", - "triple-beam": "^1.2.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "workbox-background-sync": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz", - "integrity": "sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-broadcast-cache-update": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz", - "integrity": "sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-build": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.6.3.tgz", - "integrity": "sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g==", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "common-tags": "^1.4.0", - "fs-extra": "^4.0.2", - "glob": "^7.1.2", - "joi": "^11.1.1", - "lodash.template": "^4.4.0", - "pretty-bytes": "^4.0.2", - "stringify-object": "^3.2.2", - "strip-comments": "^1.0.2", - "workbox-background-sync": "^3.6.3", - "workbox-broadcast-cache-update": "^3.6.3", - "workbox-cache-expiration": "^3.6.3", - "workbox-cacheable-response": "^3.6.3", - "workbox-core": "^3.6.3", - "workbox-google-analytics": "^3.6.3", - "workbox-navigation-preload": "^3.6.3", - "workbox-precaching": "^3.6.3", - "workbox-range-requests": "^3.6.3", - "workbox-routing": "^3.6.3", - "workbox-strategies": "^3.6.3", - "workbox-streams": "^3.6.3", - "workbox-sw": "^3.6.3" - }, - "dependencies": { - "fs-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "pretty-bytes": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz", - "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=", - "dev": true - } - } - }, - "workbox-cache-expiration": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz", - "integrity": "sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-cacheable-response": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz", - "integrity": "sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-core": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.6.3.tgz", - "integrity": "sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ==", - "dev": true - }, - "workbox-google-analytics": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz", - "integrity": "sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig==", - "dev": true, - "requires": { - "workbox-background-sync": "^3.6.3", - "workbox-core": "^3.6.3", - "workbox-routing": "^3.6.3", - "workbox-strategies": "^3.6.3" - } - }, - "workbox-navigation-preload": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz", - "integrity": "sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-precaching": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.6.3.tgz", - "integrity": "sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-range-requests": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz", - "integrity": "sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-routing": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.6.3.tgz", - "integrity": "sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-strategies": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.6.3.tgz", - "integrity": "sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-streams": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-3.6.3.tgz", - "integrity": "sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w==", - "dev": true, - "requires": { - "workbox-core": "^3.6.3" - } - }, - "workbox-sw": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.6.3.tgz", - "integrity": "sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg==", - "dev": true - }, - "workbox-webpack-plugin": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-3.6.3.tgz", - "integrity": "sha512-RwmKjc7HFHUFHoOlKoZUq9349u0QN3F8W5tZZU0vc1qsBZDINWXRiIBCAKvo/Njgay5sWz7z4I2adnyTo97qIQ==", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "json-stable-stringify": "^1.0.1", - "workbox-build": "^3.6.3" - } - }, - "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write-file-atomic": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", - "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "write-file-webpack-plugin": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/write-file-webpack-plugin/-/write-file-webpack-plugin-4.5.0.tgz", - "integrity": "sha512-k46VeERtaezbmjpDcMWATjKUWBrVe/ZEEm0cyvUm8FFP8A/r+dw5x3psRvkUOhqh9bqBLUlGYYbtr6luI+HeAg==", - "dev": true, - "requires": { - "chalk": "^2.4.0", - "debug": "^3.1.0", - "filesize": "^3.6.1", - "lodash": "^4.17.5", - "mkdirp": "^0.5.1", - "moment": "^2.22.1", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "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 - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", - "dev": true - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "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": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "dev": true - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true - }, - "yargs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz", - "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", - "dev": true, - "requires": { - "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": { - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true - }, - "yeoman-environment": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/yeoman-environment/-/yeoman-environment-2.3.0.tgz", - "integrity": "sha512-PHSAkVOqYdcR+C+Uht1SGC4eVD/9OhygYFkYaI66xF8vKIeS1RNYay+umj2ZrQeJ50tF5Q/RSO6qGDz9y3Ifug==", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^3.1.0", - "diff": "^3.3.1", - "escape-string-regexp": "^1.0.2", - "globby": "^8.0.1", - "grouped-queue": "^0.3.3", - "inquirer": "^5.2.0", - "is-scoped": "^1.0.0", - "lodash": "^4.17.10", - "log-symbols": "^2.1.0", - "mem-fs": "^1.1.0", - "strip-ansi": "^4.0.0", - "text-table": "^0.2.0", - "untildify": "^3.0.2" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "dir-glob": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", - "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "path-type": "^3.0.0" - } - }, - "globby": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", - "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "2.0.0", - "fast-glob": "^2.0.2", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - } - }, - "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.1.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^5.5.2", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "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 - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "requires": { - "symbol-observable": "1.0.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - } - } - }, - "yeoman-generator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-3.0.0.tgz", - "integrity": "sha512-aHsNXzkdgAoakZTZsDX7T56wYWYd1O5E/GBIFAVMJLH7TKRr+1MiEJszZQbbCSA+J+lpT743/8L88j35yNdTLQ==", - "dev": true, - "requires": { - "async": "^2.6.0", - "chalk": "^2.3.0", - "cli-table": "^0.3.1", - "cross-spawn": "^6.0.5", - "dargs": "^6.0.0", - "dateformat": "^3.0.3", - "debug": "^3.1.0", - "detect-conflict": "^1.0.0", - "error": "^7.0.2", - "find-up": "^3.0.0", - "github-username": "^4.0.0", - "istextorbinary": "^2.2.1", - "lodash": "^4.17.10", - "make-dir": "^1.1.0", - "mem-fs-editor": "^5.0.0", - "minimist": "^1.2.0", - "pretty-bytes": "^5.1.0", - "read-chunk": "^2.1.0", - "read-pkg-up": "^4.0.0", - "rimraf": "^2.6.2", - "run-async": "^2.0.0", - "shelljs": "^0.8.0", - "text-table": "^0.2.0", - "through2": "^2.0.0", - "yeoman-environment": "^2.0.5" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "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 - }, - "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", - "dev": true - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "yn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.0.0.tgz", - "integrity": "sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q==", - "dev": true - }, - "yup": { - "version": "0.26.10", - "resolved": "https://registry.npmjs.org/yup/-/yup-0.26.10.tgz", - "integrity": "sha512-keuNEbNSnsOTOuGCt3UJW69jDE3O4P+UHAakO7vSeFMnjaitcmlbij/a3oNb9g1Y1KvSKH/7O1R2PQ4m4TRylw==", - "dev": true, - "requires": { - "@babel/runtime": "7.0.0", - "fn-name": "~2.0.1", - "lodash": "^4.17.10", - "property-expr": "^1.5.0", - "synchronous-promise": "^2.0.5", - "toposort": "^2.0.2" - }, - "dependencies": { - "toposort": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha1-riF2gXXRVZ1IvvNUILL0li8JwzA=", - "dev": true - } - } - }, - "zone.js": { - "version": "0.8.29", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.29.tgz", - "integrity": "sha512-mla2acNCMkWXBD+c+yeUrBUrzOxYMNFdQ6FGfigGGtEVBPJx07BQeJekjt9DmH1FtZek4E9rE1eRR9qQpxACOQ==" - } - } -} diff --git a/package.json b/package.json index 90a25fac7..222eafabe 100644 --- a/package.json +++ b/package.json @@ -1,139 +1,143 @@ { - "name": "jhipster-sample-application", - "version": "0.0.0", - "description": "Description for jhipsterSampleApplication", - "private": true, - "license": "UNLICENSED", - "cacheDirectories": [ - "node_modules" - ], - "dependencies": { - "@angular/common": "7.2.4", - "@angular/compiler": "7.2.4", - "@angular/core": "7.2.4", - "@angular/forms": "7.2.4", - "@angular/platform-browser": "7.2.4", - "@angular/platform-browser-dynamic": "7.2.4", - "@angular/router": "7.2.4", - "@fortawesome/angular-fontawesome": "0.3.0", - "@fortawesome/fontawesome-svg-core": "1.2.14", - "@fortawesome/free-solid-svg-icons": "5.7.1", - "@ng-bootstrap/ng-bootstrap": "4.0.2", - "@ngx-translate/core": "11.0.1", - "@ngx-translate/http-loader": "4.0.0", - "bootstrap": "4.2.1", - "core-js": "2.6.4", - "moment": "2.24.0", - "ng-jhipster": "0.9.1", - "ngx-cookie": "2.0.1", - "ngx-infinite-scroll": "7.0.1", - "ngx-webstorage": "2.0.1", - "rxjs": "6.4.0", - "swagger-ui": "2.2.10", - "tslib": "1.9.3", - "zone.js": "0.8.29" - }, - "devDependencies": { - "@angular/cli": "7.3.1", - "@angular/compiler-cli": "7.2.4", - "@ngtools/webpack": "7.3.1", - "@types/chai": "4.1.7", - "@types/chai-string": "1.4.1", - "@types/jest": "24.0.0", - "@types/mocha": "5.2.5", - "@types/node": "10.12.24", - "@types/selenium-webdriver": "3.0.14", - "angular-router-loader": "0.8.5", - "angular2-template-loader": "0.6.2", - "autoprefixer": "9.4.7", - "browser-sync": "2.26.3", - "browser-sync-webpack-plugin": "2.2.2", - "cache-loader": "2.0.1", - "chai": "4.2.0", - "chai-as-promised": "7.1.1", - "chai-string": "1.5.0", - "codelyzer": "4.5.0", - "copy-webpack-plugin": "4.6.0", - "css-loader": "2.1.0", - "file-loader": "3.0.1", - "fork-ts-checker-webpack-plugin": "0.5.2", - "friendly-errors-webpack-plugin": "1.7.0", - "generator-jhipster": "5.8.2", - "html-loader": "0.5.5", - "html-webpack-plugin": "3.2.0", - "husky": "1.3.1", - "jest": "24.1.0", - "jest-junit": "6.2.1", - "jest-preset-angular": "6.0.2", - "jest-sonar-reporter": "2.0.0", - "lint-staged": "8.1.3", - "merge-jsons-webpack-plugin": "1.0.18", - "mocha": "5.2.0", - "mini-css-extract-plugin": "0.5.0", - "moment-locales-webpack-plugin": "1.0.7", - "optimize-css-assets-webpack-plugin": "5.0.1", - "prettier": "1.16.4", - "protractor": "5.4.2", - "reflect-metadata": "0.1.13", - "rimraf": "2.6.3", - "simple-progress-webpack-plugin": "1.1.2", - "style-loader": "0.23.1", - "terser-webpack-plugin": "1.2.2", - "thread-loader": "2.1.2", - "to-string-loader": "1.1.5", - "ts-node": "8.0.2", - "ts-loader": "5.3.3", - "tslint": "5.12.1", - "tslint-config-prettier": "1.18.0", - "tslint-loader": "3.6.0", - "typescript": "3.2.4", - "postcss-loader": "3.0.0", - "xml2js": "0.4.19", - "webpack": "4.29.3", - "webpack-cli": "3.2.3", - "webpack-dev-server": "3.1.14", - "webpack-merge": "4.2.1", - "webpack-notifier": "1.7.0", - "webpack-visualizer-plugin": "0.1.11", - "workbox-webpack-plugin": "3.6.3", - "write-file-webpack-plugin": "4.5.0" - }, - "engines": { - "node": ">=8.9.0" - }, - "lint-staged": { - "{,src/**/}*.{md,json,ts,css,scss}": [ - "prettier --write", - "git add" - ] - }, - "scripts": { - "prettier:format": "prettier --write \"{,src/**/}*.{md,json,ts,css,scss}\"", - "lint": "tslint --project tsconfig.json -e 'node_modules/**'", - "lint:fix": "npm run lint -- --fix", - "ngc": "ngc -p tsconfig-aot.json", - "cleanup": "rimraf target/{aot,www}", - "clean-www": "rimraf target//www/app/{src,target/}", - "e2e": "protractor src/test/javascript/protractor.conf.js", - "postinstall": "webdriver-manager update --gecko false", - "start": "npm run webpack:dev", - "start-tls": "npm run webpack:dev -- --env.tls", - "serve": "npm run start", - "build": "npm run webpack:prod", - "test": "npm run lint && jest --coverage --logHeapUsage -w=2 --config src/test/javascript/jest.conf.js", - "test:watch": "npm run test -- --watch", - "webpack:dev": "npm run webpack-dev-server -- --config webpack/webpack.dev.js --inline --hot --port=9060 --watch-content-base --env.stats=minimal", - "webpack:dev-verbose": "npm run webpack-dev-server -- --config webpack/webpack.dev.js --inline --hot --port=9060 --watch-content-base --profile --progress --env.stats=normal", - "webpack:build:main": "npm run webpack -- --config webpack/webpack.dev.js --env.stats=minimal", - "webpack:build": "npm run cleanup && npm run webpack:build:main", - "webpack:prod:main": "npm run webpack -- --config webpack/webpack.prod.js --profile", - "webpack:prod": "npm run cleanup && npm run webpack:prod:main && npm run clean-www", - "webpack:test": "npm run test", - "webpack-dev-server": "node --max_old_space_size=4096 node_modules/webpack-dev-server/bin/webpack-dev-server.js", - "webpack": "node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js" - }, - "jestSonar": { - "reportPath": "target/test-results/jest", - "reportFile": "TESTS-results-sonar.xml" - } + "name": "jhipster-sample-application", + "version": "0.0.0", + "description": "Description for jhipsterSampleApplication", + "private": true, + "license": "UNLICENSED", + "cacheDirectories": [ + "node_modules" + ], + "dependencies": { + "@angular/common": "7.2.12", + "@angular/compiler": "7.2.12", + "@angular/core": "7.2.12", + "@angular/forms": "7.2.12", + "@angular/platform-browser": "7.2.12", + "@angular/platform-browser-dynamic": "7.2.12", + "@angular/router": "7.2.12", + "@fortawesome/angular-fontawesome": "0.3.0", + "@fortawesome/fontawesome-svg-core": "1.2.17", + "@fortawesome/free-solid-svg-icons": "5.8.1", + "@ng-bootstrap/ng-bootstrap": "4.1.1", + "@ngx-translate/core": "11.0.1", + "@ngx-translate/http-loader": "4.0.0", + "bootstrap": "4.3.1", + "core-js": "2.6.5", + "moment": "2.24.0", + "ng-jhipster": "0.9.3", + "ngx-cookie": "4.0.2", + "ngx-infinite-scroll": "7.1.0", + "ngx-webstorage": "3.0.2", + "rxjs": "6.4.0", + "swagger-ui": "2.2.10", + "tslib": "1.9.3", + "zone.js": "0.8.29" + }, + "devDependencies": { + "@angular/cli": "7.3.8", + "@angular/compiler-cli": "7.2.12", + "@ngtools/webpack": "7.3.8", + "@types/chai": "4.1.7", + "@types/chai-string": "1.4.1", + "@types/jest": "24.0.11", + "@types/mocha": "5.2.6", + "@types/node": "10.12.27", + "@types/selenium-webdriver": "3.0.15", + "angular-router-loader": "0.8.5", + "angular2-template-loader": "0.6.2", + "autoprefixer": "9.5.0", + "base-href-webpack-plugin": "2.0.0", + "browser-sync": "2.26.5", + "browser-sync-webpack-plugin": "2.2.2", + "cache-loader": "2.0.1", + "chai": "4.2.0", + "chai-as-promised": "7.1.1", + "chai-string": "1.5.0", + "codelyzer": "5.0.0", + "copy-webpack-plugin": "5.0.2", + "css-loader": "2.1.1", + "file-loader": "3.0.1", + "fork-ts-checker-webpack-plugin": "1.0.1", + "friendly-errors-webpack-plugin": "1.7.0", + "generator-jhipster": "6.0.0", + "html-loader": "0.5.5", + "html-webpack-plugin": "3.2.0", + "husky": "1.3.1", + "jest": "24.7.1", + "jest-junit": "6.3.0", + "jest-preset-angular": "7.0.1", + "jest-sonar-reporter": "2.0.0", + "lint-staged": "8.1.5", + "merge-jsons-webpack-plugin": "1.0.18", + "mini-css-extract-plugin": "0.5.0", + "mocha": "6.1.4", + "moment-locales-webpack-plugin": "1.0.7", + "optimize-css-assets-webpack-plugin": "5.0.1", + "postcss-loader": "3.0.0", + "prettier": "1.16.4", + "protractor": "5.4.2", + "reflect-metadata": "0.1.13", + "rimraf": "2.6.3", + "sass": "1.17.4", + "sass-loader": "7.1.0", + "simple-progress-webpack-plugin": "1.1.2", + "style-loader": "0.23.1", + "terser-webpack-plugin": "1.2.3", + "thread-loader": "2.1.2", + "to-string-loader": "1.1.5", + "ts-loader": "5.3.3", + "ts-node": "8.0.3", + "tslint": "5.15.0", + "tslint-config-prettier": "1.18.0", + "tslint-loader": "3.5.4", + "typescript": "3.2.4", + "webdriver-manager": "12.1.4", + "webpack": "4.29.6", + "webpack-cli": "3.3.0", + "webpack-dev-server": "3.2.1", + "webpack-merge": "4.2.1", + "webpack-notifier": "1.7.0", + "webpack-visualizer-plugin": "0.1.11", + "workbox-webpack-plugin": "3.6.3", + "write-file-webpack-plugin": "4.5.0", + "xml2js": "0.4.19" + }, + "engines": { + "node": ">=8.9.0" + }, + "lint-staged": { + "{,src/**/}*.{md,json,ts,css,scss,yml}": [ + "prettier --write", + "git add" + ] + }, + "scripts": { + "prettier:format": "prettier --write \"{,src/**/}*.{md,json,ts,css,scss,yml}\"", + "lint": "tslint --project tsconfig.json -e 'node_modules/**'", + "lint:fix": "npm run lint -- --fix", + "ngc": "ngc -p tsconfig-aot.json", + "cleanup": "rimraf target/classes/static/ target/classes/aot", + "clean-www": "rimraf target/classes/static/app/{src,target/}", + "e2e": "protractor src/test/javascript/protractor.conf.js", + "postinstall": "./node_modules/webdriver-manager/bin/webdriver-manager update --gecko false", + "start": "npm run webpack:dev", + "start-tls": "npm run webpack:dev -- --env.tls", + "serve": "npm run start", + "build": "npm run webpack:prod", + "test": "npm run lint && jest --coverage --logHeapUsage -w=2 --config src/test/javascript/jest.conf.js", + "test:watch": "npm run test -- --watch", + "webpack:dev": "npm run webpack-dev-server -- --config webpack/webpack.dev.js --inline --hot --port=9060 --watch-content-base --env.stats=minimal", + "webpack:dev-verbose": "npm run webpack-dev-server -- --config webpack/webpack.dev.js --inline --hot --port=9060 --watch-content-base --profile --progress --env.stats=normal", + "webpack:build:main": "npm run webpack -- --config webpack/webpack.dev.js --env.stats=minimal", + "webpack:build": "npm run cleanup && npm run webpack:build:main", + "webpack:prod:main": "npm run webpack -- --config webpack/webpack.prod.js --profile", + "webpack:prod": "npm run cleanup && npm run webpack:prod:main && npm run clean-www", + "webpack:test": "npm run test", + "webpack-dev-server": "node --max_old_space_size=4096 node_modules/webpack-dev-server/bin/webpack-dev-server.js", + "webpack": "node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js" + }, + "jestSonar": { + "reportPath": "target/test-results/jest", + "reportFile": "TESTS-results-sonar.xml" + } } diff --git a/pom.xml b/pom.xml index 618ca58c5..9105b54d8 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,12 @@ - + 4.0.0 io.github.jhipster.sample jhipster-sample-application 0.0.1-SNAPSHOT - war + jar Jhipster Sample Application @@ -22,9 +23,8 @@ 3.0.0 1.8 - 2.12.6 - v10.15.0 - 6.4.1 + v10.15.3 + 6.9.0 UTF-8 UTF-8 ${project.build.directory}/test-results @@ -40,66 +40,49 @@ - 2.1.1 + 3.0.1 - 2.0.8.RELEASE + 2.1.4.RELEASE - 5.2.17.Final + 5.3.9.Final - 3.22.0-GA + 3.23.1-GA - 3.5.5 + 3.6.3 3.6 + 5.1.5.RELEASE 2.0.1.Final - 1.2.0.Final + 2.3.2 + 1.3.0.Final 3.1.0 3.8.0 + 3.1.0 2.10 - 3.0.0-M2 + + 3.0.0-M1 + 3.0.0-M3 2.2.1 3.1.0 - 2.22.1 + 3.0.0-M3 3.2.2 + 1.7.6 + 2.2.6 + 0.8.3 0.9.11 - 1.6 - 0.8.2 1.0.0 - 3.4.2 - 3.5.0.1254 - 2.2.5 - - - http://localhost:9001 - src/main/webapp/content/**/*.*, src/main/webapp/i18n/*.js, target/www/**/*.* - S3437,S4502,S4684,UndocumentedApi,BoldAndItalicTagsCheck - - src/main/webapp/app/**/*.* - Web:BoldAndItalicTagsCheck - - src/main/java/**/* - squid:S3437 - - src/main/java/**/* - squid:UndocumentedApi - - src/main/java/**/* - squid:S4502 - - src/main/java/**/* - squid:S4684 - ${project.testresult.directory}/coverage/jacoco/jacoco.exec - jacoco - ${project.testresult.directory}/lcov.info - ${project.basedir}/src/main/ - ${project.testresult.directory} - ${project.basedir}/src/test/ - + 1.0.0 + 3.6.0.1398 + ${project.build.directory}/jacoco + ${jacoco.reportFolder}/test.exec + ${jacoco.reportFolder}/integrationTest.exec + ${project.testresult.directory}/test + ${project.testresult.directory}/integrationTest @@ -161,10 +144,6 @@ io.springfox springfox-bean-validators - - com.mattbertolini - liquibase-slf4j - com.zaxxer HikariCP @@ -185,6 +164,11 @@ mysql mysql-connector-java + + org.junit.jupiter + junit-jupiter-engine + test + org.assertj assertj-core @@ -203,6 +187,10 @@ hibernate-jpamodelgen provided + + org.hibernate + hibernate-core + org.hibernate hibernate-envers @@ -221,7 +209,7 @@ org.mapstruct - mapstruct-jdk8 + mapstruct org.mapstruct @@ -273,6 +261,13 @@ org.springframework.boot spring-boot-starter-test test + + + + junit + junit + + org.springframework.boot @@ -307,7 +302,6 @@ org.springframework.boot spring-boot-starter-cloud-connectors - org.springframework.security spring-security-data @@ -330,6 +324,8 @@ org.apache.maven.plugins maven-compiler-plugin + ${java.version} + ${java.version} org.mapstruct @@ -342,10 +338,22 @@ hibernate-jpamodelgen ${hibernate.version} - + + org.glassfish.jaxb + jaxb-runtime + ${jaxb-runtime.version} + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + 8 + + org.apache.maven.plugins maven-eclipse-plugin @@ -354,6 +362,10 @@ org.apache.maven.plugins maven-enforcer-plugin + + org.apache.maven.plugins + maven-failsafe-plugin + org.apache.maven.plugins maven-idea-plugin @@ -402,6 +414,24 @@ com.google.cloud.tools jib-maven-plugin + + org.codehaus.mojo + properties-maven-plugin + ${properties-maven-plugin.version} + + + initialize + + read-project-properties + + + + sonar-project.properties + + + + + @@ -449,7 +479,7 @@ - ${project.testresult.directory}/coverage/jacoco/jacoco.exec + ${jacoco.utReportFile} @@ -460,8 +490,30 @@ report - ${project.testresult.directory}/coverage/jacoco/jacoco.exec - ${project.testresult.directory}/coverage/jacoco + ${jacoco.utReportFile} + ${jacoco.reportFolder} + + + + pre-integration-tests + + prepare-agent-integration + + + + ${jacoco.itReportFile} + + + + + post-integration-tests + post-integration-test + + report-integration + + + ${jacoco.itReportFile} + ${jacoco.reportFolder} @@ -471,28 +523,28 @@ jib-maven-plugin ${jib-maven-plugin.version} - - openjdk:8-jre-alpine - - - jhipstersampleapplication:latest - - - - sh - - chmod +x /entrypoint.sh && sync && /entrypoint.sh - - - 8080 - - - ALWAYS - 0 - - true - - + + openjdk:11-jre-slim-stretch + + + jhipstersampleapplication:latest + + + + sh + + chmod +x /entrypoint.sh && sync && /entrypoint.sh + + + 8080 + + + ALWAYS + 0 + + true + + org.liquibase @@ -509,6 +561,7 @@ hibernate:spring:io.github.jhipster.sample.domain?dialect=&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy true debug + !test @@ -531,6 +584,21 @@ validation-api ${validation-api.version} + + org.springframework + spring-core + ${spring.version} + + + org.springframework + spring-context + ${spring.version} + + + org.springframework + spring-beans + ${spring.version} + @@ -565,9 +633,8 @@ [${maven.version},) - - You are running an incompatible version of Java. JHipster requires JDK ${java.version} - [1.8,1.9) + You are running an incompatible version of Java. JHipster supports JDK 8 to 12. + [1.8,13) @@ -615,22 +682,6 @@ - - jib-www-resources - verify - - copy-resources - - - ${project.build.directory}/classes/static/ - - - ${project.build.directory}/www - false - - - - @@ -640,44 +691,47 @@ alphabetical - - - false - ${sonar.junit.reportsPath} + ${junit.utReportFolder} + + **/*IT* + **/*IntTest* + **/*CucumberIT* + org.apache.maven.plugins - maven-war-plugin - ${maven-war-plugin.version} - - - net.alchim31.maven - scala-maven-plugin - ${scala-maven-plugin.version} + maven-failsafe-plugin + ${maven-failsafe-plugin.version} + + + ${project.build.outputDirectory} + + alphabetical + ${junit.itReportFolder} + + **/*IT* + **/*IntTest* + + + **/*CucumberIT* + + - compile - compile + integration-test - add-source - compile + integration-test - test-compile - test-compile + verify - add-source - testCompile + verify - - incremental - true - ${scala.version} - org.sonarsource.scanner.maven @@ -715,7 +769,7 @@ webpack - ${basedir}/target/www/app/main.bundle.js + ${basedir}/target/classes/static/app/main.bundle.js @@ -768,22 +822,6 @@ - - org.apache.maven.plugins - maven-war-plugin - - false - target/www/ - - - src/main/webapp - - WEB-INF/** - - - - - @@ -811,26 +849,6 @@ h2 - - - - org.apache.maven.plugins - maven-war-plugin - - false - target/www/ - - - src/main/webapp - - WEB-INF/** - - - - - - - dev${profile.tls}${profile.no-liquibase} @@ -851,27 +869,11 @@ - target/www/ + target/classes/static/ - - org.apache.maven.plugins - maven-war-plugin - - false - target/www/ - - - src/main/webapp - - WEB-INF/** - - - - - org.springframework.boot spring-boot-maven-plugin @@ -946,75 +948,37 @@ - - cc - - - org.springframework.boot - spring-boot-starter-undertow - - - org.springframework.boot - spring-boot-devtools - true - - + war org.apache.maven.plugins maven-war-plugin - - false - src/main/webapp/ - - - - org.springframework.boot - spring-boot-maven-plugin - - ${start-class} - true - true - true - - - - - org.apache.maven.plugins - maven-compiler-plugin + ${maven-war-plugin.version} - default-compile - none - - - default-testCompile - none + + war + + package - - - net.alchim31.maven - scala-maven-plugin + + WEB-INF/**,META-INF/** + false + target/classes/static/ + + + src/main/webapp + + WEB-INF/** + + + + - - - dev,swagger - + + org.springframework.boot + spring-boot-starter-undertow + + @@ -1077,7 +1048,7 @@ com.github.eirslett - frontend-maven-plugin + frontend-maven-plugin ${frontend-maven-plugin.version} install-node-and-npm diff --git a/proxy.conf.json b/proxy.conf.json index 8b41fdf7f..3bfe56a3c 100644 --- a/proxy.conf.json +++ b/proxy.conf.json @@ -1,7 +1,7 @@ { - "*": { - "target": "http://localhost:8080", - "secure": false, - "loglevel": "debug" - } + "*": { + "target": "http://localhost:8080", + "secure": false, + "loglevel": "debug" + } } diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 000000000..416c3674c --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,33 @@ +sonar.projectKey=jhipsterSampleApplication +sonar.projectName=jhipsterSampleApplication generated by jhipster +sonar.projectVersion=1.0 + +sonar.sources=src/main/ +sonar.host.url=http://localhost:9001 + +sonar.tests=src/test/ +sonar.jacoco.reportPaths=target/jacoco/test.exec,target/jacoco/integrationTest.exec +sonar.java.codeCoveragePlugin=jacoco +sonar.junit.reportPaths=target/test-results/test,target/test-results/integrationTest +sonar.testExecutionReportPaths=target/test-results/jest/TESTS-results-sonar.xml +sonar.typescript.lcov.reportPaths=target/test-results/lcov.info + +sonar.sourceEncoding=UTF-8 +sonar.exclusions=src/main/webapp/content/**/*.*, src/main/webapp/i18n/*.js, target/classes/static/**/*.* + +sonar.issue.ignore.multicriteria=S3437,S4502,S4684,UndocumentedApi,BoldAndItalicTagsCheck +# Rule https://sonarcloud.io/coding_rules?open=squid%3AS3437&rule_key=squid%3AS3437 is ignored, as a JPA-managed field cannot be transient +sonar.issue.ignore.multicriteria.S3437.resourceKey=src/main/java/**/* +sonar.issue.ignore.multicriteria.S3437.ruleKey=squid:S3437 +# Rule https://sonarcloud.io/coding_rules?open=squid%3AUndocumentedApi&rule_key=squid%3AUndocumentedApi is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names should be self-explanatory +sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey=src/main/java/**/* +sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey=squid:UndocumentedApi +# Rule https://sonarcloud.io/coding_rules?open=squid%3AS4502&rule_key=squid%3AS4502 is ignored, as for JWT tokens we are not subject to CSRF attack +sonar.issue.ignore.multicriteria.S4502.resourceKey=src/main/java/**/* +sonar.issue.ignore.multicriteria.S4502.ruleKey=squid:S4502 +# Rule https://sonarcloud.io/coding_rules?open=squid%3AS4684&rule_key=squid%3AS4684 +sonar.issue.ignore.multicriteria.S4684.resourceKey=src/main/java/**/* +sonar.issue.ignore.multicriteria.S4684.ruleKey=squid:S4684 +# Rule https://sonarcloud.io/coding_rules?open=Web%3ABoldAndItalicTagsCheck&rule_key=Web%3ABoldAndItalicTagsCheck is ignored. Even if we agree that using the "i" tag is an awful practice, this is what is recommended by http://fontawesome.io/examples/ +sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey=src/main/webapp/app/**/*.* +sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey=Web:BoldAndItalicTagsCheck diff --git a/src/main/docker/.dockerignore b/src/main/docker/.dockerignore index b03bdc71e..a07cf1ebb 100644 --- a/src/main/docker/.dockerignore +++ b/src/main/docker/.dockerignore @@ -6,9 +6,7 @@ h2db/ maven-archiver/ maven-status/ reports/ -surefire-reports/ test-classes/ test-results/ -www/ !*.jar !*.war diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile index 43fadcb6f..9fd28fb96 100644 --- a/src/main/docker/Dockerfile +++ b/src/main/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM openjdk:8-jre-alpine +FROM openjdk:11-jre-slim-stretch ENV SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \ JHIPSTER_SLEEP=0 \ diff --git a/src/main/docker/app.yml b/src/main/docker/app.yml index f13312bc8..8ce312402 100644 --- a/src/main/docker/app.yml +++ b/src/main/docker/app.yml @@ -1,15 +1,16 @@ version: '2' services: - jhipstersampleapplication-app: - image: jhipstersampleapplication - environment: - - _JAVA_OPTIONS=-Xmx512m -Xms256m - - SPRING_PROFILES_ACTIVE=prod,swagger - - SPRING_DATASOURCE_URL=jdbc:mysql://jhipstersampleapplication-mysql:3306/jhipstersampleapplication?useUnicode=true&characterEncoding=utf8&useSSL=false - - JHIPSTER_SLEEP=10 # gives time for the database to boot before the application - ports: - - 8080:8080 - jhipstersampleapplication-mysql: - extends: - file: mysql.yml - service: jhipstersampleapplication-mysql + jhipstersampleapplication-app: + image: jhipstersampleapplication + environment: + - _JAVA_OPTIONS=-Xmx512m -Xms256m + - SPRING_PROFILES_ACTIVE=prod,swagger + - MANAGEMENT_METRICS_EXPORT_PROMETHEUS_ENABLED=true + - SPRING_DATASOURCE_URL=jdbc:mysql://jhipstersampleapplication-mysql:3306/jhipstersampleapplication?useUnicode=true&characterEncoding=utf8&useSSL=false + - JHIPSTER_SLEEP=10 # gives time for the database to boot before the application + ports: + - 8080:8080 + jhipstersampleapplication-mysql: + extends: + file: mysql.yml + service: jhipstersampleapplication-mysql diff --git a/src/main/docker/entrypoint.sh b/src/main/docker/entrypoint.sh index ccffafb5a..b49252e7a 100644 --- a/src/main/docker/entrypoint.sh +++ b/src/main/docker/entrypoint.sh @@ -1,4 +1,4 @@ #!/bin/sh echo "The application will start in ${JHIPSTER_SLEEP}s..." && sleep ${JHIPSTER_SLEEP} -exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar "${HOME}/app.war" "$@" +exec java ${JAVA_OPTS} -noverify -XX:+AlwaysPreTouch -Djava.security.egd=file:/dev/./urandom -jar "${HOME}/app.war" "$@" diff --git a/src/main/docker/grafana/provisioning/dashboards/JVM.json b/src/main/docker/grafana/provisioning/dashboards/JVM.json new file mode 100644 index 000000000..5104abcdb --- /dev/null +++ b/src/main/docker/grafana/provisioning/dashboards/JVM.json @@ -0,0 +1,3778 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "limit": 100, + "name": "Annotations & Alerts", + "showIn": 0, + "type": "dashboard" + }, + { + "datasource": "Prometheus", + "enable": true, + "expr": "resets(process_uptime_seconds{application=\"$application\", instance=\"$instance\"}[1m]) > 0", + "iconColor": "rgba(255, 96, 96, 1)", + "name": "Restart Detection", + "showIn": 0, + "step": "1m", + "tagKeys": "restart-tag", + "textFormat": "uptime reset", + "titleFormat": "Restart" + } + ] + }, + "description": "Dashboard for Micrometer instrumented applications (Java, Spring Boot, Micronaut)", + "editable": true, + "gnetId": 4701, + "graphTooltip": 1, + "iteration": 1553765841423, + "links": [], + "panels": [ + { + "content": "\n# Acknowledgments\n\nThank you to [Michael Weirauch](https://twitter.com/emwexx) for creating this dashboard: see original JVM (Micrometer) dashboard at [https://grafana.com/dashboards/4701](https://grafana.com/dashboards/4701)\n\n\n\n", + "gridPos": { + "h": 3, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 141, + "links": [], + "mode": "markdown", + "timeFrom": null, + "timeShift": null, + "title": "Acknowledgments", + "type": "text" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 125, + "panels": [], + "repeat": null, + "title": "Quick Facts", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"], + "datasource": "Prometheus", + "decimals": 1, + "editable": true, + "error": false, + "format": "s", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 0, + "y": 4 + }, + "height": "", + "id": 63, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "70%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "process_uptime_seconds{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "refId": "A", + "step": 14400 + } + ], + "thresholds": "", + "title": "Uptime", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": ["rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)"], + "datasource": "Prometheus", + "decimals": null, + "editable": true, + "error": false, + "format": "dateTimeAsIso", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 6, + "y": 4 + }, + "height": "", + "id": 92, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "70%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "process_start_time_seconds{application=\"$application\", instance=\"$instance\"}*1000", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "refId": "A", + "step": 14400 + } + ], + "thresholds": "", + "title": "Start time", + "type": "singlestat", + "valueFontSize": "70%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": ["rgba(50, 172, 45, 0.97)", "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)"], + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 12, + "y": 4 + }, + "id": 65, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "70%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})*100/sum(jvm_memory_max_bytes{application=\"$application\",instance=\"$instance\", area=\"heap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 14400 + } + ], + "thresholds": "70,90", + "title": "Heap used", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": ["rgba(50, 172, 45, 0.97)", "rgba(237, 129, 40, 0.89)", "rgba(245, 54, 54, 0.9)"], + "datasource": "Prometheus", + "decimals": 2, + "editable": true, + "error": false, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 18, + "y": 4 + }, + "id": 75, + "interval": null, + "links": [], + "mappingType": 2, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "70%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + }, + { + "from": "-99999999999999999999999999999999", + "text": "N/A", + "to": "0" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})*100/sum(jvm_memory_max_bytes{application=\"$application\",instance=\"$instance\", area=\"nonheap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 14400 + } + ], + "thresholds": "70,90", + "title": "Non-Heap used", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "x", + "value": "" + } + ], + "valueName": "current" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 7 + }, + "id": 126, + "panels": [], + "repeat": null, + "title": "I/O Overview", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 8 + }, + "id": 111, + "legend": { + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\"}[1m]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "HTTP", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Rate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "HTTP": "#890f02", + "HTTP - 5xx": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 8 + }, + "id": 112, + "legend": { + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\", status=~\"5..\"}[1m]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "HTTP - 5xx", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Errors", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 8 + }, + "id": 113, + "legend": { + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(http_server_requests_seconds_sum{application=\"$application\", instance=\"$instance\", status!~\"5..\"}[1m]))/sum(rate(http_server_requests_seconds_count{application=\"$application\", instance=\"$instance\", status!~\"5..\"}[1m]))", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "HTTP - AVG", + "refId": "A" + }, + { + "expr": "max(http_server_requests_seconds_max{application=\"$application\", instance=\"$instance\", status!~\"5..\"})", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "HTTP - MAX", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Duration", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 15 + }, + "id": 127, + "panels": [], + "repeat": null, + "title": "JVM Memory", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 16 + }, + "id": 24, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "committed", + "refId": "B", + "step": 2400 + }, + { + "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "max", + "refId": "C", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JVM Heap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 16 + }, + "id": 25, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "committed", + "refId": "B", + "step": 2400 + }, + { + "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "max", + "refId": "C", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JVM Non-Heap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 16 + }, + "id": 26, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "sum(jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "committed", + "refId": "B", + "step": 2400 + }, + { + "expr": "sum(jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\"})", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "max", + "refId": "C", + "step": 2400 + }, + { + "expr": "process_memory_vss_bytes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "hide": true, + "intervalFactor": 2, + "legendFormat": "vss", + "metric": "", + "refId": "D", + "step": 2400 + }, + { + "expr": "process_memory_rss_bytes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "rss", + "refId": "E", + "step": 2400 + }, + { + "expr": "process_memory_pss_bytes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "pss", + "refId": "F", + "step": 2400 + }, + { + "expr": "process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "swap", + "refId": "G", + "step": 2400 + }, + { + "expr": "process_memory_swappss_bytes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "swappss", + "refId": "H", + "step": 2400 + }, + { + "expr": "process_memory_pss_bytes{application=\"$application\", instance=\"$instance\"} + process_memory_swap_bytes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "phys (pss+swap)", + "refId": "I", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JVM Total", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": "", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 23 + }, + "id": 128, + "panels": [], + "repeat": null, + "title": "JVM Misc", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 24 + }, + "id": 106, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "system_cpu_usage{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "system", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "process_cpu_usage{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "process", + "refId": "B" + }, + { + "expr": "avg_over_time(process_cpu_usage{application=\"$application\", instance=\"$instance\"}[1h])", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "process-1h", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 1, + "format": "percentunit", + "label": "", + "logBase": 1, + "max": "1", + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 24 + }, + "id": 93, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "system_load_average_1m{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "system-1m", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "", + "format": "time_series", + "intervalFactor": 2, + "refId": "B" + }, + { + "expr": "system_cpu_count{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "cpu", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Load", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 1, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 24 + }, + "id": 32, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_threads_live{application=\"$application\", instance=\"$instance\"} or jvm_threads_live_threads{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "live", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "jvm_threads_daemon{application=\"$application\", instance=\"$instance\"} or jvm_threads_daemon_threads{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "daemon", + "metric": "", + "refId": "B", + "step": 2400 + }, + { + "expr": "jvm_threads_peak{application=\"$application\", instance=\"$instance\"} or jvm_threads_peak_threads{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "peak", + "refId": "C", + "step": 2400 + }, + { + "expr": "process_threads{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "process", + "refId": "D", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Threads", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "blocked": "#bf1b00", + "new": "#fce2de", + "runnable": "#7eb26d", + "terminated": "#511749", + "timed-waiting": "#c15c17", + "waiting": "#eab839" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 24 + }, + "id": 124, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_threads_states_threads{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{state}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Thread States", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "debug": "#1F78C1", + "error": "#BF1B00", + "info": "#508642", + "trace": "#6ED0E0", + "warn": "#EAB839" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 18, + "x": 0, + "y": 31 + }, + "height": "", + "id": 91, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": true, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "error", + "yaxis": 1 + }, + { + "alias": "warn", + "yaxis": 1 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "increase(logback_events_total{application=\"$application\", instance=\"$instance\"}[1m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{level}}", + "metric": "", + "refId": "A", + "step": 1200 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Log Events (1m)", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 31 + }, + "id": 61, + "legend": { + "avg": false, + "current": true, + "max": true, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "process_open_fds{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "open", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "process_max_fds{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "B", + "step": 2400 + }, + { + "expr": "process_files_open{application=\"$application\", instance=\"$instance\"} or process_files_open_files{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "open", + "refId": "C" + }, + { + "expr": "process_files_max{application=\"$application\", instance=\"$instance\"} or process_files_max_files{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "max", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "File Descriptors", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 10, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 38 + }, + "id": 129, + "panels": [], + "repeat": "persistence_counts", + "title": "JVM Memory Pools (Heap)", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 39 + }, + "id": 3, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": "jvm_memory_pool_heap", + "scopedVars": { + "jvm_memory_pool_heap": { + "selected": false, + "text": "PS Eden Space", + "value": "PS Eden Space" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 1800 + }, + { + "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "commited", + "metric": "", + "refId": "B", + "step": 1800 + }, + { + "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "C", + "step": 1800 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$jvm_memory_pool_heap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 39 + }, + "id": 134, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatIteration": 1553765841423, + "repeatPanelId": 3, + "scopedVars": { + "jvm_memory_pool_heap": { + "selected": false, + "text": "PS Old Gen", + "value": "PS Old Gen" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 1800 + }, + { + "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "commited", + "metric": "", + "refId": "B", + "step": 1800 + }, + { + "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "C", + "step": 1800 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$jvm_memory_pool_heap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 39 + }, + "id": 135, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatIteration": 1553765841423, + "repeatPanelId": 3, + "scopedVars": { + "jvm_memory_pool_heap": { + "selected": false, + "text": "PS Survivor Space", + "value": "PS Survivor Space" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 1800 + }, + { + "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "commited", + "metric": "", + "refId": "B", + "step": 1800 + }, + { + "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_heap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "C", + "step": 1800 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$jvm_memory_pool_heap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 46 + }, + "id": 130, + "panels": [], + "repeat": null, + "title": "JVM Memory Pools (Non-Heap)", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 47 + }, + "id": 78, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": "jvm_memory_pool_nonheap", + "scopedVars": { + "jvm_memory_pool_nonheap": { + "selected": false, + "text": "Metaspace", + "value": "Metaspace" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 1800 + }, + { + "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "commited", + "metric": "", + "refId": "B", + "step": 1800 + }, + { + "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "C", + "step": 1800 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$jvm_memory_pool_nonheap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 47 + }, + "id": 136, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatIteration": 1553765841423, + "repeatPanelId": 78, + "scopedVars": { + "jvm_memory_pool_nonheap": { + "selected": false, + "text": "Compressed Class Space", + "value": "Compressed Class Space" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 1800 + }, + { + "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "commited", + "metric": "", + "refId": "B", + "step": 1800 + }, + { + "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "C", + "step": 1800 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$jvm_memory_pool_nonheap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 47 + }, + "id": 137, + "legend": { + "alignAsTable": false, + "avg": false, + "current": true, + "max": true, + "min": false, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatIteration": 1553765841423, + "repeatPanelId": 78, + "scopedVars": { + "jvm_memory_pool_nonheap": { + "selected": false, + "text": "Code Cache", + "value": "Code Cache" + } + }, + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 1800 + }, + { + "expr": "jvm_memory_committed_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "commited", + "metric": "", + "refId": "B", + "step": 1800 + }, + { + "expr": "jvm_memory_max_bytes{application=\"$application\", instance=\"$instance\", id=\"$jvm_memory_pool_nonheap\"}", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "max", + "metric": "", + "refId": "C", + "step": 1800 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$jvm_memory_pool_nonheap", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["mbytes", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 54 + }, + "id": 131, + "panels": [], + "repeat": null, + "title": "Garbage Collection", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 55 + }, + "id": 98, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(jvm_gc_pause_seconds_count{application=\"$application\", instance=\"$instance\"}[1m])", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{action}} ({{cause}})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Collections", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 55 + }, + "id": 101, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(jvm_gc_pause_seconds_sum{application=\"$application\", instance=\"$instance\"}[1m])/rate(jvm_gc_pause_seconds_count{application=\"$application\", instance=\"$instance\"}[1m])", + "format": "time_series", + "hide": false, + "instant": false, + "intervalFactor": 1, + "legendFormat": "avg {{action}} ({{cause}})", + "refId": "A" + }, + { + "expr": "jvm_gc_pause_seconds_max{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "hide": false, + "instant": false, + "intervalFactor": 1, + "legendFormat": "max {{action}} ({{cause}})", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Pause Durations", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 55 + }, + "id": 99, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(jvm_gc_memory_allocated_bytes_total{application=\"$application\", instance=\"$instance\"}[1m])", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "allocated", + "refId": "A" + }, + { + "expr": "rate(jvm_gc_memory_promoted_bytes_total{application=\"$application\", instance=\"$instance\"}[1m])", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "promoted", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Allocated/Promoted", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 62 + }, + "id": 132, + "panels": [], + "repeat": null, + "title": "Classloading", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 63 + }, + "id": 37, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_classes_loaded{application=\"$application\", instance=\"$instance\"} or jvm_classes_loaded_classes{application=\"$application\", instance=\"$instance\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "loaded", + "metric": "", + "refId": "A", + "step": 1200 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Classes loaded", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 63 + }, + "id": 38, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "delta(jvm_classes_loaded{application=\"$application\",instance=\"$instance\"}[5m]) or delta(jvm_classes_loaded_classes{application=\"$application\",instance=\"$instance\"}[5m])", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "delta", + "metric": "", + "refId": "A", + "step": 1200 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Class delta (5m)", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["ops", "short"], + "yaxes": [ + { + "decimals": null, + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 70 + }, + "id": 133, + "panels": [], + "repeat": null, + "title": "Buffer Pools", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 0, + "y": 71 + }, + "id": 33, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_buffer_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"direct\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "jvm_buffer_total_capacity_bytes{application=\"$application\", instance=\"$instance\", id=\"direct\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "capacity", + "metric": "", + "refId": "B", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Direct Buffers", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 6, + "y": 71 + }, + "id": 83, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_buffer_count{application=\"$application\", instance=\"$instance\", id=\"direct\"} or jvm_buffer_count_buffers{application=\"$application\", instance=\"$instance\", id=\"direct\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "count", + "metric": "", + "refId": "A", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Direct Buffers", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 12, + "y": 71 + }, + "id": 85, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_buffer_memory_used_bytes{application=\"$application\", instance=\"$instance\", id=\"mapped\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "used", + "metric": "", + "refId": "A", + "step": 2400 + }, + { + "expr": "jvm_buffer_total_capacity_bytes{application=\"$application\", instance=\"$instance\", id=\"mapped\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "capacity", + "metric": "", + "refId": "B", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Mapped Buffers", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "editable": true, + "error": false, + "fill": 1, + "grid": { + "leftLogBase": 1, + "leftMax": null, + "leftMin": null, + "rightLogBase": 1, + "rightMax": null, + "rightMin": null + }, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 71 + }, + "id": 84, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "jvm_buffer_count{application=\"$application\", instance=\"$instance\", id=\"mapped\"} or jvm_buffer_count_buffers{application=\"$application\", instance=\"$instance\", id=\"mapped\"}", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "count", + "metric": "", + "refId": "A", + "step": 2400 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Mapped Buffers", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "x-axis": true, + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "y-axis": true, + "y_formats": ["short", "short"], + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "10s", + "schemaVersion": 18, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "text": "test", + "value": "test" + }, + "datasource": "Prometheus", + "definition": "", + "hide": 0, + "includeAll": false, + "label": "Application", + "multi": false, + "name": "application", + "options": [], + "query": "label_values(application)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allFormat": "glob", + "allValue": null, + "current": { + "text": "localhost:8080", + "value": "localhost:8080" + }, + "datasource": "Prometheus", + "definition": "", + "hide": 0, + "includeAll": false, + "label": "Instance", + "multi": false, + "multiFormat": "glob", + "name": "instance", + "options": [], + "query": "label_values(jvm_memory_used_bytes{application=\"$application\"}, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allFormat": "glob", + "allValue": null, + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "JVM Memory Pools Heap", + "multi": false, + "multiFormat": "glob", + "name": "jvm_memory_pool_heap", + "options": [], + "query": "label_values(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"heap\"},id)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allFormat": "glob", + "allValue": null, + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "Prometheus", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "JVM Memory Pools Non-Heap", + "multi": false, + "multiFormat": "glob", + "name": "jvm_memory_pool_nonheap", + "options": [], + "query": "label_values(jvm_memory_used_bytes{application=\"$application\", instance=\"$instance\", area=\"nonheap\"},id)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 2, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-30m", + "to": "now" + }, + "timepicker": { + "now": true, + "refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"], + "time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"] + }, + "timezone": "browser", + "title": "JVM (Micrometer)", + "uid": "Ud1CFe3iz", + "version": 1 +} diff --git a/src/main/docker/grafana/provisioning/dashboards/dashboard.yml b/src/main/docker/grafana/provisioning/dashboards/dashboard.yml new file mode 100644 index 000000000..4817a83a5 --- /dev/null +++ b/src/main/docker/grafana/provisioning/dashboards/dashboard.yml @@ -0,0 +1,11 @@ +apiVersion: 1 + +providers: + - name: 'Prometheus' + orgId: 1 + folder: '' + type: file + disableDeletion: false + editable: true + options: + path: /etc/grafana/provisioning/dashboards diff --git a/src/main/docker/grafana/provisioning/datasources/datasource.yml b/src/main/docker/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 000000000..57b2bb3ea --- /dev/null +++ b/src/main/docker/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,50 @@ +apiVersion: 1 + +# list of datasources that should be deleted from the database +deleteDatasources: + - name: Prometheus + orgId: 1 + +# list of datasources to insert/update depending +# whats available in the database +datasources: + # name of the datasource. Required + - name: Prometheus + # datasource type. Required + type: prometheus + # access mode. direct or proxy. Required + access: proxy + # org id. will default to orgId 1 if not specified + orgId: 1 + # url + # On MacOS, replace localhost by host.docker.internal + url: http://localhost:9090 + # database password, if used + password: + # database user, if used + user: + # database name, if used + database: + # enable/disable basic auth + basicAuth: false + # basic auth username + basicAuthUser: admin + # basic auth password + basicAuthPassword: admin + # enable/disable with credentials headers + withCredentials: + # mark as default datasource. Max one per org + isDefault: true + # fields that will be converted to json and stored in json_data + jsonData: + graphiteVersion: '1.1' + tlsAuth: false + tlsAuthWithCACert: false + # json object of data that will be encrypted. + secureJsonData: + tlsCACert: '...' + tlsClientCert: '...' + tlsClientKey: '...' + version: 1 + # allow users to edit datasources from the UI. + editable: true diff --git a/src/main/docker/monitoring.yml b/src/main/docker/monitoring.yml new file mode 100644 index 000000000..5fc736b7e --- /dev/null +++ b/src/main/docker/monitoring.yml @@ -0,0 +1,26 @@ +version: '3' +services: + jhipstersampleapplication-prometheus: + image: prom/prometheus:v2.9.2 + volumes: + - ./prometheus/:/etc/prometheus/ + command: + - '--config.file=/etc/prometheus/prometheus.yml' + ports: + - 9090:9090 + # On MacOS, remove next line and replace localhost by host.docker.internal in prometheus/prometheus.yml and + # grafana/provisioning/datasources/datasource.yml + network_mode: 'host' # to test locally running service + jhipstersampleapplication-grafana: + image: grafana/grafana:6.1.4 + volumes: + - ./grafana/provisioning/:/etc/grafana/provisioning/ + environment: + - GF_SECURITY_ADMIN_PASSWORD=admin + - GF_USERS_ALLOW_SIGN_UP=false + - GF_INSTALL_PLUGINS=grafana-piechart-panel + ports: + - 3000:3000 + # On MacOS, remove next line and replace localhost by host.docker.internal in prometheus/prometheus.yml and + # grafana/provisioning/datasources/datasource.yml + network_mode: 'host' # to test locally running service diff --git a/src/main/docker/mysql.yml b/src/main/docker/mysql.yml index 569ed9dc8..deda6f47e 100644 --- a/src/main/docker/mysql.yml +++ b/src/main/docker/mysql.yml @@ -1,13 +1,13 @@ version: '2' services: - jhipstersampleapplication-mysql: - image: mysql:5.7.20 - # volumes: - # - ~/volumes/jhipster/jhipsterSampleApplication/mysql/:/var/lib/mysql/ - environment: - - MYSQL_USER=root - - MYSQL_ALLOW_EMPTY_PASSWORD=yes - - MYSQL_DATABASE=jhipstersampleapplication - ports: - - 3306:3306 - command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8mb4 --explicit_defaults_for_timestamp + jhipstersampleapplication-mysql: + image: mysql:8.0.16 + # volumes: + # - ~/volumes/jhipster/jhipsterSampleApplication/mysql/:/var/lib/mysql/ + environment: + - MYSQL_USER=root + - MYSQL_ALLOW_EMPTY_PASSWORD=yes + - MYSQL_DATABASE=jhipstersampleapplication + ports: + - 3306:3306 + command: mysqld --lower_case_table_names=1 --skip-ssl --character_set_server=utf8mb4 --explicit_defaults_for_timestamp diff --git a/src/main/docker/prometheus/prometheus.yml b/src/main/docker/prometheus/prometheus.yml new file mode 100644 index 000000000..94d80de0c --- /dev/null +++ b/src/main/docker/prometheus/prometheus.yml @@ -0,0 +1,26 @@ +# Sample global config for monitoring JHipster applications +global: + scrape_interval: 15s # By default, scrape targets every 15 seconds. + evaluation_interval: 15s # By default, scrape targets every 15 seconds. + # scrape_timeout is set to the global default (10s). + + # Attach these labels to any time series or alerts when communicating with + # external systems (federation, remote storage, Alertmanager). + external_labels: + monitor: 'jhipster' + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # Override the global default and scrape targets from this job every 5 seconds. + scrape_interval: 5s + + # scheme defaults to 'http'. + metrics_path: /management/prometheus + static_configs: + - targets: + # On MacOS, replace localhost by host.docker.internal + - localhost:8080 diff --git a/src/main/docker/sonar.yml b/src/main/docker/sonar.yml index c1696db3c..3d1e2a039 100644 --- a/src/main/docker/sonar.yml +++ b/src/main/docker/sonar.yml @@ -1,7 +1,7 @@ version: '2' services: - jhipstersampleapplication-sonar: - image: sonarqube:7.1 - ports: - - 9001:9000 - - 9092:9092 + jhipstersampleapplication-sonar: + image: sonarqube:7.7-community + ports: + - 9001:9000 + - 9092:9092 diff --git a/src/main/java/io/github/jhipster/sample/ApplicationWebXml.java b/src/main/java/io/github/jhipster/sample/ApplicationWebXml.java index c380ebb41..44d28d4aa 100644 --- a/src/main/java/io/github/jhipster/sample/ApplicationWebXml.java +++ b/src/main/java/io/github/jhipster/sample/ApplicationWebXml.java @@ -5,7 +5,7 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; /** - * This is a helper Java class that provides an alternative to creating a web.xml. + * This is a helper Java class that provides an alternative to creating a {@code web.xml}. * This will be invoked only when the application is deployed to a Servlet container like Tomcat, JBoss etc. */ public class ApplicationWebXml extends SpringBootServletInitializer { diff --git a/src/main/java/io/github/jhipster/sample/JhipsterSampleApplicationApp.java b/src/main/java/io/github/jhipster/sample/JhipsterSampleApplicationApp.java index c41427da4..880cb5921 100644 --- a/src/main/java/io/github/jhipster/sample/JhipsterSampleApplicationApp.java +++ b/src/main/java/io/github/jhipster/sample/JhipsterSampleApplicationApp.java @@ -8,13 +8,13 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.core.env.Environment; -import javax.annotation.PostConstruct; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Arrays; @@ -22,7 +22,7 @@ @SpringBootApplication @EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class}) -public class JhipsterSampleApplicationApp { +public class JhipsterSampleApplicationApp implements InitializingBean { private static final Logger log = LoggerFactory.getLogger(JhipsterSampleApplicationApp.class); @@ -39,8 +39,8 @@ public JhipsterSampleApplicationApp(Environment env) { *

* You can find more information on how profiles work with JHipster on https://www.jhipster.tech/profiles/. */ - @PostConstruct - public void initApplication() { + @Override + public void afterPropertiesSet() throws Exception { Collection activeProfiles = Arrays.asList(env.getActiveProfiles()); if (activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) && activeProfiles.contains(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) { log.error("You have misconfigured your application! It should not run " + @@ -55,7 +55,7 @@ public void initApplication() { /** * Main method, used to run the application. * - * @param args the command line arguments + * @param args the command line arguments. */ public static void main(String[] args) { SpringApplication app = new SpringApplication(JhipsterSampleApplicationApp.class); diff --git a/src/main/java/io/github/jhipster/sample/aop/logging/LoggingAspect.java b/src/main/java/io/github/jhipster/sample/aop/logging/LoggingAspect.java index da8651c30..d4a6a9a83 100644 --- a/src/main/java/io/github/jhipster/sample/aop/logging/LoggingAspect.java +++ b/src/main/java/io/github/jhipster/sample/aop/logging/LoggingAspect.java @@ -11,6 +11,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.env.Environment; +import org.springframework.core.env.Profiles; import java.util.Arrays; @@ -53,12 +54,12 @@ public void applicationPackagePointcut() { /** * Advice that logs methods throwing exceptions. * - * @param joinPoint join point for advice - * @param e exception + * @param joinPoint join point for advice. + * @param e exception. */ @AfterThrowing(pointcut = "applicationPackagePointcut() && springBeanPointcut()", throwing = "e") public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { - if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) { + if (env.acceptsProfiles(Profiles.of(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT))) { log.error("Exception in {}.{}() with cause = \'{}\' and exception = \'{}\'", joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName(), e.getCause() != null? e.getCause() : "NULL", e.getMessage(), e); @@ -71,9 +72,9 @@ public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { /** * Advice that logs when a method is entered and exited. * - * @param joinPoint join point for advice - * @return result - * @throws Throwable throws IllegalArgumentException + * @param joinPoint join point for advice. + * @return result. + * @throws Throwable throws {@link IllegalArgumentException}. */ @Around("applicationPackagePointcut() && springBeanPointcut()") public Object logAround(ProceedingJoinPoint joinPoint) throws Throwable { diff --git a/src/main/java/io/github/jhipster/sample/config/ApplicationProperties.java b/src/main/java/io/github/jhipster/sample/config/ApplicationProperties.java index 597a9537f..c7f04a7dc 100644 --- a/src/main/java/io/github/jhipster/sample/config/ApplicationProperties.java +++ b/src/main/java/io/github/jhipster/sample/config/ApplicationProperties.java @@ -5,7 +5,7 @@ /** * Properties specific to Jhipster Sample Application. *

- * Properties are configured in the application.yml file. + * Properties are configured in the {@code application.yml} file. * See {@link io.github.jhipster.config.JHipsterProperties} for a good example. */ @ConfigurationProperties(prefix = "application", ignoreUnknownFields = false) diff --git a/src/main/java/io/github/jhipster/sample/config/AsyncConfiguration.java b/src/main/java/io/github/jhipster/sample/config/AsyncConfiguration.java index f237d00a9..01310ab41 100644 --- a/src/main/java/io/github/jhipster/sample/config/AsyncConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/AsyncConfiguration.java @@ -1,33 +1,31 @@ package io.github.jhipster.sample.config; import io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor; -import io.github.jhipster.config.JHipsterProperties; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler; +import org.springframework.boot.autoconfigure.task.TaskExecutionProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.scheduling.annotation.*; +import org.springframework.scheduling.annotation.AsyncConfigurer; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import org.springframework.scheduling.annotation.SchedulingConfigurer; -import org.springframework.scheduling.config.ScheduledTaskRegistrar; import java.util.concurrent.Executor; -import java.util.concurrent.Executors; @Configuration @EnableAsync @EnableScheduling -public class AsyncConfiguration implements AsyncConfigurer, SchedulingConfigurer { +public class AsyncConfiguration implements AsyncConfigurer { private final Logger log = LoggerFactory.getLogger(AsyncConfiguration.class); - private final JHipsterProperties jHipsterProperties; + private final TaskExecutionProperties taskExecutionProperties; - public AsyncConfiguration(JHipsterProperties jHipsterProperties) { - this.jHipsterProperties = jHipsterProperties; + public AsyncConfiguration(TaskExecutionProperties taskExecutionProperties) { + this.taskExecutionProperties = taskExecutionProperties; } @Override @@ -35,10 +33,10 @@ public AsyncConfiguration(JHipsterProperties jHipsterProperties) { public Executor getAsyncExecutor() { log.debug("Creating Async Task Executor"); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); - executor.setCorePoolSize(jHipsterProperties.getAsync().getCorePoolSize()); - executor.setMaxPoolSize(jHipsterProperties.getAsync().getMaxPoolSize()); - executor.setQueueCapacity(jHipsterProperties.getAsync().getQueueCapacity()); - executor.setThreadNamePrefix("jhipster-sample-application-Executor-"); + executor.setCorePoolSize(taskExecutionProperties.getPool().getCoreSize()); + executor.setMaxPoolSize(taskExecutionProperties.getPool().getMaxSize()); + executor.setQueueCapacity(taskExecutionProperties.getPool().getQueueCapacity()); + executor.setThreadNamePrefix(taskExecutionProperties.getThreadNamePrefix()); return new ExceptionHandlingAsyncTaskExecutor(executor); } @@ -46,14 +44,4 @@ public Executor getAsyncExecutor() { public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { return new SimpleAsyncUncaughtExceptionHandler(); } - - @Override - public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { - taskRegistrar.setScheduler(scheduledTaskExecutor()); - } - - @Bean - public Executor scheduledTaskExecutor() { - return Executors.newScheduledThreadPool(jHipsterProperties.getAsync().getCorePoolSize()); - } } diff --git a/src/main/java/io/github/jhipster/sample/config/CacheConfiguration.java b/src/main/java/io/github/jhipster/sample/config/CacheConfiguration.java index 943d50c1a..42f61dc4e 100644 --- a/src/main/java/io/github/jhipster/sample/config/CacheConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/CacheConfiguration.java @@ -5,10 +5,11 @@ import org.ehcache.config.builders.*; import org.ehcache.jsr107.Eh107Configuration; -import io.github.jhipster.config.jcache.BeanClassLoaderAwareJCacheRegionFactory; +import org.hibernate.cache.jcache.ConfigSettings; import io.github.jhipster.config.JHipsterProperties; import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer; +import org.springframework.boot.autoconfigure.orm.jpa.HibernatePropertiesCustomizer; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.*; @@ -19,7 +20,6 @@ public class CacheConfiguration { private final javax.cache.configuration.Configuration jcacheConfiguration; public CacheConfiguration(JHipsterProperties jHipsterProperties) { - BeanClassLoaderAwareJCacheRegionFactory.setBeanClassLoader(this.getClass().getClassLoader()); JHipsterProperties.Cache.Ehcache ehcache = jHipsterProperties.getCache().getEhcache(); @@ -30,21 +30,34 @@ public CacheConfiguration(JHipsterProperties jHipsterProperties) { .build()); } + @Bean + public HibernatePropertiesCustomizer hibernatePropertiesCustomizer(javax.cache.CacheManager cacheManager) { + return hibernateProperties -> hibernateProperties.put(ConfigSettings.CACHE_MANAGER, cacheManager); + } + @Bean public JCacheManagerCustomizer cacheManagerCustomizer() { return cm -> { - cm.createCache(io.github.jhipster.sample.repository.UserRepository.USERS_BY_LOGIN_CACHE, jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.repository.UserRepository.USERS_BY_EMAIL_CACHE, jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.User.class.getName(), jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.Authority.class.getName(), jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.User.class.getName() + ".authorities", jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.BankAccount.class.getName(), jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.BankAccount.class.getName() + ".operations", jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.Label.class.getName(), jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.Label.class.getName() + ".operations", jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.Operation.class.getName(), jcacheConfiguration); - cm.createCache(io.github.jhipster.sample.domain.Operation.class.getName() + ".labels", jcacheConfiguration); + createCache(cm, io.github.jhipster.sample.repository.UserRepository.USERS_BY_LOGIN_CACHE); + createCache(cm, io.github.jhipster.sample.repository.UserRepository.USERS_BY_EMAIL_CACHE); + createCache(cm, io.github.jhipster.sample.domain.User.class.getName()); + createCache(cm, io.github.jhipster.sample.domain.Authority.class.getName()); + createCache(cm, io.github.jhipster.sample.domain.User.class.getName() + ".authorities"); + createCache(cm, io.github.jhipster.sample.domain.BankAccount.class.getName()); + createCache(cm, io.github.jhipster.sample.domain.BankAccount.class.getName() + ".operations"); + createCache(cm, io.github.jhipster.sample.domain.Label.class.getName()); + createCache(cm, io.github.jhipster.sample.domain.Label.class.getName() + ".operations"); + createCache(cm, io.github.jhipster.sample.domain.Operation.class.getName()); + createCache(cm, io.github.jhipster.sample.domain.Operation.class.getName() + ".labels"); // jhipster-needle-ehcache-add-entry }; } + + private void createCache(javax.cache.CacheManager cm, String cacheName) { + javax.cache.Cache cache = cm.getCache(cacheName); + if (cache != null) { + cm.destroyCache(cacheName); + } + cm.createCache(cacheName, jcacheConfiguration); + } } diff --git a/src/main/java/io/github/jhipster/sample/config/Constants.java b/src/main/java/io/github/jhipster/sample/config/Constants.java index 3100b69c0..2ccbd777d 100644 --- a/src/main/java/io/github/jhipster/sample/config/Constants.java +++ b/src/main/java/io/github/jhipster/sample/config/Constants.java @@ -7,11 +7,11 @@ public final class Constants { // Regex for acceptable logins public static final String LOGIN_REGEX = "^[_.@A-Za-z0-9-]*$"; - + public static final String SYSTEM_ACCOUNT = "system"; - public static final String ANONYMOUS_USER = "anonymoususer"; public static final String DEFAULT_LANGUAGE = "en"; - + public static final String ANONYMOUS_USER = "anonymoususer"; + private Constants() { } } diff --git a/src/main/java/io/github/jhipster/sample/config/DatabaseConfiguration.java b/src/main/java/io/github/jhipster/sample/config/DatabaseConfiguration.java index 6da9b5662..562f567c0 100644 --- a/src/main/java/io/github/jhipster/sample/config/DatabaseConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/DatabaseConfiguration.java @@ -32,8 +32,8 @@ public DatabaseConfiguration(Environment env) { /** * Open the TCP port for the H2 database, so it is available remotely. * - * @return the H2 database TCP server - * @throws SQLException if the server failed to start + * @return the H2 database TCP server. + * @throws SQLException if the server failed to start. */ @Bean(initMethod = "start", destroyMethod = "stop") @Profile(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT) @@ -42,7 +42,7 @@ public Object h2TCPServer() throws SQLException { log.debug("H2 database is available on port {}", port); return H2ConfigurationHelper.createServer(port); } - + private String getValidPortForH2() { int port = Integer.parseInt(env.getProperty("server.port")); if (port < 10000) { diff --git a/src/main/java/io/github/jhipster/sample/config/DefaultProfileUtil.java b/src/main/java/io/github/jhipster/sample/config/DefaultProfileUtil.java index 6baa171f5..861f3e901 100644 --- a/src/main/java/io/github/jhipster/sample/config/DefaultProfileUtil.java +++ b/src/main/java/io/github/jhipster/sample/config/DefaultProfileUtil.java @@ -9,8 +9,8 @@ /** * Utility class to load a Spring profile to be used as default - * when there is no spring.profiles.active set in the environment or as command line argument. - * If the value is not available in application.yml then dev profile will be used as default. + * when there is no {@code spring.profiles.active} set in the environment or as command line argument. + * If the value is not available in {@code application.yml} then {@code dev} profile will be used as default. */ public final class DefaultProfileUtil { @@ -22,30 +22,16 @@ private DefaultProfileUtil() { /** * Set a default to use when no profile is configured. * - * @param app the Spring application + * @param app the Spring application. */ public static void addDefaultProfile(SpringApplication app) { Map defProperties = new HashMap<>(); /* * The default profile to use when no other profiles are defined - * This cannot be set in the application.yml file. + * This cannot be set in the application.yml file. * See https://github.com/spring-projects/spring-boot/issues/1219 */ defProperties.put(SPRING_PROFILE_DEFAULT, JHipsterConstants.SPRING_PROFILE_DEVELOPMENT); app.setDefaultProperties(defProperties); } - - /** - * Get the profiles that are applied else get default profiles. - * - * @param env spring environment - * @return profiles - */ - public static String[] getActiveProfiles(Environment env) { - String[] profiles = env.getActiveProfiles(); - if (profiles.length == 0) { - return env.getDefaultProfiles(); - } - return profiles; - } } diff --git a/src/main/java/io/github/jhipster/sample/config/JacksonConfiguration.java b/src/main/java/io/github/jhipster/sample/config/JacksonConfiguration.java index a50f827d8..c7384cfa9 100644 --- a/src/main/java/io/github/jhipster/sample/config/JacksonConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/JacksonConfiguration.java @@ -27,7 +27,6 @@ public Jdk8Module jdk8TimeModule() { return new Jdk8Module(); } - /* * Support for Hibernate types in Jackson. */ @@ -59,5 +58,4 @@ ProblemModule problemModule() { ConstraintViolationProblemModule constraintViolationProblemModule() { return new ConstraintViolationProblemModule(); } - } diff --git a/src/main/java/io/github/jhipster/sample/config/LiquibaseConfiguration.java b/src/main/java/io/github/jhipster/sample/config/LiquibaseConfiguration.java index f6fd0f1d4..0693be23a 100644 --- a/src/main/java/io/github/jhipster/sample/config/LiquibaseConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/LiquibaseConfiguration.java @@ -1,7 +1,8 @@ package io.github.jhipster.sample.config; -import javax.sql.DataSource; - +import io.github.jhipster.config.JHipsterConstants; +import io.github.jhipster.config.liquibase.AsyncSpringLiquibase; +import liquibase.integration.spring.SpringLiquibase; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Qualifier; @@ -10,11 +11,10 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; -import org.springframework.core.task.TaskExecutor; +import org.springframework.core.env.Profiles; -import io.github.jhipster.config.JHipsterConstants; -import io.github.jhipster.config.liquibase.AsyncSpringLiquibase; -import liquibase.integration.spring.SpringLiquibase; +import javax.sql.DataSource; +import java.util.concurrent.Executor; @Configuration public class LiquibaseConfiguration { @@ -31,18 +31,18 @@ public LiquibaseConfiguration(Environment env, CacheManager cacheManager) { } @Bean - public SpringLiquibase liquibase(@Qualifier("taskExecutor") TaskExecutor taskExecutor, + public SpringLiquibase liquibase(@Qualifier("taskExecutor") Executor executor, DataSource dataSource, LiquibaseProperties liquibaseProperties) { // Use liquibase.integration.spring.SpringLiquibase if you don't want Liquibase to start asynchronously - SpringLiquibase liquibase = new AsyncSpringLiquibase(taskExecutor, env); + SpringLiquibase liquibase = new AsyncSpringLiquibase(executor, env); liquibase.setDataSource(dataSource); liquibase.setChangeLog("classpath:config/liquibase/master.xml"); liquibase.setContexts(liquibaseProperties.getContexts()); liquibase.setDefaultSchema(liquibaseProperties.getDefaultSchema()); liquibase.setDropFirst(liquibaseProperties.isDropFirst()); liquibase.setChangeLogParameters(liquibaseProperties.getParameters()); - if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_NO_LIQUIBASE)) { + if (env.acceptsProfiles(Profiles.of(JHipsterConstants.SPRING_PROFILE_NO_LIQUIBASE))) { liquibase.setShouldRun(false); } else { liquibase.setShouldRun(liquibaseProperties.isEnabled()); diff --git a/src/main/java/io/github/jhipster/sample/config/LoggingConfiguration.java b/src/main/java/io/github/jhipster/sample/config/LoggingConfiguration.java index d927b9702..dcc8a3750 100644 --- a/src/main/java/io/github/jhipster/sample/config/LoggingConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/LoggingConfiguration.java @@ -12,10 +12,24 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.LoggerContextListener; import ch.qos.logback.core.Appender; +import ch.qos.logback.core.ConsoleAppender; import ch.qos.logback.core.filter.EvaluatorFilter; import ch.qos.logback.core.spi.ContextAwareBase; import ch.qos.logback.core.spi.FilterReply; import net.logstash.logback.appender.LogstashTcpSocketAppender; +import net.logstash.logback.composite.ContextJsonProvider; +import net.logstash.logback.composite.GlobalCustomFieldsJsonProvider; +import net.logstash.logback.composite.loggingevent.ArgumentsJsonProvider; +import net.logstash.logback.composite.loggingevent.LogLevelJsonProvider; +import net.logstash.logback.composite.loggingevent.LoggerNameJsonProvider; +import net.logstash.logback.composite.loggingevent.LoggingEventFormattedTimestampJsonProvider; +import net.logstash.logback.composite.loggingevent.LoggingEventJsonProviders; +import net.logstash.logback.composite.loggingevent.LoggingEventPatternJsonProvider; +import net.logstash.logback.composite.loggingevent.MdcJsonProvider; +import net.logstash.logback.composite.loggingevent.MessageJsonProvider; +import net.logstash.logback.composite.loggingevent.StackTraceJsonProvider; +import net.logstash.logback.composite.loggingevent.ThreadNameJsonProvider; +import net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder; import net.logstash.logback.encoder.LogstashEncoder; import net.logstash.logback.stacktrace.ShortenedThrowableConverter; import org.slf4j.Logger; @@ -26,6 +40,8 @@ @Configuration public class LoggingConfiguration { + private static final String CONSOLE_APPENDER_NAME = "CONSOLE"; + private static final String LOGSTASH_APPENDER_NAME = "LOGSTASH"; private static final String ASYNC_LOGSTASH_APPENDER_NAME = "ASYNC_LOGSTASH"; @@ -45,51 +61,132 @@ public LoggingConfiguration(@Value("${spring.application.name}") String appName, this.appName = appName; this.serverPort = serverPort; this.jHipsterProperties = jHipsterProperties; - if (jHipsterProperties.getLogging().getLogstash().isEnabled()) { - addLogstashAppender(context); + if (this.jHipsterProperties.getLogging().isUseJsonFormat()) { + addJsonConsoleAppender(context); + } + if (this.jHipsterProperties.getLogging().getLogstash().isEnabled()) { + addLogstashTcpSocketAppender(context); + } + if (this.jHipsterProperties.getLogging().isUseJsonFormat() || this.jHipsterProperties.getLogging().getLogstash().isEnabled()) { addContextListener(context); } - if (jHipsterProperties.getMetrics().getLogs().isEnabled()) { + if (this.jHipsterProperties.getMetrics().getLogs().isEnabled()) { setMetricsMarkerLogbackFilter(context); } } - private void addContextListener(LoggerContext context) { - LogbackLoggerContextListener loggerContextListener = new LogbackLoggerContextListener(); - loggerContextListener.setContext(context); - context.addListener(loggerContextListener); + private void addJsonConsoleAppender(LoggerContext context) { + log.info("Initializing Console logging"); + + // More documentation is available at: https://github.com/logstash/logstash-logback-encoder + ConsoleAppender consoleAppender = new ConsoleAppender<>(); + consoleAppender.setContext(context); + consoleAppender.setEncoder(compositeJsonEncoder(context)); + consoleAppender.setName(CONSOLE_APPENDER_NAME); + consoleAppender.start(); + + context.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME).detachAppender(CONSOLE_APPENDER_NAME); + context.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME).addAppender(consoleAppender); } - private void addLogstashAppender(LoggerContext context) { + private void addLogstashTcpSocketAppender(LoggerContext context) { log.info("Initializing Logstash logging"); + // More documentation is available at: https://github.com/logstash/logstash-logback-encoder LogstashTcpSocketAppender logstashAppender = new LogstashTcpSocketAppender(); - logstashAppender.setName(LOGSTASH_APPENDER_NAME); + logstashAppender.addDestinations(new InetSocketAddress(this.jHipsterProperties.getLogging().getLogstash().getHost(), this.jHipsterProperties.getLogging().getLogstash().getPort())); logstashAppender.setContext(context); - String customFields = "{\"app_name\":\"" + appName + "\",\"app_port\":\"" + serverPort + "\"}"; - - // More documentation is available at: https://github.com/logstash/logstash-logback-encoder - LogstashEncoder logstashEncoder = new LogstashEncoder(); - // Set the Logstash appender config from JHipster properties - logstashAppender.addDestinations(new InetSocketAddress(jHipsterProperties.getLogging().getLogstash().getHost(), jHipsterProperties.getLogging().getLogstash().getPort())); - - ShortenedThrowableConverter throwableConverter = new ShortenedThrowableConverter(); - throwableConverter.setRootCauseFirst(true); - logstashEncoder.setThrowableConverter(throwableConverter); - logstashEncoder.setCustomFields(customFields); - - logstashAppender.setEncoder(logstashEncoder); + logstashAppender.setEncoder(logstashEncoder()); + logstashAppender.setName(LOGSTASH_APPENDER_NAME); logstashAppender.start(); // Wrap the appender in an Async appender for performance AsyncAppender asyncLogstashAppender = new AsyncAppender(); asyncLogstashAppender.setContext(context); asyncLogstashAppender.setName(ASYNC_LOGSTASH_APPENDER_NAME); - asyncLogstashAppender.setQueueSize(jHipsterProperties.getLogging().getLogstash().getQueueSize()); + asyncLogstashAppender.setQueueSize(this.jHipsterProperties.getLogging().getLogstash().getQueueSize()); asyncLogstashAppender.addAppender(logstashAppender); asyncLogstashAppender.start(); - context.getLogger("ROOT").addAppender(asyncLogstashAppender); + context.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME).addAppender(asyncLogstashAppender); + } + + private LoggingEventCompositeJsonEncoder compositeJsonEncoder(LoggerContext context) { + final LoggingEventCompositeJsonEncoder compositeJsonEncoder = new LoggingEventCompositeJsonEncoder(); + compositeJsonEncoder.setContext(context); + compositeJsonEncoder.setProviders(jsonProviders(context)); + compositeJsonEncoder.start(); + return compositeJsonEncoder; + } + + private LogstashEncoder logstashEncoder() { + final LogstashEncoder logstashEncoder = new LogstashEncoder(); + logstashEncoder.setThrowableConverter(throwableConverter()); + logstashEncoder.setCustomFields(customFields()); + return logstashEncoder; + } + + private LoggingEventJsonProviders jsonProviders(LoggerContext context) { + final LoggingEventJsonProviders jsonProviders = new LoggingEventJsonProviders(); + jsonProviders.addArguments(new ArgumentsJsonProvider()); + jsonProviders.addContext(new ContextJsonProvider<>()); + jsonProviders.addGlobalCustomFields(customFieldsJsonProvider()); + jsonProviders.addLogLevel(new LogLevelJsonProvider()); + jsonProviders.addLoggerName(loggerNameJsonProvider()); + jsonProviders.addMdc(new MdcJsonProvider()); + jsonProviders.addMessage(new MessageJsonProvider()); + jsonProviders.addPattern(new LoggingEventPatternJsonProvider()); + jsonProviders.addStackTrace(stackTraceJsonProvider()); + jsonProviders.addThreadName(new ThreadNameJsonProvider()); + jsonProviders.addTimestamp(timestampJsonProvider()); + jsonProviders.setContext(context); + return jsonProviders; + } + + private GlobalCustomFieldsJsonProvider customFieldsJsonProvider() { + final GlobalCustomFieldsJsonProvider customFieldsJsonProvider = new GlobalCustomFieldsJsonProvider<>(); + customFieldsJsonProvider.setCustomFields(customFields()); + return customFieldsJsonProvider; + } + + private String customFields () { + StringBuilder customFields = new StringBuilder(); + customFields.append("{"); + customFields.append("\"app_name\":\"").append(this.appName).append("\""); + customFields.append(",").append("\"app_port\":\"").append(this.serverPort).append("\""); + customFields.append("}"); + return customFields.toString(); + } + + private LoggerNameJsonProvider loggerNameJsonProvider() { + final LoggerNameJsonProvider loggerNameJsonProvider = new LoggerNameJsonProvider(); + loggerNameJsonProvider.setShortenedLoggerNameLength(20); + return loggerNameJsonProvider; + } + + private StackTraceJsonProvider stackTraceJsonProvider() { + StackTraceJsonProvider stackTraceJsonProvider = new StackTraceJsonProvider(); + stackTraceJsonProvider.setThrowableConverter(throwableConverter()); + return stackTraceJsonProvider; + } + + private ShortenedThrowableConverter throwableConverter() { + final ShortenedThrowableConverter throwableConverter = new ShortenedThrowableConverter(); + throwableConverter.setRootCauseFirst(true); + return throwableConverter; + } + + private LoggingEventFormattedTimestampJsonProvider timestampJsonProvider() { + final LoggingEventFormattedTimestampJsonProvider timestampJsonProvider = new LoggingEventFormattedTimestampJsonProvider(); + timestampJsonProvider.setTimeZone("UTC"); + timestampJsonProvider.setFieldName("timestamp"); + return timestampJsonProvider; + } + + private void addContextListener(LoggerContext context) { + LogbackLoggerContextListener loggerContextListener = new LogbackLoggerContextListener(this.jHipsterProperties); + loggerContextListener.setContext(context); + context.addListener(loggerContextListener); } // Configure a log filter to remove "metrics" logs from all appenders except the "LOGSTASH" appender @@ -105,17 +202,18 @@ private void setMetricsMarkerLogbackFilter(LoggerContext context) { metricsFilter.setOnMatch(FilterReply.DENY); metricsFilter.start(); - for (ch.qos.logback.classic.Logger logger : context.getLoggerList()) { + context.getLoggerList().forEach((logger) -> { for (Iterator> it = logger.iteratorForAppenders(); it.hasNext();) { Appender appender = it.next(); - if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME)) { + if (!appender.getName().equals(ASYNC_LOGSTASH_APPENDER_NAME) + && !(appender.getName().equals(CONSOLE_APPENDER_NAME) && this.jHipsterProperties.getLogging().isUseJsonFormat())) { log.debug("Filter metrics logs from the {} appender", appender.getName()); appender.setContext(context); appender.addFilter(metricsFilter); appender.start(); } } - } + }); } /** @@ -124,7 +222,12 @@ private void setMetricsMarkerLogbackFilter(LoggerContext context) { * This listener ensures that the programmatic configuration is also re-applied after reset. */ class LogbackLoggerContextListener extends ContextAwareBase implements LoggerContextListener { - + private final JHipsterProperties jHipsterProperties; + + private LogbackLoggerContextListener(JHipsterProperties jHipsterProperties) { + this.jHipsterProperties = jHipsterProperties; + } + @Override public boolean isResetResistant() { return true; @@ -132,12 +235,22 @@ public boolean isResetResistant() { @Override public void onStart(LoggerContext context) { - addLogstashAppender(context); + if (this.jHipsterProperties.getLogging().isUseJsonFormat()) { + addJsonConsoleAppender(context); + } + if (this.jHipsterProperties.getLogging().getLogstash().isEnabled()) { + addLogstashTcpSocketAppender(context); + } } @Override public void onReset(LoggerContext context) { - addLogstashAppender(context); + if (this.jHipsterProperties.getLogging().isUseJsonFormat()) { + addJsonConsoleAppender(context); + } + if (this.jHipsterProperties.getLogging().getLogstash().isEnabled()) { + addLogstashTcpSocketAppender(context); + } } @Override diff --git a/src/main/java/io/github/jhipster/sample/config/SecurityConfiguration.java b/src/main/java/io/github/jhipster/sample/config/SecurityConfiguration.java index 2cdd00f22..5e3bf4ad3 100644 --- a/src/main/java/io/github/jhipster/sample/config/SecurityConfiguration.java +++ b/src/main/java/io/github/jhipster/sample/config/SecurityConfiguration.java @@ -4,68 +4,38 @@ import io.github.jhipster.sample.security.jwt.*; import org.springframework.beans.factory.BeanInitializationException; +import org.springframework.beans.factory.InitializingBean; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.http.HttpMethod; -import org.springframework.security.authentication.AuthenticationManager; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; -import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.web.filter.CorsFilter; import org.zalando.problem.spring.web.advice.security.SecurityProblemSupport; -import javax.annotation.PostConstruct; - -@Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) @Import(SecurityProblemSupport.class) public class SecurityConfiguration extends WebSecurityConfigurerAdapter { - private final AuthenticationManagerBuilder authenticationManagerBuilder; - - private final UserDetailsService userDetailsService; - private final TokenProvider tokenProvider; private final CorsFilter corsFilter; - private final SecurityProblemSupport problemSupport; - public SecurityConfiguration(AuthenticationManagerBuilder authenticationManagerBuilder, UserDetailsService userDetailsService, TokenProvider tokenProvider, CorsFilter corsFilter, SecurityProblemSupport problemSupport) { - this.authenticationManagerBuilder = authenticationManagerBuilder; - this.userDetailsService = userDetailsService; + public SecurityConfiguration(TokenProvider tokenProvider, CorsFilter corsFilter, SecurityProblemSupport problemSupport) { this.tokenProvider = tokenProvider; this.corsFilter = corsFilter; this.problemSupport = problemSupport; } - @PostConstruct - public void init() { - try { - authenticationManagerBuilder - .userDetailsService(userDetailsService) - .passwordEncoder(passwordEncoder()); - } catch (Exception e) { - throw new BeanInitializationException("Security configuration failed", e); - } - } - - @Override - @Bean - public AuthenticationManager authenticationManagerBean() throws Exception { - return super.authenticationManagerBean(); - } - @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); @@ -85,6 +55,7 @@ public void configure(WebSecurity web) throws Exception { @Override public void configure(HttpSecurity http) throws Exception { + // @formatter:off http .csrf() .disable() @@ -101,18 +72,19 @@ public void configure(HttpSecurity http) throws Exception { .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() + .antMatchers("/api/authenticate").permitAll() .antMatchers("/api/register").permitAll() .antMatchers("/api/activate").permitAll() - .antMatchers("/api/authenticate").permitAll() .antMatchers("/api/account/reset-password/init").permitAll() .antMatchers("/api/account/reset-password/finish").permitAll() .antMatchers("/api/**").authenticated() .antMatchers("/management/health").permitAll() .antMatchers("/management/info").permitAll() + .antMatchers("/management/prometheus").permitAll() .antMatchers("/management/**").hasAuthority(AuthoritiesConstants.ADMIN) .and() .apply(securityConfigurerAdapter()); - + // @formatter:on } private JWTConfigurer securityConfigurerAdapter() { diff --git a/src/main/java/io/github/jhipster/sample/config/WebConfigurer.java b/src/main/java/io/github/jhipster/sample/config/WebConfigurer.java index a6cf2bcbe..f9d8d2efb 100644 --- a/src/main/java/io/github/jhipster/sample/config/WebConfigurer.java +++ b/src/main/java/io/github/jhipster/sample/config/WebConfigurer.java @@ -4,17 +4,15 @@ import io.github.jhipster.config.JHipsterProperties; import io.github.jhipster.config.h2.H2ConfigurationHelper; import io.github.jhipster.web.filter.CachingHttpHeadersFilter; -import io.undertow.UndertowOptions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.server.*; import org.springframework.boot.web.servlet.ServletContextInitializer; import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; +import org.springframework.core.env.Profiles; import org.springframework.http.MediaType; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; @@ -42,7 +40,6 @@ public class WebConfigurer implements ServletContextInitializer, WebServerFactor private final JHipsterProperties jHipsterProperties; public WebConfigurer(Environment env, JHipsterProperties jHipsterProperties) { - this.env = env; this.jHipsterProperties = jHipsterProperties; } @@ -53,10 +50,10 @@ public void onStartup(ServletContext servletContext) throws ServletException { log.info("Web application configuration, using profiles: {}", (Object[]) env.getActiveProfiles()); } EnumSet disps = EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ASYNC); - if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_PRODUCTION)) { + if (env.acceptsProfiles(Profiles.of(JHipsterConstants.SPRING_PROFILE_PRODUCTION))) { initCachingHttpHeadersFilter(servletContext, disps); } - if (env.acceptsProfiles(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT)) { + if (env.acceptsProfiles(Profiles.of(JHipsterConstants.SPRING_PROFILE_DEVELOPMENT))) { initH2Console(servletContext); } log.info("Web application fully configured"); @@ -70,20 +67,6 @@ public void customize(WebServerFactory server) { setMimeMappings(server); // When running in an IDE or with ./mvnw spring-boot:run, set location of the static web assets. setLocationForStaticAssets(server); - - /* - * Enable HTTP/2 for Undertow - https://twitter.com/ankinson/status/829256167700492288 - * HTTP/2 requires HTTPS, so HTTP requests will fallback to HTTP/1.1. - * See the JHipsterProperties class and your application-*.yml configuration files - * for more information. - */ - if (jHipsterProperties.getHttp().getVersion().equals(JHipsterProperties.Http.Version.V_2_0) && - server instanceof UndertowServletWebServerFactory) { - - ((UndertowServletWebServerFactory) server) - .addBuilderCustomizers(builder -> - builder.setServerOption(UndertowOptions.ENABLE_HTTP2, true)); - } } private void setMimeMappings(WebServerFactory server) { @@ -103,7 +86,7 @@ private void setLocationForStaticAssets(WebServerFactory server) { ConfigurableServletWebServerFactory servletWebServer = (ConfigurableServletWebServerFactory) server; File root; String prefixPath = resolvePathPrefix(); - root = new File(prefixPath + "target/www/"); + root = new File(prefixPath + "target/classes/static/"); if (root.exists() && root.isDirectory()) { servletWebServer.setDocumentRoot(root); } diff --git a/src/main/java/io/github/jhipster/sample/config/audit/AuditEventConverter.java b/src/main/java/io/github/jhipster/sample/config/audit/AuditEventConverter.java index 13571de45..cc4248d05 100644 --- a/src/main/java/io/github/jhipster/sample/config/audit/AuditEventConverter.java +++ b/src/main/java/io/github/jhipster/sample/config/audit/AuditEventConverter.java @@ -12,9 +12,9 @@ public class AuditEventConverter { /** - * Convert a list of PersistentAuditEvent to a list of AuditEvent + * Convert a list of {@link PersistentAuditEvent}s to a list of {@link AuditEvent}s. * - * @param persistentAuditEvents the list to convert + * @param persistentAuditEvents the list to convert. * @return the converted list. */ public List convertToAuditEvent(Iterable persistentAuditEvents) { @@ -29,9 +29,9 @@ public List convertToAuditEvent(Iterable persi } /** - * Convert a PersistentAuditEvent to an AuditEvent + * Convert a {@link PersistentAuditEvent} to an {@link AuditEvent}. * - * @param persistentAuditEvent the event to convert + * @param persistentAuditEvent the event to convert. * @return the converted list. */ public AuditEvent convertToAuditEvent(PersistentAuditEvent persistentAuditEvent) { @@ -43,10 +43,10 @@ public AuditEvent convertToAuditEvent(PersistentAuditEvent persistentAuditEvent) } /** - * Internal conversion. This is needed to support the current SpringBoot actuator AuditEventRepository interface + * Internal conversion. This is needed to support the current SpringBoot actuator {@code AuditEventRepository} interface. * - * @param data the data to convert - * @return a map of String, Object + * @param data the data to convert. + * @return a map of {@link String}, {@link Object}. */ public Map convertDataToObjects(Map data) { Map results = new HashMap<>(); @@ -61,10 +61,10 @@ public Map convertDataToObjects(Map data) { /** * Internal conversion. This method will allow to save additional data. - * By default, it will save the object as string + * By default, it will save the object as string. * - * @param data the data to convert - * @return a map of String, String + * @param data the data to convert. + * @return a map of {@link String}, {@link String}. */ public Map convertDataToStrings(Map data) { Map results = new HashMap<>(); diff --git a/src/main/java/io/github/jhipster/sample/domain/Authority.java b/src/main/java/io/github/jhipster/sample/domain/Authority.java index b9ac79da3..55a960b14 100644 --- a/src/main/java/io/github/jhipster/sample/domain/Authority.java +++ b/src/main/java/io/github/jhipster/sample/domain/Authority.java @@ -9,6 +9,7 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.io.Serializable; +import java.util.Objects; /** * An authority (a security role) used by Spring Security. @@ -39,18 +40,15 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof Authority)) { return false; } - - Authority authority = (Authority) o; - - return !(name != null ? !name.equals(authority.name) : authority.name != null); + return Objects.equals(name, ((Authority) o).name); } @Override public int hashCode() { - return name != null ? name.hashCode() : 0; + return Objects.hashCode(name); } @Override diff --git a/src/main/java/io/github/jhipster/sample/domain/BankAccount.java b/src/main/java/io/github/jhipster/sample/domain/BankAccount.java index f3846edaf..966badbac 100644 --- a/src/main/java/io/github/jhipster/sample/domain/BankAccount.java +++ b/src/main/java/io/github/jhipster/sample/domain/BankAccount.java @@ -24,7 +24,7 @@ public class BankAccount implements Serializable { private static final long serialVersionUID = 1L; - + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @@ -34,7 +34,7 @@ public class BankAccount implements Serializable { private String name; @NotNull - @Column(name = "balance", precision = 10, scale = 2, nullable = false) + @Column(name = "balance", precision = 21, scale = 2, nullable = false) private BigDecimal balance; @ManyToOne @@ -44,6 +44,7 @@ public class BankAccount implements Serializable { @OneToMany(mappedBy = "bankAccount") @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) private Set operations = new HashSet<>(); + // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove public Long getId() { return id; @@ -91,19 +92,15 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { - return false; - } - BankAccount bankAccount = (BankAccount) o; - if (bankAccount.getId() == null || getId() == null) { + if (!(o instanceof BankAccount)) { return false; } - return Objects.equals(getId(), bankAccount.getId()); + return id != null && id.equals(((BankAccount) o).id); } @Override public int hashCode() { - return Objects.hashCode(getId()); + return 31; } @Override diff --git a/src/main/java/io/github/jhipster/sample/domain/Label.java b/src/main/java/io/github/jhipster/sample/domain/Label.java index b0ec98096..50be642ab 100644 --- a/src/main/java/io/github/jhipster/sample/domain/Label.java +++ b/src/main/java/io/github/jhipster/sample/domain/Label.java @@ -22,7 +22,7 @@ public class Label implements Serializable { private static final long serialVersionUID = 1L; - + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @@ -68,19 +68,15 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { - return false; - } - Label label = (Label) o; - if (label.getId() == null || getId() == null) { + if (!(o instanceof Label)) { return false; } - return Objects.equals(getId(), label.getId()); + return id != null && id.equals(((Label) o).id); } @Override public int hashCode() { - return Objects.hashCode(getId()); + return 31; } @Override diff --git a/src/main/java/io/github/jhipster/sample/domain/Operation.java b/src/main/java/io/github/jhipster/sample/domain/Operation.java index 879ba4ca7..fffe58e99 100644 --- a/src/main/java/io/github/jhipster/sample/domain/Operation.java +++ b/src/main/java/io/github/jhipster/sample/domain/Operation.java @@ -24,7 +24,7 @@ public class Operation implements Serializable { private static final long serialVersionUID = 1L; - + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @@ -37,7 +37,7 @@ public class Operation implements Serializable { private String description; @NotNull - @Column(name = "amount", precision = 10, scale = 2, nullable = false) + @Column(name = "amount", precision = 21, scale = 2, nullable = false) private BigDecimal amount; @ManyToOne @@ -106,19 +106,15 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { - return false; - } - Operation operation = (Operation) o; - if (operation.getId() == null || getId() == null) { + if (!(o instanceof Operation)) { return false; } - return Objects.equals(getId(), operation.getId()); + return id != null && id.equals(((Operation) o).id); } @Override public int hashCode() { - return Objects.hashCode(getId()); + return 31; } @Override diff --git a/src/main/java/io/github/jhipster/sample/domain/PersistentAuditEvent.java b/src/main/java/io/github/jhipster/sample/domain/PersistentAuditEvent.java index 778cfef5d..cc8ae6e0a 100644 --- a/src/main/java/io/github/jhipster/sample/domain/PersistentAuditEvent.java +++ b/src/main/java/io/github/jhipster/sample/domain/PersistentAuditEvent.java @@ -85,17 +85,15 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof PersistentAuditEvent)) { return false; } - - PersistentAuditEvent persistentAuditEvent = (PersistentAuditEvent) o; - return !(persistentAuditEvent.getId() == null || getId() == null) && Objects.equals(getId(), persistentAuditEvent.getId()); + return id != null && id.equals(((PersistentAuditEvent) o).id); } @Override public int hashCode() { - return Objects.hashCode(getId()); + return 31; } @Override diff --git a/src/main/java/io/github/jhipster/sample/domain/User.java b/src/main/java/io/github/jhipster/sample/domain/User.java index 4b363713d..e19188570 100644 --- a/src/main/java/io/github/jhipster/sample/domain/User.java +++ b/src/main/java/io/github/jhipster/sample/domain/User.java @@ -7,18 +7,17 @@ import org.hibernate.annotations.BatchSize; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; -import javax.validation.constraints.Email; import javax.persistence.*; +import javax.validation.constraints.Email; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; import java.io.Serializable; +import java.time.Instant; import java.util.HashSet; import java.util.Locale; -import java.util.Objects; import java.util.Set; -import java.time.Instant; /** * A user. @@ -204,17 +203,15 @@ public boolean equals(Object o) { if (this == o) { return true; } - if (o == null || getClass() != o.getClass()) { + if (!(o instanceof User)) { return false; } - - User user = (User) o; - return !(user.getId() == null || getId() == null) && Objects.equals(getId(), user.getId()); + return id != null && id.equals(((User) o).id); } @Override public int hashCode() { - return Objects.hashCode(getId()); + return 31; } @Override diff --git a/src/main/java/io/github/jhipster/sample/repository/AuthorityRepository.java b/src/main/java/io/github/jhipster/sample/repository/AuthorityRepository.java index fc5cc46ae..5c46f06cd 100644 --- a/src/main/java/io/github/jhipster/sample/repository/AuthorityRepository.java +++ b/src/main/java/io/github/jhipster/sample/repository/AuthorityRepository.java @@ -5,7 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; /** - * Spring Data JPA repository for the Authority entity. + * Spring Data JPA repository for the {@link Authority} entity. */ public interface AuthorityRepository extends JpaRepository { } diff --git a/src/main/java/io/github/jhipster/sample/repository/BankAccountRepository.java b/src/main/java/io/github/jhipster/sample/repository/BankAccountRepository.java index 005c06314..f7d035e1f 100644 --- a/src/main/java/io/github/jhipster/sample/repository/BankAccountRepository.java +++ b/src/main/java/io/github/jhipster/sample/repository/BankAccountRepository.java @@ -13,7 +13,7 @@ @Repository public interface BankAccountRepository extends JpaRepository { - @Query("select bank_account from BankAccount bank_account where bank_account.user.login = ?#{principal.username}") + @Query("select bankAccount from BankAccount bankAccount where bankAccount.user.login = ?#{principal.username}") List findByUserIsCurrentUser(); } diff --git a/src/main/java/io/github/jhipster/sample/repository/CustomAuditEventRepository.java b/src/main/java/io/github/jhipster/sample/repository/CustomAuditEventRepository.java index f0980d596..4f755ad37 100644 --- a/src/main/java/io/github/jhipster/sample/repository/CustomAuditEventRepository.java +++ b/src/main/java/io/github/jhipster/sample/repository/CustomAuditEventRepository.java @@ -16,7 +16,7 @@ import java.util.*; /** - * An implementation of Spring Boot's AuditEventRepository. + * An implementation of Spring Boot's {@link AuditEventRepository}. */ @Repository public class CustomAuditEventRepository implements AuditEventRepository { diff --git a/src/main/java/io/github/jhipster/sample/repository/OperationRepository.java b/src/main/java/io/github/jhipster/sample/repository/OperationRepository.java index 0545b88a9..a9eaf60a7 100644 --- a/src/main/java/io/github/jhipster/sample/repository/OperationRepository.java +++ b/src/main/java/io/github/jhipster/sample/repository/OperationRepository.java @@ -13,7 +13,6 @@ /** * Spring Data repository for the Operation entity. */ -@SuppressWarnings("unused") @Repository public interface OperationRepository extends JpaRepository { @@ -21,7 +20,7 @@ public interface OperationRepository extends JpaRepository { countQuery = "select count(distinct operation) from Operation operation") Page findAllWithEagerRelationships(Pageable pageable); - @Query(value = "select distinct operation from Operation operation left join fetch operation.labels") + @Query("select distinct operation from Operation operation left join fetch operation.labels") List findAllWithEagerRelationships(); @Query("select operation from Operation operation left join fetch operation.labels where operation.id =:id") diff --git a/src/main/java/io/github/jhipster/sample/repository/PersistenceAuditEventRepository.java b/src/main/java/io/github/jhipster/sample/repository/PersistenceAuditEventRepository.java index 327a7ada7..47c570872 100644 --- a/src/main/java/io/github/jhipster/sample/repository/PersistenceAuditEventRepository.java +++ b/src/main/java/io/github/jhipster/sample/repository/PersistenceAuditEventRepository.java @@ -9,7 +9,7 @@ import java.util.List; /** - * Spring Data JPA repository for the PersistentAuditEvent entity. + * Spring Data JPA repository for the {@link PersistentAuditEvent} entity. */ public interface PersistenceAuditEventRepository extends JpaRepository { diff --git a/src/main/java/io/github/jhipster/sample/repository/UserRepository.java b/src/main/java/io/github/jhipster/sample/repository/UserRepository.java index d0e5ecbbf..5ddcbafe2 100644 --- a/src/main/java/io/github/jhipster/sample/repository/UserRepository.java +++ b/src/main/java/io/github/jhipster/sample/repository/UserRepository.java @@ -4,16 +4,18 @@ import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; + import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; + import java.util.List; import java.util.Optional; import java.time.Instant; /** - * Spring Data JPA repository for the User entity. + * Spring Data JPA repository for the {@link User} entity. */ @Repository public interface UserRepository extends JpaRepository { diff --git a/src/main/java/io/github/jhipster/sample/security/SecurityUtils.java b/src/main/java/io/github/jhipster/sample/security/SecurityUtils.java index fe341d0b3..efe3b1b39 100644 --- a/src/main/java/io/github/jhipster/sample/security/SecurityUtils.java +++ b/src/main/java/io/github/jhipster/sample/security/SecurityUtils.java @@ -17,7 +17,7 @@ private SecurityUtils() { /** * Get the login of the current user. * - * @return the login of the current user + * @return the login of the current user. */ public static Optional getCurrentUserLogin() { SecurityContext securityContext = SecurityContextHolder.getContext(); @@ -36,7 +36,7 @@ public static Optional getCurrentUserLogin() { /** * Get the JWT of the current user. * - * @return the JWT of the current user + * @return the JWT of the current user. */ public static Optional getCurrentUserJWT() { SecurityContext securityContext = SecurityContextHolder.getContext(); @@ -48,7 +48,7 @@ public static Optional getCurrentUserJWT() { /** * Check if a user is authenticated. * - * @return true if the user is authenticated, false otherwise + * @return true if the user is authenticated, false otherwise. */ public static boolean isAuthenticated() { SecurityContext securityContext = SecurityContextHolder.getContext(); @@ -61,10 +61,10 @@ public static boolean isAuthenticated() { /** * If the current user has a specific authority (security role). *

- * The name of this method comes from the isUserInRole() method in the Servlet API + * The name of this method comes from the {@code isUserInRole()} method in the Servlet API. * - * @param authority the authority to check - * @return true if the current user has the authority, false otherwise + * @param authority the authority to check. + * @return true if the current user has the authority, false otherwise. */ public static boolean isCurrentUserInRole(String authority) { SecurityContext securityContext = SecurityContextHolder.getContext(); diff --git a/src/main/java/io/github/jhipster/sample/security/SpringSecurityAuditorAware.java b/src/main/java/io/github/jhipster/sample/security/SpringSecurityAuditorAware.java index e6d255cef..dffabdf7f 100644 --- a/src/main/java/io/github/jhipster/sample/security/SpringSecurityAuditorAware.java +++ b/src/main/java/io/github/jhipster/sample/security/SpringSecurityAuditorAware.java @@ -8,7 +8,7 @@ import org.springframework.stereotype.Component; /** - * Implementation of AuditorAware based on Spring Security. + * Implementation of {@link AuditorAware} based on Spring Security. */ @Component public class SpringSecurityAuditorAware implements AuditorAware { diff --git a/src/main/java/io/github/jhipster/sample/security/jwt/TokenProvider.java b/src/main/java/io/github/jhipster/sample/security/jwt/TokenProvider.java index f86646122..ff95800d1 100644 --- a/src/main/java/io/github/jhipster/sample/security/jwt/TokenProvider.java +++ b/src/main/java/io/github/jhipster/sample/security/jwt/TokenProvider.java @@ -4,10 +4,10 @@ import java.security.Key; import java.util.*; import java.util.stream.Collectors; -import javax.annotation.PostConstruct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.InitializingBean; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; @@ -22,7 +22,7 @@ import io.jsonwebtoken.security.Keys; @Component -public class TokenProvider { +public class TokenProvider implements InitializingBean { private final Logger log = LoggerFactory.getLogger(TokenProvider.class); @@ -40,8 +40,8 @@ public TokenProvider(JHipsterProperties jHipsterProperties) { this.jHipsterProperties = jHipsterProperties; } - @PostConstruct - public void init() { + @Override + public void afterPropertiesSet() throws Exception { byte[] keyBytes; String secret = jHipsterProperties.getSecurity().getAuthentication().getJwt().getSecret(); if (!StringUtils.isEmpty(secret)) { diff --git a/src/main/java/io/github/jhipster/sample/service/AuditEventService.java b/src/main/java/io/github/jhipster/sample/service/AuditEventService.java index 8cd453630..ad8d9fe2c 100644 --- a/src/main/java/io/github/jhipster/sample/service/AuditEventService.java +++ b/src/main/java/io/github/jhipster/sample/service/AuditEventService.java @@ -14,7 +14,7 @@ /** * Service for managing audit events. *

- * This is the default implementation to support SpringBoot Actuator AuditEventRepository + * This is the default implementation to support SpringBoot Actuator {@code AuditEventRepository}. */ @Service @Transactional diff --git a/src/main/java/io/github/jhipster/sample/service/MailService.java b/src/main/java/io/github/jhipster/sample/service/MailService.java index c2a092287..88e455e82 100644 --- a/src/main/java/io/github/jhipster/sample/service/MailService.java +++ b/src/main/java/io/github/jhipster/sample/service/MailService.java @@ -21,7 +21,7 @@ /** * Service for sending emails. *

- * We use the @Async annotation to send emails asynchronously. + * We use the {@link Async} annotation to send emails asynchronously. */ @Service public class MailService { diff --git a/src/main/java/io/github/jhipster/sample/service/UserService.java b/src/main/java/io/github/jhipster/sample/service/UserService.java index f5298af2b..0dbb39284 100644 --- a/src/main/java/io/github/jhipster/sample/service/UserService.java +++ b/src/main/java/io/github/jhipster/sample/service/UserService.java @@ -167,11 +167,11 @@ public User createUser(UserDTO userDTO) { /** * Update basic information (first name, last name, email, language) for the current user. * - * @param firstName first name of user - * @param lastName last name of user - * @param email email id of user - * @param langKey language key - * @param imageUrl image URL of user + * @param firstName first name of user. + * @param lastName last name of user. + * @param email email id of user. + * @param langKey language key. + * @param imageUrl image URL of user. */ public void updateUser(String firstName, String lastName, String email, String langKey, String imageUrl) { SecurityUtils.getCurrentUserLogin() @@ -190,8 +190,8 @@ public void updateUser(String firstName, String lastName, String email, String l /** * Update all information for a specific user, and return the modified user. * - * @param userDTO user to update - * @return updated user + * @param userDTO user to update. + * @return updated user. */ public Optional updateUser(UserDTO userDTO) { return Optional.of(userRepository @@ -281,7 +281,8 @@ public void removeNotActivatedUsers() { } /** - * @return a list of all the authorities + * Gets a list of all the authorities. + * @return a list of all the authorities. */ public List getAuthorities() { return authorityRepository.findAll().stream().map(Authority::getName).collect(Collectors.toList()); diff --git a/src/main/java/io/github/jhipster/sample/service/mapper/UserMapper.java b/src/main/java/io/github/jhipster/sample/service/mapper/UserMapper.java index 47a3df711..e6a6d6fe6 100644 --- a/src/main/java/io/github/jhipster/sample/service/mapper/UserMapper.java +++ b/src/main/java/io/github/jhipster/sample/service/mapper/UserMapper.java @@ -10,7 +10,7 @@ import java.util.stream.Collectors; /** - * Mapper for the entity User and its DTO called UserDTO. + * Mapper for the entity {@link User} and its DTO called {@link UserDTO}. * * Normal mappers are generated using MapStruct, this one is hand-coded as MapStruct * support is still in beta, and requires a manual step with an IDE. diff --git a/src/main/java/io/github/jhipster/sample/service/util/RandomUtil.java b/src/main/java/io/github/jhipster/sample/service/util/RandomUtil.java index bfbf05255..821013011 100644 --- a/src/main/java/io/github/jhipster/sample/service/util/RandomUtil.java +++ b/src/main/java/io/github/jhipster/sample/service/util/RandomUtil.java @@ -15,7 +15,7 @@ private RandomUtil() { /** * Generate a password. * - * @return the generated password + * @return the generated password. */ public static String generatePassword() { return RandomStringUtils.randomAlphanumeric(DEF_COUNT); @@ -24,7 +24,7 @@ public static String generatePassword() { /** * Generate an activation key. * - * @return the generated activation key + * @return the generated activation key. */ public static String generateActivationKey() { return RandomStringUtils.randomNumeric(DEF_COUNT); @@ -33,7 +33,7 @@ public static String generateActivationKey() { /** * Generate a reset key. * - * @return the generated reset key + * @return the generated reset key. */ public static String generateResetKey() { return RandomStringUtils.randomNumeric(DEF_COUNT); diff --git a/src/main/java/io/github/jhipster/sample/web/rest/AccountResource.java b/src/main/java/io/github/jhipster/sample/web/rest/AccountResource.java index 66fa0aeb7..fa7ac7f48 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/AccountResource.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/AccountResource.java @@ -29,6 +29,12 @@ @RequestMapping("/api") public class AccountResource { + private static class AccountResourceException extends RuntimeException { + private AccountResourceException(String message) { + super(message); + } + } + private final Logger log = LoggerFactory.getLogger(AccountResource.class); private final UserRepository userRepository; @@ -45,12 +51,12 @@ public AccountResource(UserRepository userRepository, UserService userService, M } /** - * POST /register : register the user. + * {@code POST /register} : register the user. * - * @param managedUserVM the managed user View Model - * @throws InvalidPasswordException 400 (Bad Request) if the password is incorrect - * @throws EmailAlreadyUsedException 400 (Bad Request) if the email is already used - * @throws LoginAlreadyUsedException 400 (Bad Request) if the login is already used + * @param managedUserVM the managed user View Model. + * @throws InvalidPasswordException {@code 400 (Bad Request)} if the password is incorrect. + * @throws EmailAlreadyUsedException {@code 400 (Bad Request)} if the email is already used. + * @throws LoginAlreadyUsedException {@code 400 (Bad Request)} if the login is already used. */ @PostMapping("/register") @ResponseStatus(HttpStatus.CREATED) @@ -63,24 +69,24 @@ public void registerAccount(@Valid @RequestBody ManagedUserVM managedUserVM) { } /** - * GET /activate : activate the registered user. + * {@code GET /activate} : activate the registered user. * - * @param key the activation key - * @throws RuntimeException 500 (Internal Server Error) if the user couldn't be activated + * @param key the activation key. + * @throws RuntimeException {@code 500 (Internal Server Error)} if the user couldn't be activated. */ @GetMapping("/activate") public void activateAccount(@RequestParam(value = "key") String key) { Optional user = userService.activateRegistration(key); if (!user.isPresent()) { - throw new InternalServerErrorException("No user was found for this activation key"); + throw new AccountResourceException("No user was found for this activation key"); } } /** - * GET /authenticate : check if the user is authenticated, and return its login. + * {@code GET /authenticate} : check if the user is authenticated, and return its login. * - * @param request the HTTP request - * @return the login if the user is authenticated + * @param request the HTTP request. + * @return the login if the user is authenticated. */ @GetMapping("/authenticate") public String isAuthenticated(HttpServletRequest request) { @@ -89,45 +95,45 @@ public String isAuthenticated(HttpServletRequest request) { } /** - * GET /account : get the current user. + * {@code GET /account} : get the current user. * - * @return the current user - * @throws RuntimeException 500 (Internal Server Error) if the user couldn't be returned + * @return the current user. + * @throws RuntimeException {@code 500 (Internal Server Error)} if the user couldn't be returned. */ @GetMapping("/account") public UserDTO getAccount() { return userService.getUserWithAuthorities() .map(UserDTO::new) - .orElseThrow(() -> new InternalServerErrorException("User could not be found")); + .orElseThrow(() -> new AccountResourceException("User could not be found")); } /** - * POST /account : update the current user information. + * {@code POST /account} : update the current user information. * - * @param userDTO the current user information - * @throws EmailAlreadyUsedException 400 (Bad Request) if the email is already used - * @throws RuntimeException 500 (Internal Server Error) if the user login wasn't found + * @param userDTO the current user information. + * @throws EmailAlreadyUsedException {@code 400 (Bad Request)} if the email is already used. + * @throws RuntimeException {@code 500 (Internal Server Error)} if the user login wasn't found. */ @PostMapping("/account") public void saveAccount(@Valid @RequestBody UserDTO userDTO) { - String userLogin = SecurityUtils.getCurrentUserLogin().orElseThrow(() -> new InternalServerErrorException("Current user login not found")); + String userLogin = SecurityUtils.getCurrentUserLogin().orElseThrow(() -> new AccountResourceException("Current user login not found")); Optional existingUser = userRepository.findOneByEmailIgnoreCase(userDTO.getEmail()); if (existingUser.isPresent() && (!existingUser.get().getLogin().equalsIgnoreCase(userLogin))) { throw new EmailAlreadyUsedException(); } Optional user = userRepository.findOneByLogin(userLogin); if (!user.isPresent()) { - throw new InternalServerErrorException("User could not be found"); + throw new AccountResourceException("User could not be found"); } userService.updateUser(userDTO.getFirstName(), userDTO.getLastName(), userDTO.getEmail(), userDTO.getLangKey(), userDTO.getImageUrl()); } /** - * POST /account/change-password : changes the current user's password + * {@code POST /account/change-password} : changes the current user's password. * - * @param passwordChangeDto current and new password - * @throws InvalidPasswordException 400 (Bad Request) if the new password is incorrect + * @param passwordChangeDto current and new password. + * @throws InvalidPasswordException {@code 400 (Bad Request)} if the new password is incorrect. */ @PostMapping(path = "/account/change-password") public void changePassword(@RequestBody PasswordChangeDTO passwordChangeDto) { @@ -138,10 +144,10 @@ public void changePassword(@RequestBody PasswordChangeDTO passwordChangeDto) { } /** - * POST /account/reset-password/init : Send an email to reset the password of the user + * {@code POST /account/reset-password/init} : Send an email to reset the password of the user. * - * @param mail the mail of the user - * @throws EmailNotFoundException 400 (Bad Request) if the email address is not registered + * @param mail the mail of the user. + * @throws EmailNotFoundException {@code 400 (Bad Request)} if the email address is not registered. */ @PostMapping(path = "/account/reset-password/init") public void requestPasswordReset(@RequestBody String mail) { @@ -152,11 +158,11 @@ public void requestPasswordReset(@RequestBody String mail) { } /** - * POST /account/reset-password/finish : Finish to reset the password of the user + * {@code POST /account/reset-password/finish} : Finish to reset the password of the user. * - * @param keyAndPassword the generated key and the new password - * @throws InvalidPasswordException 400 (Bad Request) if the password is incorrect - * @throws RuntimeException 500 (Internal Server Error) if the password could not be reset + * @param keyAndPassword the generated key and the new password. + * @throws InvalidPasswordException {@code 400 (Bad Request)} if the password is incorrect. + * @throws RuntimeException {@code 500 (Internal Server Error)} if the password could not be reset. */ @PostMapping(path = "/account/reset-password/finish") public void finishPasswordReset(@RequestBody KeyAndPasswordVM keyAndPassword) { @@ -167,7 +173,7 @@ public void finishPasswordReset(@RequestBody KeyAndPasswordVM keyAndPassword) { userService.completePasswordReset(keyAndPassword.getNewPassword(), keyAndPassword.getKey()); if (!user.isPresent()) { - throw new InternalServerErrorException("No user was found for this reset key"); + throw new AccountResourceException("No user was found for this reset key"); } } diff --git a/src/main/java/io/github/jhipster/sample/web/rest/AuditResource.java b/src/main/java/io/github/jhipster/sample/web/rest/AuditResource.java index d5c564206..c2f970d06 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/AuditResource.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/AuditResource.java @@ -1,8 +1,8 @@ package io.github.jhipster.sample.web.rest; import io.github.jhipster.sample.service.AuditEventService; -import io.github.jhipster.sample.web.rest.util.PaginationUtil; +import io.github.jhipster.web.util.PaginationUtil; import io.github.jhipster.web.util.ResponseUtil; import org.springframework.boot.actuate.audit.AuditEvent; import org.springframework.data.domain.Page; @@ -10,14 +10,16 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.*; +import org.springframework.web.util.UriComponentsBuilder; import java.time.LocalDate; import java.time.ZoneId; import java.util.List; /** - * REST controller for getting the audit events. + * REST controller for getting the {@link AuditEvent}s. */ @RestController @RequestMapping("/management/audits") @@ -30,45 +32,46 @@ public AuditResource(AuditEventService auditEventService) { } /** - * GET /audits : get a page of AuditEvents. + * {@code GET /audits} : get a page of {@link AuditEvent}s. * - * @param pageable the pagination information - * @return the ResponseEntity with status 200 (OK) and the list of AuditEvents in body + * @param pageable the pagination information. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of {@link AuditEvent}s in body. */ @GetMapping - public ResponseEntity> getAll(Pageable pageable) { + public ResponseEntity> getAll(@RequestParam MultiValueMap queryParams, UriComponentsBuilder uriBuilder, Pageable pageable) { Page page = auditEventService.findAll(pageable); - HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/management/audits"); + HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(uriBuilder.queryParams(queryParams), page); return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK); } /** - * GET /audits : get a page of AuditEvents between the fromDate and toDate. + * {@code GET /audits} : get a page of {@link AuditEvent} between the {@code fromDate} and {@code toDate}. * - * @param fromDate the start of the time period of AuditEvents to get - * @param toDate the end of the time period of AuditEvents to get - * @param pageable the pagination information - * @return the ResponseEntity with status 200 (OK) and the list of AuditEvents in body + * @param fromDate the start of the time period of {@link AuditEvent} to get. + * @param toDate the end of the time period of {@link AuditEvent} to get. + * @param pageable the pagination information. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of {@link AuditEvent} in body. */ @GetMapping(params = {"fromDate", "toDate"}) public ResponseEntity> getByDates( @RequestParam(value = "fromDate") LocalDate fromDate, @RequestParam(value = "toDate") LocalDate toDate, + @RequestParam MultiValueMap queryParams, UriComponentsBuilder uriBuilder, Pageable pageable) { Page page = auditEventService.findByDates( fromDate.atStartOfDay(ZoneId.systemDefault()).toInstant(), toDate.atStartOfDay(ZoneId.systemDefault()).plusDays(1).toInstant(), pageable); - HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/management/audits"); + HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(uriBuilder.queryParams(queryParams), page); return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK); } /** - * GET /audits/:id : get an AuditEvent by id. + * {@code GET /audits/:id} : get an {@link AuditEvent} by id. * - * @param id the id of the entity to get - * @return the ResponseEntity with status 200 (OK) and the AuditEvent in body, or status 404 (Not Found) + * @param id the id of the entity to get. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the {@link AuditEvent} in body, or status {@code 404 (Not Found)}. */ @GetMapping("/{id:.+}") public ResponseEntity get(@PathVariable Long id) { diff --git a/src/main/java/io/github/jhipster/sample/web/rest/BankAccountResource.java b/src/main/java/io/github/jhipster/sample/web/rest/BankAccountResource.java index 0df06e85d..9f329aa7e 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/BankAccountResource.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/BankAccountResource.java @@ -1,11 +1,14 @@ package io.github.jhipster.sample.web.rest; + import io.github.jhipster.sample.domain.BankAccount; import io.github.jhipster.sample.repository.BankAccountRepository; import io.github.jhipster.sample.web.rest.errors.BadRequestAlertException; -import io.github.jhipster.sample.web.rest.util.HeaderUtil; + +import io.github.jhipster.web.util.HeaderUtil; import io.github.jhipster.web.util.ResponseUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -17,7 +20,7 @@ import java.util.Optional; /** - * REST controller for managing BankAccount. + * REST controller for managing {@link io.github.jhipster.sample.domain.BankAccount}. */ @RestController @RequestMapping("/api") @@ -27,6 +30,9 @@ public class BankAccountResource { private static final String ENTITY_NAME = "bankAccount"; + @Value("${jhipster.clientApp.name}") + private String applicationName; + private final BankAccountRepository bankAccountRepository; public BankAccountResource(BankAccountRepository bankAccountRepository) { @@ -34,11 +40,11 @@ public BankAccountResource(BankAccountRepository bankAccountRepository) { } /** - * POST /bank-accounts : Create a new bankAccount. + * {@code POST /bank-accounts} : Create a new bankAccount. * - * @param bankAccount the bankAccount to create - * @return the ResponseEntity with status 201 (Created) and with body the new bankAccount, or with status 400 (Bad Request) if the bankAccount has already an ID - * @throws URISyntaxException if the Location URI syntax is incorrect + * @param bankAccount the bankAccount to create. + * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new bankAccount, or with status {@code 400 (Bad Request)} if the bankAccount has already an ID. + * @throws URISyntaxException if the Location URI syntax is incorrect. */ @PostMapping("/bank-accounts") public ResponseEntity createBankAccount(@Valid @RequestBody BankAccount bankAccount) throws URISyntaxException { @@ -48,18 +54,18 @@ public ResponseEntity createBankAccount(@Valid @RequestBody BankAcc } BankAccount result = bankAccountRepository.save(bankAccount); return ResponseEntity.created(new URI("/api/bank-accounts/" + result.getId())) - .headers(HeaderUtil.createEntityCreationAlert(ENTITY_NAME, result.getId().toString())) + .headers(HeaderUtil.createEntityCreationAlert(applicationName, true, ENTITY_NAME, result.getId().toString())) .body(result); } /** - * PUT /bank-accounts : Updates an existing bankAccount. + * {@code PUT /bank-accounts} : Updates an existing bankAccount. * - * @param bankAccount the bankAccount to update - * @return the ResponseEntity with status 200 (OK) and with body the updated bankAccount, - * or with status 400 (Bad Request) if the bankAccount is not valid, - * or with status 500 (Internal Server Error) if the bankAccount couldn't be updated - * @throws URISyntaxException if the Location URI syntax is incorrect + * @param bankAccount the bankAccount to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated bankAccount, + * or with status {@code 400 (Bad Request)} if the bankAccount is not valid, + * or with status {@code 500 (Internal Server Error)} if the bankAccount couldn't be updated. + * @throws URISyntaxException if the Location URI syntax is incorrect. */ @PutMapping("/bank-accounts") public ResponseEntity updateBankAccount(@Valid @RequestBody BankAccount bankAccount) throws URISyntaxException { @@ -69,14 +75,14 @@ public ResponseEntity updateBankAccount(@Valid @RequestBody BankAcc } BankAccount result = bankAccountRepository.save(bankAccount); return ResponseEntity.ok() - .headers(HeaderUtil.createEntityUpdateAlert(ENTITY_NAME, bankAccount.getId().toString())) + .headers(HeaderUtil.createEntityUpdateAlert(applicationName, true, ENTITY_NAME, bankAccount.getId().toString())) .body(result); } /** - * GET /bank-accounts : get all the bankAccounts. + * {@code GET /bank-accounts} : get all the bankAccounts. * - * @return the ResponseEntity with status 200 (OK) and the list of bankAccounts in body + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and the list of bankAccounts in body. */ @GetMapping("/bank-accounts") public List getAllBankAccounts() { @@ -85,10 +91,10 @@ public List getAllBankAccounts() { } /** - * GET /bank-accounts/:id : get the "id" bankAccount. + * {@code GET /bank-accounts/:id} : get the "id" bankAccount. * - * @param id the id of the bankAccount to retrieve - * @return the ResponseEntity with status 200 (OK) and with body the bankAccount, or with status 404 (Not Found) + * @param id the id of the bankAccount to retrieve. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the bankAccount, or with status {@code 404 (Not Found)}. */ @GetMapping("/bank-accounts/{id}") public ResponseEntity getBankAccount(@PathVariable Long id) { @@ -98,15 +104,15 @@ public ResponseEntity getBankAccount(@PathVariable Long id) { } /** - * DELETE /bank-accounts/:id : delete the "id" bankAccount. + * {@code DELETE /bank-accounts/:id} : delete the "id" bankAccount. * - * @param id the id of the bankAccount to delete - * @return the ResponseEntity with status 200 (OK) + * @param id the id of the bankAccount to delete. + * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. */ @DeleteMapping("/bank-accounts/{id}") public ResponseEntity deleteBankAccount(@PathVariable Long id) { log.debug("REST request to delete BankAccount : {}", id); bankAccountRepository.deleteById(id); - return ResponseEntity.ok().headers(HeaderUtil.createEntityDeletionAlert(ENTITY_NAME, id.toString())).build(); + return ResponseEntity.noContent().headers(HeaderUtil.createEntityDeletionAlert(applicationName, true, ENTITY_NAME, id.toString())).build(); } } diff --git a/src/main/java/io/github/jhipster/sample/web/rest/ClientForwardController.java b/src/main/java/io/github/jhipster/sample/web/rest/ClientForwardController.java new file mode 100644 index 000000000..a8f83973d --- /dev/null +++ b/src/main/java/io/github/jhipster/sample/web/rest/ClientForwardController.java @@ -0,0 +1,17 @@ +package io.github.jhipster.sample.web.rest; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class ClientForwardController { + + /** + * Forwards any unmapped paths (except those containing a period) to the client {@code index.html}. + * @return forward to client {@code index.html}. + */ + @GetMapping(value = "/**/{path:[^\\.]*}") + public String forward() { + return "forward:/"; + } +} diff --git a/src/main/java/io/github/jhipster/sample/web/rest/LabelResource.java b/src/main/java/io/github/jhipster/sample/web/rest/LabelResource.java index 7d65172f1..f7ff046fd 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/LabelResource.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/LabelResource.java @@ -1,11 +1,14 @@ package io.github.jhipster.sample.web.rest; + import io.github.jhipster.sample.domain.Label; import io.github.jhipster.sample.repository.LabelRepository; import io.github.jhipster.sample.web.rest.errors.BadRequestAlertException; -import io.github.jhipster.sample.web.rest.util.HeaderUtil; + +import io.github.jhipster.web.util.HeaderUtil; import io.github.jhipster.web.util.ResponseUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -17,7 +20,7 @@ import java.util.Optional; /** - * REST controller for managing Label. + * REST controller for managing {@link io.github.jhipster.sample.domain.Label}. */ @RestController @RequestMapping("/api") @@ -27,6 +30,9 @@ public class LabelResource { private static final String ENTITY_NAME = "label"; + @Value("${jhipster.clientApp.name}") + private String applicationName; + private final LabelRepository labelRepository; public LabelResource(LabelRepository labelRepository) { @@ -34,11 +40,11 @@ public LabelResource(LabelRepository labelRepository) { } /** - * POST /labels : Create a new label. + * {@code POST /labels} : Create a new label. * - * @param label the label to create - * @return the ResponseEntity with status 201 (Created) and with body the new label, or with status 400 (Bad Request) if the label has already an ID - * @throws URISyntaxException if the Location URI syntax is incorrect + * @param label the label to create. + * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new label, or with status {@code 400 (Bad Request)} if the label has already an ID. + * @throws URISyntaxException if the Location URI syntax is incorrect. */ @PostMapping("/labels") public ResponseEntity

- * This class accesses the User entity, and needs to fetch its collection of authorities. + * This class accesses the {@link User} entity, and needs to fetch its collection of authorities. *

* For a normal use-case, it would be better to have an eager relationship between User and Authority, * and send everything to the client side: there would be no View Model and DTO, a lot less code, and an outer-join @@ -59,6 +63,9 @@ public class UserResource { private final Logger log = LoggerFactory.getLogger(UserResource.class); + @Value("${jhipster.clientApp.name}") + private String applicationName; + private final UserService userService; private final UserRepository userRepository; @@ -73,16 +80,16 @@ public UserResource(UserService userService, UserRepository userRepository, Mail } /** - * POST /users : Creates a new user. + * {@code POST /users} : Creates a new user. *

* Creates a new user if the login and email are not already used, and sends an * mail with an activation link. * The user needs to be activated on creation. * - * @param userDTO the user to create - * @return the ResponseEntity with status 201 (Created) and with body the new user, or with status 400 (Bad Request) if the login or email is already in use - * @throws URISyntaxException if the Location URI syntax is incorrect - * @throws BadRequestAlertException 400 (Bad Request) if the login or email is already in use + * @param userDTO the user to create. + * @return the {@link ResponseEntity} with status {@code 201 (Created)} and with body the new user, or with status {@code 400 (Bad Request)} if the login or email is already in use. + * @throws URISyntaxException if the Location URI syntax is incorrect. + * @throws BadRequestAlertException {@code 400 (Bad Request)} if the login or email is already in use. */ @PostMapping("/users") @PreAuthorize("hasRole(\"" + AuthoritiesConstants.ADMIN + "\")") @@ -100,18 +107,18 @@ public ResponseEntity createUser(@Valid @RequestBody UserDTO userDTO) thro User newUser = userService.createUser(userDTO); mailService.sendCreationEmail(newUser); return ResponseEntity.created(new URI("/api/users/" + newUser.getLogin())) - .headers(HeaderUtil.createAlert( "userManagement.created", newUser.getLogin())) + .headers(HeaderUtil.createAlert(applicationName, "userManagement.created", newUser.getLogin())) .body(newUser); } } /** - * PUT /users : Updates an existing User. + * {@code PUT /users} : Updates an existing User. * - * @param userDTO the user to update - * @return the ResponseEntity with status 200 (OK) and with body the updated user - * @throws EmailAlreadyUsedException 400 (Bad Request) if the email is already in use - * @throws LoginAlreadyUsedException 400 (Bad Request) if the login is already in use + * @param userDTO the user to update. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the updated user. + * @throws EmailAlreadyUsedException {@code 400 (Bad Request)} if the email is already in use. + * @throws LoginAlreadyUsedException {@code 400 (Bad Request)} if the login is already in use. */ @PutMapping("/users") @PreAuthorize("hasRole(\"" + AuthoritiesConstants.ADMIN + "\")") @@ -128,24 +135,25 @@ public ResponseEntity updateUser(@Valid @RequestBody UserDTO userDTO) { Optional updatedUser = userService.updateUser(userDTO); return ResponseUtil.wrapOrNotFound(updatedUser, - HeaderUtil.createAlert("userManagement.updated", userDTO.getLogin())); + HeaderUtil.createAlert(applicationName, "userManagement.updated", userDTO.getLogin())); } /** - * GET /users : get all users. + * {@code GET /users} : get all users. * - * @param pageable the pagination information - * @return the ResponseEntity with status 200 (OK) and with body all users + * @param pageable the pagination information. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body all users. */ @GetMapping("/users") - public ResponseEntity> getAllUsers(Pageable pageable) { + public ResponseEntity> getAllUsers(@RequestParam MultiValueMap queryParams, UriComponentsBuilder uriBuilder, Pageable pageable) { final Page page = userService.getAllManagedUsers(pageable); - HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page, "/api/users"); + HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(uriBuilder.queryParams(queryParams), page); return new ResponseEntity<>(page.getContent(), headers, HttpStatus.OK); } /** - * @return a string list of the all of the roles + * Gets a list of all roles. + * @return a string list of all roles. */ @GetMapping("/users/authorities") @PreAuthorize("hasRole(\"" + AuthoritiesConstants.ADMIN + "\")") @@ -154,10 +162,10 @@ public List getAuthorities() { } /** - * GET /users/:login : get the "login" user. + * {@code GET /users/:login} : get the "login" user. * - * @param login the login of the user to find - * @return the ResponseEntity with status 200 (OK) and with body the "login" user, or with status 404 (Not Found) + * @param login the login of the user to find. + * @return the {@link ResponseEntity} with status {@code 200 (OK)} and with body the "login" user, or with status {@code 404 (Not Found)}. */ @GetMapping("/users/{login:" + Constants.LOGIN_REGEX + "}") public ResponseEntity getUser(@PathVariable String login) { @@ -168,16 +176,16 @@ public ResponseEntity getUser(@PathVariable String login) { } /** - * DELETE /users/:login : delete the "login" User. + * {@code DELETE /users/:login} : delete the "login" User. * - * @param login the login of the user to delete - * @return the ResponseEntity with status 200 (OK) + * @param login the login of the user to delete. + * @return the {@link ResponseEntity} with status {@code 204 (NO_CONTENT)}. */ @DeleteMapping("/users/{login:" + Constants.LOGIN_REGEX + "}") @PreAuthorize("hasRole(\"" + AuthoritiesConstants.ADMIN + "\")") public ResponseEntity deleteUser(@PathVariable String login) { log.debug("REST request to delete User: {}", login); userService.deleteUser(login); - return ResponseEntity.ok().headers(HeaderUtil.createAlert( "userManagement.deleted", login)).build(); + return ResponseEntity.noContent().headers(HeaderUtil.createAlert(applicationName, "userManagement.deleted", login)).build(); } } diff --git a/src/main/java/io/github/jhipster/sample/web/rest/errors/CustomParameterizedException.java b/src/main/java/io/github/jhipster/sample/web/rest/errors/CustomParameterizedException.java deleted file mode 100644 index 21cfdd5a4..000000000 --- a/src/main/java/io/github/jhipster/sample/web/rest/errors/CustomParameterizedException.java +++ /dev/null @@ -1,54 +0,0 @@ -package io.github.jhipster.sample.web.rest.errors; - -import org.zalando.problem.AbstractThrowableProblem; - -import java.util.HashMap; -import java.util.Map; - -import static org.zalando.problem.Status.BAD_REQUEST; - -/** - * Custom, parameterized exception, which can be translated on the client side. - * For example: - * - *

- * throw new CustomParameterizedException("myCustomError", "hello", "world");
- * 
- * - * Can be translated with: - * - *
- * "error.myCustomError" :  "The server says {{param0}} to {{param1}}"
- * 
- */ -public class CustomParameterizedException extends AbstractThrowableProblem { - - private static final long serialVersionUID = 1L; - - private static final String PARAM = "param"; - - public CustomParameterizedException(String message, String... params) { - this(message, toParamMap(params)); - } - - public CustomParameterizedException(String message, Map paramMap) { - super(ErrorConstants.PARAMETERIZED_TYPE, "Parameterized Exception", BAD_REQUEST, null, null, null, toProblemParameters(message, paramMap)); - } - - public static Map toParamMap(String... params) { - Map paramMap = new HashMap<>(); - if (params != null && params.length > 0) { - for (int i = 0; i < params.length; i++) { - paramMap.put(PARAM + i, params[i]); - } - } - return paramMap; - } - - public static Map toProblemParameters(String message, Map paramMap) { - Map parameters = new HashMap<>(); - parameters.put("message", message); - parameters.put("params", paramMap); - return parameters; - } -} diff --git a/src/main/java/io/github/jhipster/sample/web/rest/errors/ErrorConstants.java b/src/main/java/io/github/jhipster/sample/web/rest/errors/ErrorConstants.java index 1877c2e8b..3362f9e2c 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/errors/ErrorConstants.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/errors/ErrorConstants.java @@ -9,7 +9,6 @@ public final class ErrorConstants { public static final String PROBLEM_BASE_URL = "https://www.jhipster.tech/problem"; public static final URI DEFAULT_TYPE = URI.create(PROBLEM_BASE_URL + "/problem-with-message"); public static final URI CONSTRAINT_VIOLATION_TYPE = URI.create(PROBLEM_BASE_URL + "/constraint-violation"); - public static final URI PARAMETERIZED_TYPE = URI.create(PROBLEM_BASE_URL + "/parameterized"); public static final URI ENTITY_NOT_FOUND_TYPE = URI.create(PROBLEM_BASE_URL + "/entity-not-found"); public static final URI INVALID_PASSWORD_TYPE = URI.create(PROBLEM_BASE_URL + "/invalid-password"); public static final URI EMAIL_ALREADY_USED_TYPE = URI.create(PROBLEM_BASE_URL + "/email-already-used"); diff --git a/src/main/java/io/github/jhipster/sample/web/rest/errors/ExceptionTranslator.java b/src/main/java/io/github/jhipster/sample/web/rest/errors/ExceptionTranslator.java index 6081332a9..4173d7100 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/errors/ExceptionTranslator.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/errors/ExceptionTranslator.java @@ -1,7 +1,8 @@ package io.github.jhipster.sample.web.rest.errors; -import io.github.jhipster.sample.web.rest.util.HeaderUtil; +import io.github.jhipster.web.util.HeaderUtil; +import org.springframework.beans.factory.annotation.Value; import org.springframework.dao.ConcurrencyFailureException; import org.springframework.http.ResponseEntity; import org.springframework.validation.BindingResult; @@ -25,7 +26,7 @@ /** * Controller advice to translate the server side exceptions to client-friendly json structures. - * The error response follows RFC7807 - Problem Details for HTTP APIs (https://tools.ietf.org/html/rfc7807) + * The error response follows RFC7807 - Problem Details for HTTP APIs (https://tools.ietf.org/html/rfc7807). */ @ControllerAdvice public class ExceptionTranslator implements ProblemHandling { @@ -35,8 +36,11 @@ public class ExceptionTranslator implements ProblemHandling { private static final String PATH_KEY = "path"; private static final String VIOLATIONS_KEY = "violations"; + @Value("${jhipster.clientApp.name}") + private String applicationName; + /** - * Post-process the Problem payload to add the message key for the front-end if needed + * Post-process the Problem payload to add the message key for the front-end if needed. */ @Override public ResponseEntity process(@Nullable ResponseEntity entity, NativeWebRequest request) { @@ -98,7 +102,7 @@ public ResponseEntity handleNoSuchElementException(NoSuchElementExcepti @ExceptionHandler public ResponseEntity handleBadRequestAlertException(BadRequestAlertException ex, NativeWebRequest request) { - return create(ex, request, HeaderUtil.createFailureAlert(ex.getEntityName(), ex.getErrorKey(), ex.getMessage())); + return create(ex, request, HeaderUtil.createFailureAlert(applicationName, true, ex.getEntityName(), ex.getErrorKey(), ex.getMessage())); } @ExceptionHandler diff --git a/src/main/java/io/github/jhipster/sample/web/rest/errors/InternalServerErrorException.java b/src/main/java/io/github/jhipster/sample/web/rest/errors/InternalServerErrorException.java deleted file mode 100644 index 187092278..000000000 --- a/src/main/java/io/github/jhipster/sample/web/rest/errors/InternalServerErrorException.java +++ /dev/null @@ -1,16 +0,0 @@ -package io.github.jhipster.sample.web.rest.errors; - -import org.zalando.problem.AbstractThrowableProblem; -import org.zalando.problem.Status; - -/** - * Simple exception with a message, that returns an Internal Server Error code. - */ -public class InternalServerErrorException extends AbstractThrowableProblem { - - private static final long serialVersionUID = 1L; - - public InternalServerErrorException(String message) { - super(ErrorConstants.DEFAULT_TYPE, message, Status.INTERNAL_SERVER_ERROR); - } -} diff --git a/src/main/java/io/github/jhipster/sample/web/rest/util/HeaderUtil.java b/src/main/java/io/github/jhipster/sample/web/rest/util/HeaderUtil.java deleted file mode 100644 index eeb1894a7..000000000 --- a/src/main/java/io/github/jhipster/sample/web/rest/util/HeaderUtil.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.jhipster.sample.web.rest.util; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.http.HttpHeaders; - -/** - * Utility class for HTTP headers creation. - */ -public final class HeaderUtil { - - private static final Logger log = LoggerFactory.getLogger(HeaderUtil.class); - - private static final String APPLICATION_NAME = "jhipsterSampleApplicationApp"; - - private HeaderUtil() { - } - - public static HttpHeaders createAlert(String message, String param) { - HttpHeaders headers = new HttpHeaders(); - headers.add("X-" + APPLICATION_NAME + "-alert", message); - headers.add("X-" + APPLICATION_NAME + "-params", param); - return headers; - } - - public static HttpHeaders createEntityCreationAlert(String entityName, String param) { - return createAlert(APPLICATION_NAME + "." + entityName + ".created", param); - } - - public static HttpHeaders createEntityUpdateAlert(String entityName, String param) { - return createAlert(APPLICATION_NAME + "." + entityName + ".updated", param); - } - - public static HttpHeaders createEntityDeletionAlert(String entityName, String param) { - return createAlert(APPLICATION_NAME + "." + entityName + ".deleted", param); - } - - public static HttpHeaders createFailureAlert(String entityName, String errorKey, String defaultMessage) { - log.error("Entity processing failed, {}", defaultMessage); - HttpHeaders headers = new HttpHeaders(); - headers.add("X-" + APPLICATION_NAME + "-error", "error." + errorKey); - headers.add("X-" + APPLICATION_NAME + "-params", entityName); - return headers; - } -} diff --git a/src/main/java/io/github/jhipster/sample/web/rest/util/PaginationUtil.java b/src/main/java/io/github/jhipster/sample/web/rest/util/PaginationUtil.java deleted file mode 100644 index 71805f458..000000000 --- a/src/main/java/io/github/jhipster/sample/web/rest/util/PaginationUtil.java +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.jhipster.sample.web.rest.util; - -import org.springframework.data.domain.Page; -import org.springframework.http.HttpHeaders; -import org.springframework.web.util.UriComponentsBuilder; - -/** - * Utility class for handling pagination. - * - *

- * Pagination uses the same principles as the GitHub API, - * and follow RFC 5988 (Link header). - */ -public final class PaginationUtil { - - private PaginationUtil() { - } - - public static HttpHeaders generatePaginationHttpHeaders(Page page, String baseUrl) { - - HttpHeaders headers = new HttpHeaders(); - headers.add("X-Total-Count", Long.toString(page.getTotalElements())); - String link = ""; - if ((page.getNumber() + 1) < page.getTotalPages()) { - link = "<" + generateUri(baseUrl, page.getNumber() + 1, page.getSize()) + ">; rel=\"next\","; - } - // prev link - if ((page.getNumber()) > 0) { - link += "<" + generateUri(baseUrl, page.getNumber() - 1, page.getSize()) + ">; rel=\"prev\","; - } - // last and first link - int lastPage = 0; - if (page.getTotalPages() > 0) { - lastPage = page.getTotalPages() - 1; - } - link += "<" + generateUri(baseUrl, lastPage, page.getSize()) + ">; rel=\"last\","; - link += "<" + generateUri(baseUrl, 0, page.getSize()) + ">; rel=\"first\""; - headers.add(HttpHeaders.LINK, link); - return headers; - } - - private static String generateUri(String baseUrl, int page, int size) { - return UriComponentsBuilder.fromUriString(baseUrl).queryParam("page", page).queryParam("size", size).toUriString(); - } -} diff --git a/src/main/java/io/github/jhipster/sample/web/rest/vm/LoggerVM.java b/src/main/java/io/github/jhipster/sample/web/rest/vm/LoggerVM.java deleted file mode 100644 index 0cbe5ee4c..000000000 --- a/src/main/java/io/github/jhipster/sample/web/rest/vm/LoggerVM.java +++ /dev/null @@ -1,46 +0,0 @@ -package io.github.jhipster.sample.web.rest.vm; - -import ch.qos.logback.classic.Logger; - -/** - * View Model object for storing a Logback logger. - */ -public class LoggerVM { - - private String name; - - private String level; - - public LoggerVM(Logger logger) { - this.name = logger.getName(); - this.level = logger.getEffectiveLevel().toString(); - } - - public LoggerVM() { - // Empty public constructor used by Jackson. - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getLevel() { - return level; - } - - public void setLevel(String level) { - this.level = level; - } - - @Override - public String toString() { - return "LoggerVM{" + - "name='" + name + '\'' + - ", level='" + level + '\'' + - '}'; - } -} diff --git a/src/main/java/io/github/jhipster/sample/web/rest/vm/LoginVM.java b/src/main/java/io/github/jhipster/sample/web/rest/vm/LoginVM.java index 8f08e6e28..f1522450c 100644 --- a/src/main/java/io/github/jhipster/sample/web/rest/vm/LoginVM.java +++ b/src/main/java/io/github/jhipster/sample/web/rest/vm/LoginVM.java @@ -13,7 +13,7 @@ public class LoginVM { private String username; @NotNull - @Size(min = ManagedUserVM.PASSWORD_MIN_LENGTH, max = ManagedUserVM.PASSWORD_MAX_LENGTH) + @Size(min = 4, max = 100) private String password; private Boolean rememberMe; diff --git a/src/main/jib/entrypoint.sh b/src/main/jib/entrypoint.sh index 04b573669..049440bbb 100644 --- a/src/main/jib/entrypoint.sh +++ b/src/main/jib/entrypoint.sh @@ -1,4 +1,4 @@ #!/bin/sh echo "The application will start in ${JHIPSTER_SLEEP}s..." && sleep ${JHIPSTER_SLEEP} -exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -cp /app/resources/:/app/classes/:/app/libs/* "io.github.jhipster.sample.JhipsterSampleApplicationApp" "$@" +exec java ${JAVA_OPTS} -noverify -XX:+AlwaysPreTouch -Djava.security.egd=file:/dev/./urandom -cp /app/resources/:/app/classes/:/app/libs/* "io.github.jhipster.sample.JhipsterSampleApplicationApp" "$@" diff --git a/src/main/resources/config/application-dev.yml b/src/main/resources/config/application-dev.yml index 88d2c6730..9d070316a 100644 --- a/src/main/resources/config/application-dev.yml +++ b/src/main/resources/config/application-dev.yml @@ -14,63 +14,63 @@ # =================================================================== logging: - level: - ROOT: DEBUG - io.github.jhipster: DEBUG - io.github.jhipster.sample: DEBUG + level: + ROOT: DEBUG + io.github.jhipster: DEBUG + io.github.jhipster.sample: DEBUG spring: - profiles: - active: dev - include: - - swagger - # Uncomment to activate TLS for the dev profile - #- tls - devtools: - restart: - enabled: true - additional-exclude: .h2.server.properties - livereload: - enabled: false # we use Webpack dev server + BrowserSync for livereload - jackson: - serialization: - indent-output: true - datasource: - type: com.zaxxer.hikari.HikariDataSource - url: jdbc:h2:mem:jhipstersampleapplication;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE - username: jhipsterSampleApplication - password: - hikari: - poolName: Hikari - auto-commit: false - h2: - console: - enabled: false - jpa: - database-platform: io.github.jhipster.domain.util.FixedH2Dialect - database: H2 - show-sql: true - properties: - hibernate.id.new_generator_mappings: true - hibernate.connection.provider_disables_autocommit: true - hibernate.cache.use_second_level_cache: true - hibernate.cache.use_query_cache: false - hibernate.generate_statistics: true - hibernate.cache.region.factory_class: io.github.jhipster.config.jcache.BeanClassLoaderAwareJCacheRegionFactory - liquibase: - contexts: dev - mail: - host: localhost - port: 25 - username: - password: - messages: - cache-duration: PT1S # 1 second, see the ISO 8601 standard - thymeleaf: - cache: false + profiles: + active: dev + include: + - swagger + # Uncomment to activate TLS for the dev profile + #- tls + devtools: + restart: + enabled: true + additional-exclude: .h2.server.properties + livereload: + enabled: false # we use Webpack dev server + BrowserSync for livereload + jackson: + serialization: + indent-output: true + datasource: + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:h2:mem:jhipstersampleapplication;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE + username: jhipsterSampleApplication + password: + hikari: + poolName: Hikari + auto-commit: false + h2: + console: + enabled: false + jpa: + database-platform: io.github.jhipster.domain.util.FixedH2Dialect + database: H2 + show-sql: true + properties: + hibernate.id.new_generator_mappings: true + hibernate.connection.provider_disables_autocommit: true + hibernate.cache.use_second_level_cache: true + hibernate.cache.use_query_cache: false + hibernate.generate_statistics: false + liquibase: + # Remove 'faker' if you do not want the sample data to be loaded automatically + contexts: dev, faker + mail: + host: localhost + port: 25 + username: + password: + messages: + cache-duration: PT1S # 1 second, see the ISO 8601 standard + thymeleaf: + cache: false server: - port: 8080 + port: 8080 # =================================================================== # JHipster specific properties @@ -79,42 +79,40 @@ server: # =================================================================== jhipster: - http: - version: V_1_1 # To use HTTP/2 you will need to activate TLS (see application-tls.yml) - cache: # Cache configuration - ehcache: # Ehcache configuration - time-to-live-seconds: 3600 # By default objects stay 1 hour in the cache - max-entries: 100 # Number of objects in each cache entry - # CORS is only enabled by default with the "dev" profile, so BrowserSync can access the API - cors: - allowed-origins: "*" - allowed-methods: "*" - allowed-headers: "*" - exposed-headers: "Authorization,Link,X-Total-Count" - allow-credentials: true - max-age: 1800 - security: - authentication: - jwt: - # This token must be encoded using Base64 and be at least 256 bits long (you can type `openssl rand -base64 64` on your command line to generate a 512 bits one) - base64-secret: bXktc2VjcmV0LWtleS13aGljaC1zaG91bGQtYmUtY2hhbmdlZC1pbi1wcm9kdWN0aW9uLWFuZC1iZS1iYXNlNjQtZW5jb2RlZAo= - # Token is valid 24 hours - token-validity-in-seconds: 86400 - token-validity-in-seconds-for-remember-me: 2592000 - mail: # specific JHipster mail property, for standard properties see MailProperties - from: jhipsterSampleApplication@localhost - base-url: http://127.0.0.1:8080 - metrics: - logs: # Reports metrics in the logs - enabled: false - report-frequency: 60 # in seconds - logging: - logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration - enabled: false - host: localhost - port: 5000 - queue-size: 512 - + cache: # Cache configuration + ehcache: # Ehcache configuration + time-to-live-seconds: 3600 # By default objects stay 1 hour in the cache + max-entries: 100 # Number of objects in each cache entry + # CORS is only enabled by default with the "dev" profile, so BrowserSync can access the API + cors: + allowed-origins: '*' + allowed-methods: '*' + allowed-headers: '*' + exposed-headers: 'Authorization,Link,X-Total-Count' + allow-credentials: true + max-age: 1800 + security: + authentication: + jwt: + # This token must be encoded using Base64 and be at least 256 bits long (you can type `openssl rand -base64 64` on your command line to generate a 512 bits one) + base64-secret: bXktc2VjcmV0LWtleS13aGljaC1zaG91bGQtYmUtY2hhbmdlZC1pbi1wcm9kdWN0aW9uLWFuZC1iZS1iYXNlNjQtZW5jb2RlZAo= + # Token is valid 24 hours + token-validity-in-seconds: 86400 + token-validity-in-seconds-for-remember-me: 2592000 + mail: # specific JHipster mail property, for standard properties see MailProperties + from: jhipsterSampleApplication@localhost + base-url: http://127.0.0.1:8080 + metrics: + logs: # Reports metrics in the logs + enabled: false + report-frequency: 60 # in seconds + logging: + use-json-format: false # By default, logs are not in Json format + logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration + enabled: false + host: localhost + port: 5000 + queue-size: 512 # =================================================================== # Application specific properties # Add your own application properties here, see the ApplicationProperties class diff --git a/src/main/resources/config/application-prod.yml b/src/main/resources/config/application-prod.yml index 56469ac36..e639f8488 100644 --- a/src/main/resources/config/application-prod.yml +++ b/src/main/resources/config/application-prod.yml @@ -14,50 +14,56 @@ # =================================================================== logging: - level: - ROOT: INFO - io.github.jhipster.sample: INFO - io.github.jhipster: INFO + level: + ROOT: INFO + io.github.jhipster.sample: INFO + io.github.jhipster: INFO + +management: + metrics: + export: + prometheus: + enabled: false spring: - devtools: - restart: - enabled: false - livereload: - enabled: false - datasource: - type: com.zaxxer.hikari.HikariDataSource - url: jdbc:mysql://localhost:3306/jhipsterSampleApplication?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC - username: root - password: - hikari: - poolName: Hikari - auto-commit: false - data-source-properties: - cachePrepStmts: true - prepStmtCacheSize: 250 - prepStmtCacheSqlLimit: 2048 - useServerPrepStmts: true - jpa: - database-platform: org.hibernate.dialect.MySQL5InnoDBDialect - database: MYSQL - show-sql: false - properties: - hibernate.id.new_generator_mappings: true - hibernate.connection.provider_disables_autocommit: true - hibernate.cache.use_second_level_cache: true - hibernate.cache.use_query_cache: false - hibernate.generate_statistics: true - hibernate.cache.region.factory_class: io.github.jhipster.config.jcache.BeanClassLoaderAwareJCacheRegionFactory - liquibase: - contexts: prod - mail: - host: localhost - port: 25 - username: - password: - thymeleaf: - cache: true + devtools: + restart: + enabled: false + livereload: + enabled: false + datasource: + type: com.zaxxer.hikari.HikariDataSource + url: jdbc:mysql://localhost:3306/jhipsterSampleApplication?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC + username: root + password: + hikari: + poolName: Hikari + auto-commit: false + data-source-properties: + cachePrepStmts: true + prepStmtCacheSize: 250 + prepStmtCacheSqlLimit: 2048 + useServerPrepStmts: true + jpa: + database-platform: org.hibernate.dialect.MySQL5InnoDBDialect + database: MYSQL + show-sql: false + properties: + hibernate.id.new_generator_mappings: true + hibernate.connection.provider_disables_autocommit: true + hibernate.cache.use_second_level_cache: true + hibernate.cache.use_query_cache: false + hibernate.generate_statistics: false + # Replace by 'prod, faker' to add the faker context and have sample data loaded in production + liquibase: + contexts: prod + mail: + host: localhost + port: 25 + username: + password: + thymeleaf: + cache: true # =================================================================== # To enable TLS in production, generate a certificate using: @@ -79,11 +85,11 @@ spring: # ciphers: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 ,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 ,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,TLS_RSA_WITH_CAMELLIA_128_CBC_SHA # =================================================================== server: - port: 8080 - compression: - enabled: true - mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json - min-response-size: 1024 + port: 8080 + compression: + enabled: true + mime-types: text/html,text/xml,text/plain,text/css, application/javascript, application/json + min-response-size: 1024 # =================================================================== # JHipster specific properties @@ -92,40 +98,39 @@ server: # =================================================================== jhipster: - http: - version: V_1_1 # To use HTTP/2 you will need SSL support (see above the "server.ssl" configuration) - cache: # Used by the CachingHttpHeadersFilter - timeToLiveInDays: 1461 - cache: # Cache configuration - ehcache: # Ehcache configuration - time-to-live-seconds: 3600 # By default objects stay 1 hour in the cache - max-entries: 1000 # Number of objects in each cache entry - security: - authentication: - jwt: - # This token must be encoded using Base64 and be at least 256 bits long (you can type `openssl rand -base64 64` on your command line to generate a 512 bits one) - # As this is the PRODUCTION configuration, you MUST change the default key, and store it securely: - # - In the JHipster Registry (which includes a Spring Cloud Config server) - # - In a separate `application-prod.yml` file, in the same folder as your executable WAR file - # - In the `JHIPSTER_SECURITY_AUTHENTICATION_JWT_BASE64_SECRET` environment variable - base64-secret: bXktc2VjcmV0LWtleS13aGljaC1zaG91bGQtYmUtY2hhbmdlZC1pbi1wcm9kdWN0aW9uLWFuZC1iZS1iYXNlNjQtZW5jb2RlZAo= - # Token is valid 24 hours - token-validity-in-seconds: 86400 - token-validity-in-seconds-for-remember-me: 2592000 - mail: # specific JHipster mail property, for standard properties see MailProperties - from: jhipsterSampleApplication@localhost - base-url: http://my-server-url-to-change # Modify according to your server's URL - metrics: - logs: # Reports metrics in the logs - enabled: false - report-frequency: 60 # in seconds - logging: - logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration - enabled: false - host: localhost - port: 5000 - queue-size: 512 - + http: + cache: # Used by the CachingHttpHeadersFilter + timeToLiveInDays: 1461 + cache: # Cache configuration + ehcache: # Ehcache configuration + time-to-live-seconds: 3600 # By default objects stay 1 hour in the cache + max-entries: 1000 # Number of objects in each cache entry + security: + authentication: + jwt: + # This token must be encoded using Base64 and be at least 256 bits long (you can type `openssl rand -base64 64` on your command line to generate a 512 bits one) + # As this is the PRODUCTION configuration, you MUST change the default key, and store it securely: + # - In the JHipster Registry (which includes a Spring Cloud Config server) + # - In a separate `application-prod.yml` file, in the same folder as your executable JAR file + # - In the `JHIPSTER_SECURITY_AUTHENTICATION_JWT_BASE64_SECRET` environment variable + base64-secret: bXktc2VjcmV0LWtleS13aGljaC1zaG91bGQtYmUtY2hhbmdlZC1pbi1wcm9kdWN0aW9uLWFuZC1iZS1iYXNlNjQtZW5jb2RlZAo= + # Token is valid 24 hours + token-validity-in-seconds: 86400 + token-validity-in-seconds-for-remember-me: 2592000 + mail: # specific JHipster mail property, for standard properties see MailProperties + from: jhipsterSampleApplication@localhost + base-url: http://my-server-url-to-change # Modify according to your server's URL + metrics: + logs: # Reports metrics in the logs + enabled: false + report-frequency: 60 # in seconds + logging: + use-json-format: false # By default, logs are not in Json format + logstash: # Forward logs to logstash over a socket, used by LoggingConfiguration + enabled: false + host: localhost + port: 5000 + queue-size: 512 # =================================================================== # Application specific properties # Add your own application properties here, see the ApplicationProperties class diff --git a/src/main/resources/config/application-tls.yml b/src/main/resources/config/application-tls.yml index c4e0565cc..27c9cd857 100644 --- a/src/main/resources/config/application-tls.yml +++ b/src/main/resources/config/application-tls.yml @@ -8,13 +8,12 @@ # at chrome://flags/#allow-insecure-localhost # =================================================================== server: - ssl: - key-store: classpath:config/tls/keystore.p12 - key-store-password: password - key-store-type: PKCS12 - key-alias: selfsigned - ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 - enabled-protocols: TLSv1.2 -jhipster: - http: - version: V_2_0 + ssl: + key-store: classpath:config/tls/keystore.p12 + key-store-password: password + key-store-type: PKCS12 + key-alias: selfsigned + ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + enabled-protocols: TLSv1.2 + http2: + enabled: true diff --git a/src/main/resources/config/application.yml b/src/main/resources/config/application.yml index 9fe8edba4..b7478e9c0 100644 --- a/src/main/resources/config/application.yml +++ b/src/main/resources/config/application.yml @@ -15,85 +15,99 @@ # =================================================================== management: - endpoints: - web: - base-path: /management - exposure: - include: ["configprops", "env", "health", "info", "threaddump", "logfile", "jhi-metrics", "prometheus" ] - endpoint: - health: - show-details: when-authorized - jhi-metrics: - enabled: true - info: - git: - mode: full + endpoints: + web: + base-path: /management + exposure: + include: ['configprops', 'env', 'health', 'info', 'jhimetrics', 'logfile', 'loggers', 'prometheus', 'threaddump'] + endpoint: health: - mail: - enabled: false # When using the MailService, configure an SMTP server and set this to true - metrics: - export: - # Prometheus is the default metrics backend - prometheus: - enabled: true - step: 60 - binders: - jvm: - enabled: true - processor: - enabled: true - uptime: - enabled: true - logback: - enabled: true - files: - enabled: true - integration: - enabled: true - distribution: - percentiles-histogram: - all: true - percentiles: - all: 0, 0.5, 0.75, 0.95, 0.99, 1.0 - web: - server: - auto-time-requests: true + show-details: when-authorized + jhimetrics: + enabled: true + info: + git: + mode: full + health: + mail: + enabled: false # When using the MailService, configure an SMTP server and set this to true + metrics: + export: + # Prometheus is the default metrics backend + prometheus: + enabled: true + step: 60 + enable: + http: true + jvm: true + logback: true + process: true + system: true + distribution: + percentiles-histogram: + all: true + percentiles: + all: 0, 0.5, 0.75, 0.95, 0.99, 1.0 + tags: + application: ${spring.application.name} + web: + server: + auto-time-requests: true spring: - application: - name: jhipsterSampleApplication - profiles: - # The commented value for `active` can be replaced with valid Spring profiles to load. - # Otherwise, it will be filled in by maven when building the WAR file - # Either way, it can be overridden by `--spring.profiles.active` value passed in the commandline or `-Dspring.profiles.active` set in `JAVA_OPTS` - active: #spring.profiles.active# + application: + name: jhipsterSampleApplication + profiles: + # The commented value for `active` can be replaced with valid Spring profiles to load. + # Otherwise, it will be filled in by maven when building the JAR file + # Either way, it can be overridden by `--spring.profiles.active` value passed in the commandline or `-Dspring.profiles.active` set in `JAVA_OPTS` + active: #spring.profiles.active# + jmx: + enabled: false + data: jpa: - open-in-view: false - properties: - hibernate.jdbc.time_zone: UTC - hibernate: - ddl-auto: none - naming: - physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy - implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy - messages: - basename: i18n/messages - mvc: - favicon: - enabled: false - thymeleaf: - mode: HTML + repositories: + bootstrap-mode: deferred + jpa: + open-in-view: false + properties: + hibernate.jdbc.time_zone: UTC + hibernate: + ddl-auto: none + naming: + physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy + implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy + messages: + basename: i18n/messages + main: + allow-bean-definition-overriding: true + mvc: + favicon: + enabled: false + task: + execution: + thread-name-prefix: jhipster-sample-application-task- + pool: + core-size: 2 + max-size: 50 + queue-capacity: 10000 + scheduling: + thread-name-prefix: jhipster-sample-application-scheduling- + pool: + size: 2 + thymeleaf: + mode: HTML server: - servlet: - session: - cookie: - http-only: true + servlet: + session: + cookie: + http-only: true # Properties to be exposed on the /info management endpoint info: - # Comma separated list of profiles that will trigger the ribbon to show - display-ribbon-on-profiles: "dev" + # Comma separated list of profiles that will trigger the ribbon to show + display-ribbon-on-profiles: 'dev' # =================================================================== # JHipster specific properties @@ -102,32 +116,29 @@ info: # =================================================================== jhipster: - async: - core-pool-size: 2 - max-pool-size: 50 - queue-capacity: 10000 - # By default CORS is disabled. Uncomment to enable. - #cors: - #allowed-origins: "*" - #allowed-methods: "*" - #allowed-headers: "*" - #exposed-headers: "Authorization,Link,X-Total-Count" - #allow-credentials: true - #max-age: 1800 - mail: - from: jhipsterSampleApplication@localhost - swagger: - default-include-pattern: /api/.* - title: jhipsterSampleApplication API - description: jhipsterSampleApplication API documentation - version: 0.0.1 - terms-of-service-url: - contact-name: - contact-url: - contact-email: - license: - license-url: - + clientApp: + name: 'jhipsterSampleApplicationApp' + # By default CORS is disabled. Uncomment to enable. + # cors: + # allowed-origins: "*" + # allowed-methods: "*" + # allowed-headers: "*" + # exposed-headers: "Authorization,Link,X-Total-Count" + # allow-credentials: true + # max-age: 1800 + mail: + from: jhipsterSampleApplication@localhost + swagger: + default-include-pattern: /api/.* + title: jhipsterSampleApplication API + description: jhipsterSampleApplication API documentation + version: 0.0.1 + terms-of-service-url: + contact-name: + contact-url: + contact-email: + license: + license-url: # =================================================================== # Application specific properties # Add your own application properties here, see the ApplicationProperties class diff --git a/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml b/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml index dd4b01d48..a63cee97c 100644 --- a/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml +++ b/src/main/resources/config/liquibase/changelog/00000000000000_initial_schema.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> @@ -76,21 +76,21 @@ - - - diff --git a/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_BankAccount.xml b/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_BankAccount.xml index 6990eba45..93a81f288 100644 --- a/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_BankAccount.xml +++ b/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_BankAccount.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> @@ -12,7 +12,7 @@ - + - + + + + + + + + + + + + + + diff --git a/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_constraints_BankAccount.xml b/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_constraints_BankAccount.xml index e46a1364a..3baeb69ad 100644 --- a/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_constraints_BankAccount.xml +++ b/src/main/resources/config/liquibase/changelog/20150805124838_added_entity_constraints_BankAccount.xml @@ -2,7 +2,7 @@ + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> diff --git a/src/main/resources/config/liquibase/changelog/20150805124936_added_entity_Label.xml b/src/main/resources/config/liquibase/changelog/20150805124936_added_entity_Label.xml index 033b3cc7e..8fd217538 100644 --- a/src/main/resources/config/liquibase/changelog/20150805124936_added_entity_Label.xml +++ b/src/main/resources/config/liquibase/changelog/20150805124936_added_entity_Label.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> @@ -12,7 +12,7 @@ - + - + + + + + + + + + + + + + diff --git a/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_Operation.xml b/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_Operation.xml index 5e1797d7f..c2c3a95b4 100644 --- a/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_Operation.xml +++ b/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_Operation.xml @@ -3,7 +3,7 @@ xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> @@ -12,7 +12,7 @@ - + + - + + + + + + + + + + + + + + diff --git a/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_constraints_Operation.xml b/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_constraints_Operation.xml index b032e4145..14f8d4196 100644 --- a/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_constraints_Operation.xml +++ b/src/main/resources/config/liquibase/changelog/20150805125054_added_entity_constraints_Operation.xml @@ -2,7 +2,7 @@ + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> @@ -19,6 +19,7 @@ constraintName="fk_operation_label_operation_id" referencedColumnNames="id" referencedTableName="operation"/> + + xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd"> diff --git a/src/main/resources/config/tls/keystore.p12 b/src/main/resources/config/tls/keystore.p12 index 458ce3804afbf0d554190ff0cf67354b7305af31..7e634c873bf7529843b588e8fadcb14727c44211 100644 GIT binary patch delta 2439 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 FhM;cNoiqRd delta 2439 zcmV;233&Fm6t@(RXnz2Vk25nSku{{-CET9I6pK;S@iPJg0K-rOf&|E(iVC(5hGC(H zRVc`z21Ky*Pg48n&(l~lY=1()5$~sPe$@B;r)g7cD_+q$9pK8}pxVF-32Tj zONM-kY_bC@CkY0ga-Fqu_oGEnsUUsbMFA!uoH3r}!h|oflYciaEVxx39K%!(Nr~{{ zt)#&@&~`8-WZdr!Q3|@KMWR*#9cw>^UGrJLXA8bpv3(s^-|uDx6JK!2gfd2aS-TX< zEw`US2`h4g>*xt%ubyUObMp-^zhnW{5?R=!H(1g2|@08lZ;v7-h= z=`_4E)m`=k>HuSb=BK5F7}|WpfM(N!hd_yOx>q}^>VF2T-Z=eC*k7o;=4%(m-5YWW zW(F5cY4^8^7nko-u%GbH%;i*DXa~?Tsvc$#=|4g9Yinv?9F)nzlW$iaF^y6sY79&TTSA`LafZ^F5Ox3qR^5o1Uq+q ztbcGB?^x(=4{kD!3r%E$N0eIQnT-H&prfvQt=OqE)6n+^`X6TC%_%&YSARilyZESq z{wJl^P22&_8V(qu%pD5IQ6v^;#s|-l#$>+rPgw3GL+XA;~n&Mlu6r*(; zpVTH8FHidSKL1E;;m{Z*4+9w;KBIB*1%IRnTM2zCZ!N*Leju^BeWnpYJ1knZ?$bMH zmX304RWgn{_C*%{<30?F9cmL?keSCWpi1wKpzmr{Q+0sJQ#+@kgR(gi@_ZII6GZ~r zfi^l$#a1d&P^)W0G@c8qf*sx0VojWV@6?61^KF=Cd1+Wb%$M0j-!Gp~c^5vGBY!Nx zfB<-Noo&LNQUNvOk^%z&!%%>N1PCM518lk*axKX& zHL~cLp(j9?5kVdKgBGouYUW^gp-`!I%8#Lj&orr=S1Qjnus%chhvMP^Ewad(vZ$AI z(2HtGF@$q!Mka29O2-kPi@9%rGe;a>V7{r53ipNj(1`0yf6Z&idQX|#I#j9Bm|E^U z9%ZSK_MgYde;9!7e}7VKDI;~u1_nZRi!+v$N^*xB&Jj&vM)HsI8Oy5GaD zJ>`$scv?RO-zTWQ-FV%9jB%C)!o;!Mxr;H33aci2pMNXp5w$AGC{d6IglOb(w1 z2Y?3$I|ObFlXVJCR$lUvkl~&gW0qmDuRnm$-lB*Tjk z?t{ozvzDdC1<+KXxfdshHN-rL@1)1K(J2uC&53KNp?cb)Bt)Rj!J0*?fLLC)sjiy? z0?B{Ne1+V)yi^!!24}g5a zDOZ>LbkbCDiLY890}muXrT~Z6iM}fSY;c~8Zk7tvF9a%hNSd3LHWR6OKv}%;n>fkw zo$OM`^rKB@<}6tW((9ktPzbB7h_HP_5TDrK{>kFftq-Yb9hrrvy=HEt!Z8+fwOK?w@8J(~HT5`eFR>=af8j;*qaoE&1NwE+|=(W`@=*gb`_@s)x@Xme#x^K0;v&y)RjlCX1kNNBAT`bihVvdPVGr_ zqsgHcY4b+_x(3#Iq339+Ck2DF3XJIN2jwa?=Olq|7+zbm9jzq%n2^(`-SvSgZInNW zJ5{@~wi^x4S03;waeoclK4#35=WfdFf7rvo1(RF8f**qO~?YPOagYXSoS FhM?K)ofH57 diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index fd28e8cde..09c321f5c 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -55,6 +55,7 @@ + diff --git a/src/main/resources/templates/mail/activationEmail.html b/src/main/resources/templates/mail/activationEmail.html index cb021d8e6..1ae9445d9 100644 --- a/src/main/resources/templates/mail/activationEmail.html +++ b/src/main/resources/templates/mail/activationEmail.html @@ -13,7 +13,7 @@ Your JHipster account has been created, please click on the URL below to activate it:

- Activation link

diff --git a/src/main/resources/templates/mail/creationEmail.html b/src/main/resources/templates/mail/creationEmail.html index dc0cff588..a4455edfd 100644 --- a/src/main/resources/templates/mail/creationEmail.html +++ b/src/main/resources/templates/mail/creationEmail.html @@ -13,7 +13,7 @@ Your JHipster account has been created, please click on the URL below to access it:

- Login link

diff --git a/src/main/resources/templates/mail/passwordResetEmail.html b/src/main/resources/templates/mail/passwordResetEmail.html index f44511265..4bdca2ca9 100644 --- a/src/main/resources/templates/mail/passwordResetEmail.html +++ b/src/main/resources/templates/mail/passwordResetEmail.html @@ -13,7 +13,7 @@ For your JHipster account a password reset was requested, please click on the URL below to reset it:

- Login link

diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..f1611b515 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,13 @@ + + + + + html + text/html;charset=utf-8 + + + diff --git a/src/main/webapp/app/account/account.module.ts b/src/main/webapp/app/account/account.module.ts index dd035ad7b..7d5b6cc1f 100644 --- a/src/main/webapp/app/account/account.module.ts +++ b/src/main/webapp/app/account/account.module.ts @@ -4,27 +4,27 @@ import { RouterModule } from '@angular/router'; import { JhipsterSampleApplicationSharedModule } from 'app/shared'; import { - PasswordStrengthBarComponent, - RegisterComponent, + PasswordStrengthBarComponent, + RegisterComponent, + ActivateComponent, + PasswordComponent, + PasswordResetInitComponent, + PasswordResetFinishComponent, + SettingsComponent, + accountState +} from './'; + +@NgModule({ + imports: [JhipsterSampleApplicationSharedModule, RouterModule.forChild(accountState)], + declarations: [ ActivateComponent, + RegisterComponent, PasswordComponent, + PasswordStrengthBarComponent, PasswordResetInitComponent, PasswordResetFinishComponent, - SettingsComponent, - accountState -} from './'; - -@NgModule({ - imports: [JhipsterSampleApplicationSharedModule, RouterModule.forChild(accountState)], - declarations: [ - ActivateComponent, - RegisterComponent, - PasswordComponent, - PasswordStrengthBarComponent, - PasswordResetInitComponent, - PasswordResetFinishComponent, - SettingsComponent - ], - schemas: [CUSTOM_ELEMENTS_SCHEMA] + SettingsComponent + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] }) export class JhipsterSampleApplicationAccountModule {} diff --git a/src/main/webapp/app/account/account.route.ts b/src/main/webapp/app/account/account.route.ts index f849342e6..f8ab7eccf 100644 --- a/src/main/webapp/app/account/account.route.ts +++ b/src/main/webapp/app/account/account.route.ts @@ -5,8 +5,8 @@ import { activateRoute, passwordRoute, passwordResetFinishRoute, passwordResetIn const ACCOUNT_ROUTES = [activateRoute, passwordRoute, passwordResetFinishRoute, passwordResetInitRoute, registerRoute, settingsRoute]; export const accountState: Routes = [ - { - path: '', - children: ACCOUNT_ROUTES - } + { + path: '', + children: ACCOUNT_ROUTES + } ]; diff --git a/src/main/webapp/app/account/activate/activate.component.ts b/src/main/webapp/app/account/activate/activate.component.ts index 5c398073c..ef5276b7b 100644 --- a/src/main/webapp/app/account/activate/activate.component.ts +++ b/src/main/webapp/app/account/activate/activate.component.ts @@ -6,32 +6,32 @@ import { LoginModalService } from 'app/core'; import { ActivateService } from './activate.service'; @Component({ - selector: 'jhi-activate', - templateUrl: './activate.component.html' + selector: 'jhi-activate', + templateUrl: './activate.component.html' }) export class ActivateComponent implements OnInit { - error: string; - success: string; - modalRef: NgbModalRef; + error: string; + success: string; + modalRef: NgbModalRef; - constructor(private activateService: ActivateService, private loginModalService: LoginModalService, private route: ActivatedRoute) {} + constructor(private activateService: ActivateService, private loginModalService: LoginModalService, private route: ActivatedRoute) {} - ngOnInit() { - this.route.queryParams.subscribe(params => { - this.activateService.get(params['key']).subscribe( - () => { - this.error = null; - this.success = 'OK'; - }, - () => { - this.success = null; - this.error = 'ERROR'; - } - ); - }); - } + ngOnInit() { + this.route.queryParams.subscribe(params => { + this.activateService.get(params['key']).subscribe( + () => { + this.error = null; + this.success = 'OK'; + }, + () => { + this.success = null; + this.error = 'ERROR'; + } + ); + }); + } - login() { - this.modalRef = this.loginModalService.open(); - } + login() { + this.modalRef = this.loginModalService.open(); + } } diff --git a/src/main/webapp/app/account/activate/activate.route.ts b/src/main/webapp/app/account/activate/activate.route.ts index 524e332d8..a988352da 100644 --- a/src/main/webapp/app/account/activate/activate.route.ts +++ b/src/main/webapp/app/account/activate/activate.route.ts @@ -3,10 +3,10 @@ import { Route } from '@angular/router'; import { ActivateComponent } from './activate.component'; export const activateRoute: Route = { - path: 'activate', - component: ActivateComponent, - data: { - authorities: [], - pageTitle: 'activate.title' - } + path: 'activate', + component: ActivateComponent, + data: { + authorities: [], + pageTitle: 'activate.title' + } }; diff --git a/src/main/webapp/app/account/activate/activate.service.ts b/src/main/webapp/app/account/activate/activate.service.ts index adade9efa..aefb50d21 100644 --- a/src/main/webapp/app/account/activate/activate.service.ts +++ b/src/main/webapp/app/account/activate/activate.service.ts @@ -6,11 +6,11 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class ActivateService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - get(key: string): Observable { - return this.http.get(SERVER_API_URL + 'api/activate', { - params: new HttpParams().set('key', key) - }); - } + get(key: string): Observable { + return this.http.get(SERVER_API_URL + 'api/activate', { + params: new HttpParams().set('key', key) + }); + } } diff --git a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html index bcbc91111..4849bf268 100644 --- a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html +++ b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.html @@ -25,50 +25,50 @@

Reset password

-
+
- - New password + -
+ formControlName="newPassword"> +
+ *ngIf="passwordForm.get('newPassword').errors.required" jhiTranslate="global.messages.validate.newpassword.required"> Your password is required. + *ngIf="passwordForm.get('newPassword').errors.minlength" jhiTranslate="global.messages.validate.newpassword.minlength"> Your password is required to be at least 4 characters. + *ngIf="passwordForm.get('newPassword').errors.maxlength" jhiTranslate="global.messages.validate.newpassword.maxlength"> Your password cannot be longer than 50 characters.
- +
- - New password confirmation + -
+ formControlName="confirmPassword"> +
+ *ngIf="passwordForm.get('confirmPassword').errors.required" jhiTranslate="global.messages.validate.confirmpassword.required"> Your password confirmation is required. + *ngIf="passwordForm.get('confirmPassword').errors.minlength" jhiTranslate="global.messages.validate.confirmpassword.minlength"> Your password confirmation is required to be at least 4 characters. + *ngIf="passwordForm.get('confirmPassword').errors.maxlength" jhiTranslate="global.messages.validate.confirmpassword.maxlength"> Your password confirmation cannot be longer than 50 characters.
- +
diff --git a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts index 72aac25c9..1677fb11b 100644 --- a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts +++ b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.component.ts @@ -1,65 +1,72 @@ import { Component, OnInit, AfterViewInit, Renderer, ElementRef } from '@angular/core'; -import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; +import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; + import { LoginModalService } from 'app/core'; import { PasswordResetFinishService } from './password-reset-finish.service'; @Component({ - selector: 'jhi-password-reset-finish', - templateUrl: './password-reset-finish.component.html' + selector: 'jhi-password-reset-finish', + templateUrl: './password-reset-finish.component.html' }) export class PasswordResetFinishComponent implements OnInit, AfterViewInit { - confirmPassword: string; - doNotMatch: string; - error: string; - keyMissing: boolean; - resetAccount: any; - success: string; - modalRef: NgbModalRef; - key: string; + doNotMatch: string; + error: string; + keyMissing: boolean; + success: string; + modalRef: NgbModalRef; + key: string; - constructor( - private passwordResetFinishService: PasswordResetFinishService, - private loginModalService: LoginModalService, - private route: ActivatedRoute, - private elementRef: ElementRef, - private renderer: Renderer - ) {} + passwordForm = this.fb.group({ + newPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + confirmPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]] + }); - ngOnInit() { - this.route.queryParams.subscribe(params => { - this.key = params['key']; - }); - this.resetAccount = {}; - this.keyMissing = !this.key; - } + constructor( + private passwordResetFinishService: PasswordResetFinishService, + private loginModalService: LoginModalService, + private route: ActivatedRoute, + private elementRef: ElementRef, + private renderer: Renderer, + private fb: FormBuilder + ) {} - ngAfterViewInit() { - if (this.elementRef.nativeElement.querySelector('#password') != null) { - this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#password'), 'focus', []); - } + ngOnInit() { + this.route.queryParams.subscribe(params => { + this.key = params['key']; + }); + this.keyMissing = !this.key; + } + + ngAfterViewInit() { + if (this.elementRef.nativeElement.querySelector('#password') != null) { + this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#password'), 'focus', []); } + } - finishReset() { - this.doNotMatch = null; - this.error = null; - if (this.resetAccount.password !== this.confirmPassword) { - this.doNotMatch = 'ERROR'; - } else { - this.passwordResetFinishService.save({ key: this.key, newPassword: this.resetAccount.password }).subscribe( - () => { - this.success = 'OK'; - }, - () => { - this.success = null; - this.error = 'ERROR'; - } - ); + finishReset() { + this.doNotMatch = null; + this.error = null; + const password = this.passwordForm.get(['newPassword']).value; + const confirmPassword = this.passwordForm.get(['confirmPassword']).value; + if (password !== confirmPassword) { + this.doNotMatch = 'ERROR'; + } else { + this.passwordResetFinishService.save({ key: this.key, newPassword: password }).subscribe( + () => { + this.success = 'OK'; + }, + () => { + this.success = null; + this.error = 'ERROR'; } + ); } + } - login() { - this.modalRef = this.loginModalService.open(); - } + login() { + this.modalRef = this.loginModalService.open(); + } } diff --git a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.route.ts b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.route.ts index 686cb972e..0cff2b074 100644 --- a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.route.ts +++ b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.route.ts @@ -3,10 +3,10 @@ import { Route } from '@angular/router'; import { PasswordResetFinishComponent } from './password-reset-finish.component'; export const passwordResetFinishRoute: Route = { - path: 'reset/finish', - component: PasswordResetFinishComponent, - data: { - authorities: [], - pageTitle: 'global.menu.account.password' - } + path: 'reset/finish', + component: PasswordResetFinishComponent, + data: { + authorities: [], + pageTitle: 'global.menu.account.password' + } }; diff --git a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts index 706bdaa5b..4fad13102 100644 --- a/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts +++ b/src/main/webapp/app/account/password-reset/finish/password-reset-finish.service.ts @@ -6,9 +6,9 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class PasswordResetFinishService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - save(keyAndPassword: any): Observable { - return this.http.post(SERVER_API_URL + 'api/account/reset-password/finish', keyAndPassword); - } + save(keyAndPassword: any): Observable { + return this.http.post(SERVER_API_URL + 'api/account/reset-password/finish', keyAndPassword); + } } diff --git a/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html b/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html index 8f42e600e..0aa9dd80e 100644 --- a/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html +++ b/src/main/webapp/app/account/password-reset/init/password-reset-init.component.html @@ -15,31 +15,31 @@

Reset your password

Check your emails for details on how to reset your password.

-
+
- + -
+ formControlName="email"> +
+ *ngIf="resetRequestForm.get('email').errors.required" jhiTranslate="global.messages.validate.email.required"> Your email is required. + *ngIf="resetRequestForm.get('email').errors.email" jhiTranslate="global.messages.validate.email.invalid"> Your email is invalid. + *ngIf="resetRequestForm.get('email').errors.minlength" jhiTranslate="global.messages.validate.email.minlength"> Your email is required to be at least 5 characters. + *ngIf="resetRequestForm.get('email').errors.maxlength" jhiTranslate="global.messages.validate.email.maxlength"> Your email cannot be longer than 100 characters.
- +
diff --git a/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts b/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts index e32617341..ab832b116 100644 --- a/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts +++ b/src/main/webapp/app/account/password-reset/init/password-reset-init.component.ts @@ -1,43 +1,48 @@ -import { Component, OnInit, AfterViewInit, Renderer, ElementRef } from '@angular/core'; +import { Component, AfterViewInit, Renderer, ElementRef } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; + import { EMAIL_NOT_FOUND_TYPE } from 'app/shared'; import { PasswordResetInitService } from './password-reset-init.service'; @Component({ - selector: 'jhi-password-reset-init', - templateUrl: './password-reset-init.component.html' + selector: 'jhi-password-reset-init', + templateUrl: './password-reset-init.component.html' }) -export class PasswordResetInitComponent implements OnInit, AfterViewInit { - error: string; - errorEmailNotExists: string; - resetAccount: any; - success: string; - - constructor(private passwordResetInitService: PasswordResetInitService, private elementRef: ElementRef, private renderer: Renderer) {} +export class PasswordResetInitComponent implements AfterViewInit { + error: string; + errorEmailNotExists: string; + success: string; + resetRequestForm = this.fb.group({ + email: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(254), Validators.email]] + }); - ngOnInit() { - this.resetAccount = {}; - } + constructor( + private passwordResetInitService: PasswordResetInitService, + private elementRef: ElementRef, + private renderer: Renderer, + private fb: FormBuilder + ) {} - ngAfterViewInit() { - this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#email'), 'focus', []); - } + ngAfterViewInit() { + this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#email'), 'focus', []); + } - requestReset() { - this.error = null; - this.errorEmailNotExists = null; + requestReset() { + this.error = null; + this.errorEmailNotExists = null; - this.passwordResetInitService.save(this.resetAccount.email).subscribe( - () => { - this.success = 'OK'; - }, - response => { - this.success = null; - if (response.status === 400 && response.error.type === EMAIL_NOT_FOUND_TYPE) { - this.errorEmailNotExists = 'ERROR'; - } else { - this.error = 'ERROR'; - } - } - ); - } + this.passwordResetInitService.save(this.resetRequestForm.get(['email']).value).subscribe( + () => { + this.success = 'OK'; + }, + response => { + this.success = null; + if (response.status === 400 && response.error.type === EMAIL_NOT_FOUND_TYPE) { + this.errorEmailNotExists = 'ERROR'; + } else { + this.error = 'ERROR'; + } + } + ); + } } diff --git a/src/main/webapp/app/account/password-reset/init/password-reset-init.route.ts b/src/main/webapp/app/account/password-reset/init/password-reset-init.route.ts index 6d7da08cd..887c77bc2 100644 --- a/src/main/webapp/app/account/password-reset/init/password-reset-init.route.ts +++ b/src/main/webapp/app/account/password-reset/init/password-reset-init.route.ts @@ -3,10 +3,10 @@ import { Route } from '@angular/router'; import { PasswordResetInitComponent } from './password-reset-init.component'; export const passwordResetInitRoute: Route = { - path: 'reset/request', - component: PasswordResetInitComponent, - data: { - authorities: [], - pageTitle: 'global.menu.account.password' - } + path: 'reset/request', + component: PasswordResetInitComponent, + data: { + authorities: [], + pageTitle: 'global.menu.account.password' + } }; diff --git a/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts b/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts index c24ccf94d..390793694 100644 --- a/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts +++ b/src/main/webapp/app/account/password-reset/init/password-reset-init.service.ts @@ -6,9 +6,9 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class PasswordResetInitService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - save(mail: string): Observable { - return this.http.post(SERVER_API_URL + 'api/account/reset-password/init', mail); - } + save(mail: string): Observable { + return this.http.post(SERVER_API_URL + 'api/account/reset-password/init', mail); + } } diff --git a/src/main/webapp/app/account/password/password-strength-bar.component.ts b/src/main/webapp/app/account/password/password-strength-bar.component.ts index 2d0de8b15..0c6f6a887 100644 --- a/src/main/webapp/app/account/password/password-strength-bar.component.ts +++ b/src/main/webapp/app/account/password/password-strength-bar.component.ts @@ -1,84 +1,85 @@ import { Component, ElementRef, Input, Renderer } from '@angular/core'; @Component({ - selector: 'jhi-password-strength-bar', - template: ` -
- Password strength: -
    -
  • -
  • -
  • -
  • -
  • -
-
`, - styleUrls: ['password-strength-bar.css'] + selector: 'jhi-password-strength-bar', + template: ` +
+ Password strength: +
    +
  • +
  • +
  • +
  • +
  • +
+
+ `, + styleUrls: ['password-strength-bar.scss'] }) export class PasswordStrengthBarComponent { - colors = ['#F00', '#F90', '#FF0', '#9F0', '#0F0']; + colors = ['#F00', '#F90', '#FF0', '#9F0', '#0F0']; - constructor(private renderer: Renderer, private elementRef: ElementRef) {} + constructor(private renderer: Renderer, private elementRef: ElementRef) {} - measureStrength(p: string): number { - let force = 0; - const regex = /[$-/:-?{-~!"^_`\[\]]/g; // " - const lowerLetters = /[a-z]+/.test(p); - const upperLetters = /[A-Z]+/.test(p); - const numbers = /[0-9]+/.test(p); - const symbols = regex.test(p); + measureStrength(p: string): number { + let force = 0; + const regex = /[$-/:-?{-~!"^_`\[\]]/g; // " + const lowerLetters = /[a-z]+/.test(p); + const upperLetters = /[A-Z]+/.test(p); + const numbers = /[0-9]+/.test(p); + const symbols = regex.test(p); - const flags = [lowerLetters, upperLetters, numbers, symbols]; - const passedMatches = flags.filter((isMatchedFlag: boolean) => { - return isMatchedFlag === true; - }).length; + const flags = [lowerLetters, upperLetters, numbers, symbols]; + const passedMatches = flags.filter((isMatchedFlag: boolean) => { + return isMatchedFlag === true; + }).length; - force += 2 * p.length + (p.length >= 10 ? 1 : 0); - force += passedMatches * 10; + force += 2 * p.length + (p.length >= 10 ? 1 : 0); + force += passedMatches * 10; - // penalty (short password) - force = p.length <= 6 ? Math.min(force, 10) : force; + // penalty (short password) + force = p.length <= 6 ? Math.min(force, 10) : force; - // penalty (poor variety of characters) - force = passedMatches === 1 ? Math.min(force, 10) : force; - force = passedMatches === 2 ? Math.min(force, 20) : force; - force = passedMatches === 3 ? Math.min(force, 40) : force; + // penalty (poor variety of characters) + force = passedMatches === 1 ? Math.min(force, 10) : force; + force = passedMatches === 2 ? Math.min(force, 20) : force; + force = passedMatches === 3 ? Math.min(force, 40) : force; - return force; - } + return force; + } - getColor(s: number): any { - let idx = 0; - if (s <= 10) { - idx = 0; - } else if (s <= 20) { - idx = 1; - } else if (s <= 30) { - idx = 2; - } else if (s <= 40) { - idx = 3; - } else { - idx = 4; - } - return { idx: idx + 1, col: this.colors[idx] }; + getColor(s: number): any { + let idx = 0; + if (s <= 10) { + idx = 0; + } else if (s <= 20) { + idx = 1; + } else if (s <= 30) { + idx = 2; + } else if (s <= 40) { + idx = 3; + } else { + idx = 4; } + return { idx: idx + 1, col: this.colors[idx] }; + } - @Input() - set passwordToCheck(password: string) { - if (password) { - const c = this.getColor(this.measureStrength(password)); - const element = this.elementRef.nativeElement; - if (element.className) { - this.renderer.setElementClass(element, element.className, false); - } - const lis = element.getElementsByTagName('li'); - for (let i = 0; i < lis.length; i++) { - if (i < c.idx) { - this.renderer.setElementStyle(lis[i], 'backgroundColor', c.col); - } else { - this.renderer.setElementStyle(lis[i], 'backgroundColor', '#DDD'); - } - } + @Input() + set passwordToCheck(password: string) { + if (password) { + const c = this.getColor(this.measureStrength(password)); + const element = this.elementRef.nativeElement; + if (element.className) { + this.renderer.setElementClass(element, element.className, false); + } + const lis = element.getElementsByTagName('li'); + for (let i = 0; i < lis.length; i++) { + if (i < c.idx) { + this.renderer.setElementStyle(lis[i], 'backgroundColor', c.col); + } else { + this.renderer.setElementStyle(lis[i], 'backgroundColor', '#DDD'); } + } } + } } diff --git a/src/main/webapp/app/account/password/password-strength-bar.css b/src/main/webapp/app/account/password/password-strength-bar.css deleted file mode 100644 index b6ad1fa60..000000000 --- a/src/main/webapp/app/account/password/password-strength-bar.css +++ /dev/null @@ -1,24 +0,0 @@ -/* ========================================================================== -start Password strength bar style -========================================================================== */ -ul#strengthBar { - display: inline; - list-style: none; - margin: 0; - margin-left: 15px; - padding: 0; - vertical-align: 2px; -} - -.point { - background: #ddd; - border-radius: 2px; - display: inline-block; - height: 5px; - margin-right: 1px; - width: 20px; -} - -.point:last-child { - margin: 0 !important; -} diff --git a/src/main/webapp/app/account/password/password-strength-bar.scss b/src/main/webapp/app/account/password/password-strength-bar.scss new file mode 100644 index 000000000..67ce4687a --- /dev/null +++ b/src/main/webapp/app/account/password/password-strength-bar.scss @@ -0,0 +1,23 @@ +/* ========================================================================== +start Password strength bar style +========================================================================== */ +ul#strength { + display: inline; + list-style: none; + margin: 0; + margin-left: 15px; + padding: 0; + vertical-align: 2px; +} + +.point { + background: #ddd; + border-radius: 2px; + display: inline-block; + height: 5px; + margin-right: 1px; + width: 20px; + &:last-child { + margin: 0 !important; + } +} diff --git a/src/main/webapp/app/account/password/password.component.html b/src/main/webapp/app/account/password/password.component.html index 6120b9050..871064543 100644 --- a/src/main/webapp/app/account/password/password.component.html +++ b/src/main/webapp/app/account/password/password.component.html @@ -1,7 +1,7 @@
-

Password for [{{account.login}}]

+

Password for [{{account.login}}]

Password changed! @@ -14,63 +14,62 @@

-
+
- - Current password + -
+ formControlName="currentPassword"> +
+ *ngIf="passwordForm.get('currentPassword').errors.required" jhiTranslate="global.messages.validate.newpassword.required"> Your password is required.
- - -
+ + +
+ *ngIf="passwordForm.get('newPassword').errors.required" jhiTranslate="global.messages.validate.newpassword.required"> Your password is required. + *ngIf="passwordForm.get('newPassword').errors.minlength" jhiTranslate="global.messages.validate.newpassword.minlength"> Your password is required to be at least 4 characters. + *ngIf="passwordForm.get('newPassword').errors.maxlength" jhiTranslate="global.messages.validate.newpassword.maxlength"> Your password cannot be longer than 50 characters.
- +
- - -
+ + +
+ *ngIf="passwordForm.get('confirmPassword').errors.required" jhiTranslate="global.messages.validate.confirmpassword.required"> Your confirmation password is required. + *ngIf="passwordForm.get('confirmPassword').errors.minlength" jhiTranslate="global.messages.validate.confirmpassword.minlength"> Your confirmation password is required to be at least 4 characters. + *ngIf="passwordForm.get('confirmPassword').errors.maxlength" jhiTranslate="global.messages.validate.confirmpassword.maxlength"> Your confirmation password cannot be longer than 50 characters.
- - +
diff --git a/src/main/webapp/app/account/password/password.component.ts b/src/main/webapp/app/account/password/password.component.ts index 3004effa5..0f167e359 100644 --- a/src/main/webapp/app/account/password/password.component.ts +++ b/src/main/webapp/app/account/password/password.component.ts @@ -1,46 +1,50 @@ import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AccountService } from 'app/core'; import { PasswordService } from './password.service'; @Component({ - selector: 'jhi-password', - templateUrl: './password.component.html' + selector: 'jhi-password', + templateUrl: './password.component.html' }) export class PasswordComponent implements OnInit { - doNotMatch: string; - error: string; - success: string; - account: any; - currentPassword: string; - newPassword: string; - confirmPassword: string; + doNotMatch: string; + error: string; + success: string; + account: any; + passwordForm = this.fb.group({ + currentPassword: ['', [Validators.required]], + newPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + confirmPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]] + }); - constructor(private passwordService: PasswordService, private accountService: AccountService) {} + constructor(private passwordService: PasswordService, private accountService: AccountService, private fb: FormBuilder) {} - ngOnInit() { - this.accountService.identity().then(account => { - this.account = account; - }); - } + ngOnInit() { + this.accountService.identity().then(account => { + this.account = account; + }); + } - changePassword() { - if (this.newPassword !== this.confirmPassword) { - this.error = null; - this.success = null; - this.doNotMatch = 'ERROR'; - } else { - this.doNotMatch = null; - this.passwordService.save(this.newPassword, this.currentPassword).subscribe( - () => { - this.error = null; - this.success = 'OK'; - }, - () => { - this.success = null; - this.error = 'ERROR'; - } - ); + changePassword() { + const newPassword = this.passwordForm.get(['newPassword']).value; + if (newPassword !== this.passwordForm.get(['confirmPassword']).value) { + this.error = null; + this.success = null; + this.doNotMatch = 'ERROR'; + } else { + this.doNotMatch = null; + this.passwordService.save(newPassword, this.passwordForm.get(['currentPassword']).value).subscribe( + () => { + this.error = null; + this.success = 'OK'; + }, + () => { + this.success = null; + this.error = 'ERROR'; } + ); } + } } diff --git a/src/main/webapp/app/account/password/password.route.ts b/src/main/webapp/app/account/password/password.route.ts index 2a6ec475e..a15efcfed 100644 --- a/src/main/webapp/app/account/password/password.route.ts +++ b/src/main/webapp/app/account/password/password.route.ts @@ -4,11 +4,11 @@ import { UserRouteAccessService } from 'app/core'; import { PasswordComponent } from './password.component'; export const passwordRoute: Route = { - path: 'password', - component: PasswordComponent, - data: { - authorities: ['ROLE_USER'], - pageTitle: 'global.menu.account.password' - }, - canActivate: [UserRouteAccessService] + path: 'password', + component: PasswordComponent, + data: { + authorities: ['ROLE_USER'], + pageTitle: 'global.menu.account.password' + }, + canActivate: [UserRouteAccessService] }; diff --git a/src/main/webapp/app/account/password/password.service.ts b/src/main/webapp/app/account/password/password.service.ts index 028df7b0e..134ced529 100644 --- a/src/main/webapp/app/account/password/password.service.ts +++ b/src/main/webapp/app/account/password/password.service.ts @@ -6,9 +6,9 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class PasswordService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - save(newPassword: string, currentPassword: string): Observable { - return this.http.post(SERVER_API_URL + 'api/account/change-password', { currentPassword, newPassword }); - } + save(newPassword: string, currentPassword: string): Observable { + return this.http.post(SERVER_API_URL + 'api/account/change-password', { currentPassword, newPassword }); + } } diff --git a/src/main/webapp/app/account/register/register.component.html b/src/main/webapp/app/account/register/register.component.html index fd5c89e2d..a2a4a282e 100644 --- a/src/main/webapp/app/account/register/register.component.html +++ b/src/main/webapp/app/account/register/register.component.html @@ -26,93 +26,94 @@

Registration

-
+
- - -
- + + + +
+ Your username is required. - Your username is required to be at least 1 character. - Your username cannot be longer than 50 characters. - Your username can only contain letters and digits.
- - -
- Email + +
+ Your email is required. - Your email is invalid. - Your email is required to be at least 5 characters. - Your email cannot be longer than 100 characters.
- - -
- New password + +
+ Your password is required. - Your password is required to be at least 4 characters. - Your password cannot be longer than 50 characters.
- +
- - -
- New password confirmation + +
+ Your confirmation password is required. - Your confirmation password is required to be at least 4 characters. - Your confirmation password cannot be longer than 50 characters.
- +

diff --git a/src/main/webapp/app/account/register/register.component.ts b/src/main/webapp/app/account/register/register.component.ts index de97a880d..ae2b5f478 100644 --- a/src/main/webapp/app/account/register/register.component.ts +++ b/src/main/webapp/app/account/register/register.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit, AfterViewInit, Renderer, ElementRef } from '@angular/core'; import { HttpErrorResponse } from '@angular/common/http'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; import { JhiLanguageService } from 'ng-jhipster'; @@ -8,68 +9,78 @@ import { LoginModalService } from 'app/core'; import { Register } from './register.service'; @Component({ - selector: 'jhi-register', - templateUrl: './register.component.html' + selector: 'jhi-register', + templateUrl: './register.component.html' }) export class RegisterComponent implements OnInit, AfterViewInit { - confirmPassword: string; - doNotMatch: string; - error: string; - errorEmailExists: string; - errorUserExists: string; - registerAccount: any; - success: boolean; - modalRef: NgbModalRef; + doNotMatch: string; + error: string; + errorEmailExists: string; + errorUserExists: string; + success: boolean; + modalRef: NgbModalRef; - constructor( - private languageService: JhiLanguageService, - private loginModalService: LoginModalService, - private registerService: Register, - private elementRef: ElementRef, - private renderer: Renderer - ) {} + registerForm = this.fb.group({ + login: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(50), Validators.pattern('^[_.@A-Za-z0-9-]*$')]], + email: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(254), Validators.email]], + password: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]], + confirmPassword: ['', [Validators.required, Validators.minLength(4), Validators.maxLength(50)]] + }); - ngOnInit() { - this.success = false; - this.registerAccount = {}; - } + constructor( + private languageService: JhiLanguageService, + private loginModalService: LoginModalService, + private registerService: Register, + private elementRef: ElementRef, + private renderer: Renderer, + private fb: FormBuilder + ) {} - ngAfterViewInit() { - this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#login'), 'focus', []); - } + ngOnInit() { + this.success = false; + } - register() { - if (this.registerAccount.password !== this.confirmPassword) { - this.doNotMatch = 'ERROR'; - } else { - this.doNotMatch = null; - this.error = null; - this.errorUserExists = null; - this.errorEmailExists = null; - this.languageService.getCurrent().then(key => { - this.registerAccount.langKey = key; - this.registerService.save(this.registerAccount).subscribe( - () => { - this.success = true; - }, - response => this.processError(response) - ); - }); - } - } + ngAfterViewInit() { + this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#login'), 'focus', []); + } - openLogin() { - this.modalRef = this.loginModalService.open(); + register() { + let registerAccount = {}; + const login = this.registerForm.get(['login']).value; + const email = this.registerForm.get(['email']).value; + const password = this.registerForm.get(['password']).value; + if (password !== this.registerForm.get(['confirmPassword']).value) { + this.doNotMatch = 'ERROR'; + } else { + registerAccount = { ...registerAccount, login, email, password }; + this.doNotMatch = null; + this.error = null; + this.errorUserExists = null; + this.errorEmailExists = null; + this.languageService.getCurrent().then(langKey => { + registerAccount = { ...registerAccount, langKey }; + this.registerService.save(registerAccount).subscribe( + () => { + this.success = true; + }, + response => this.processError(response) + ); + }); } + } + + openLogin() { + this.modalRef = this.loginModalService.open(); + } - private processError(response: HttpErrorResponse) { - this.success = null; - if (response.status === 400 && response.error.type === LOGIN_ALREADY_USED_TYPE) { - this.errorUserExists = 'ERROR'; - } else if (response.status === 400 && response.error.type === EMAIL_ALREADY_USED_TYPE) { - this.errorEmailExists = 'ERROR'; - } else { - this.error = 'ERROR'; - } + private processError(response: HttpErrorResponse) { + this.success = null; + if (response.status === 400 && response.error.type === LOGIN_ALREADY_USED_TYPE) { + this.errorUserExists = 'ERROR'; + } else if (response.status === 400 && response.error.type === EMAIL_ALREADY_USED_TYPE) { + this.errorEmailExists = 'ERROR'; + } else { + this.error = 'ERROR'; } + } } diff --git a/src/main/webapp/app/account/register/register.route.ts b/src/main/webapp/app/account/register/register.route.ts index ca834d5d5..f4ede9d3a 100644 --- a/src/main/webapp/app/account/register/register.route.ts +++ b/src/main/webapp/app/account/register/register.route.ts @@ -3,10 +3,10 @@ import { Route } from '@angular/router'; import { RegisterComponent } from './register.component'; export const registerRoute: Route = { - path: 'register', - component: RegisterComponent, - data: { - authorities: [], - pageTitle: 'register.title' - } + path: 'register', + component: RegisterComponent, + data: { + authorities: [], + pageTitle: 'register.title' + } }; diff --git a/src/main/webapp/app/account/register/register.service.ts b/src/main/webapp/app/account/register/register.service.ts index dfe6f1da6..5f58ae874 100644 --- a/src/main/webapp/app/account/register/register.service.ts +++ b/src/main/webapp/app/account/register/register.service.ts @@ -6,9 +6,9 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class Register { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - save(account: any): Observable { - return this.http.post(SERVER_API_URL + 'api/register', account); - } + save(account: any): Observable { + return this.http.post(SERVER_API_URL + 'api/register', account); + } } diff --git a/src/main/webapp/app/account/settings/settings.component.html b/src/main/webapp/app/account/settings/settings.component.html index e79860b57..44f4b2f33 100644 --- a/src/main/webapp/app/account/settings/settings.component.html +++ b/src/main/webapp/app/account/settings/settings.component.html @@ -1,7 +1,7 @@
-

User settings for [{{settingsAccount.login}}]

+

User settings for [{{settingsForm.get('login').value}}]

Settings saved! @@ -9,23 +9,23 @@

+
-
+ formControlName="firstName"> +
+ *ngIf="settingsForm.get('firstName').errors.required" jhiTranslate="settings.messages.validate.firstname.required"> Your first name is required. + *ngIf="settingsForm.get('firstName').errors.minlength" jhiTranslate="settings.messages.validate.firstname.minlength"> Your first name is required to be at least 1 character. + *ngIf="settingsForm.get('firstName').errors.maxlength" jhiTranslate="settings.messages.validate.firstname.maxlength"> Your first name cannot be longer than 50 characters.
@@ -33,52 +33,52 @@

-
+ formControlName="lastName"> +
+ *ngIf="settingsForm.get('lastName').errors.required" jhiTranslate="settings.messages.validate.lastname.required"> Your last name is required. + *ngIf="settingsForm.get('lastName').errors.minlength" jhiTranslate="settings.messages.validate.lastname.minlength"> Your last name is required to be at least 1 character. + *ngIf="settingsForm.get('lastName').errors.maxlength" jhiTranslate="settings.messages.validate.lastname.maxlength"> Your last name cannot be longer than 50 characters.
- + -
+ formControlName="email"> +
+ *ngIf="settingsForm.get('email').errors.required" jhiTranslate="global.messages.validate.email.required"> Your email is required. + *ngIf="settingsForm.get('email').errors.email" jhiTranslate="global.messages.validate.email.invalid"> Your email is invalid. + *ngIf="settingsForm.get('email').errors.minlength" jhiTranslate="global.messages.validate.email.minlength"> Your email is required to be at least 5 characters. + *ngIf="settingsForm.get('email').errors.maxlength" jhiTranslate="global.messages.validate.email.maxlength"> Your email cannot be longer than 100 characters.
-
- +

diff --git a/src/main/webapp/app/account/settings/settings.component.ts b/src/main/webapp/app/account/settings/settings.component.ts index 3d5af649c..fe8ac2670 100644 --- a/src/main/webapp/app/account/settings/settings.component.ts +++ b/src/main/webapp/app/account/settings/settings.component.ts @@ -1,63 +1,92 @@ import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { JhiLanguageService } from 'ng-jhipster'; import { AccountService, JhiLanguageHelper } from 'app/core'; +import { Account } from 'app/core/user/account.model'; @Component({ - selector: 'jhi-settings', - templateUrl: './settings.component.html' + selector: 'jhi-settings', + templateUrl: './settings.component.html' }) export class SettingsComponent implements OnInit { - error: string; - success: string; - settingsAccount: any; - languages: any[]; + error: string; + success: string; + languages: any[]; + settingsForm = this.fb.group({ + firstName: [undefined, [Validators.required, Validators.minLength(1), Validators.maxLength(50)]], + lastName: [undefined, [Validators.required, Validators.minLength(1), Validators.maxLength(50)]], + email: [undefined, [Validators.required, Validators.minLength(5), Validators.maxLength(254), Validators.email]], + activated: [false], + authorities: [[]], + langKey: ['en'], + login: [], + imageUrl: [] + }); - constructor( - private accountService: AccountService, - private languageService: JhiLanguageService, - private languageHelper: JhiLanguageHelper - ) {} + constructor( + private accountService: AccountService, + private fb: FormBuilder, + private languageService: JhiLanguageService, + private languageHelper: JhiLanguageHelper + ) {} - ngOnInit() { - this.accountService.identity().then(account => { - this.settingsAccount = this.copyAccount(account); + ngOnInit() { + this.accountService.identity().then(account => { + this.updateForm(account); + }); + this.languageHelper.getAll().then(languages => { + this.languages = languages; + }); + } + + save() { + const settingsAccount = this.accountFromForm(); + this.accountService.save(settingsAccount).subscribe( + () => { + this.error = null; + this.success = 'OK'; + this.accountService.identity(true).then(account => { + this.updateForm(account); }); - this.languageHelper.getAll().then(languages => { - this.languages = languages; + this.languageService.getCurrent().then(current => { + if (settingsAccount.langKey !== current) { + this.languageService.changeLanguage(settingsAccount.langKey); + } }); - } + }, + () => { + this.success = null; + this.error = 'ERROR'; + } + ); + } - save() { - this.accountService.save(this.settingsAccount).subscribe( - () => { - this.error = null; - this.success = 'OK'; - this.accountService.identity(true).then(account => { - this.settingsAccount = this.copyAccount(account); - }); - this.languageService.getCurrent().then(current => { - if (this.settingsAccount.langKey !== current) { - this.languageService.changeLanguage(this.settingsAccount.langKey); - } - }); - }, - () => { - this.success = null; - this.error = 'ERROR'; - } - ); - } + private accountFromForm(): any { + const account = {}; + return { + ...account, + firstName: this.settingsForm.get('firstName').value, + lastName: this.settingsForm.get('lastName').value, + email: this.settingsForm.get('email').value, + activated: this.settingsForm.get('activated').value, + authorities: this.settingsForm.get('authorities').value, + langKey: this.settingsForm.get('langKey').value, + login: this.settingsForm.get('login').value, + imageUrl: this.settingsForm.get('imageUrl').value + }; + } - copyAccount(account) { - return { - activated: account.activated, - email: account.email, - firstName: account.firstName, - langKey: account.langKey, - lastName: account.lastName, - login: account.login, - imageUrl: account.imageUrl - }; - } + updateForm(account: any): void { + this.settingsForm.patchValue({ + firstName: account.firstName, + lastName: account.lastName, + email: account.email, + activated: account.activated, + authorities: account.authorities, + langKey: account.langKey, + login: account.login, + imageUrl: account.imageUrl + }); + } } diff --git a/src/main/webapp/app/account/settings/settings.route.ts b/src/main/webapp/app/account/settings/settings.route.ts index 95c2de6e0..21f22485d 100644 --- a/src/main/webapp/app/account/settings/settings.route.ts +++ b/src/main/webapp/app/account/settings/settings.route.ts @@ -4,11 +4,11 @@ import { UserRouteAccessService } from 'app/core'; import { SettingsComponent } from './settings.component'; export const settingsRoute: Route = { - path: 'settings', - component: SettingsComponent, - data: { - authorities: ['ROLE_USER'], - pageTitle: 'global.menu.account.settings' - }, - canActivate: [UserRouteAccessService] + path: 'settings', + component: SettingsComponent, + data: { + authorities: ['ROLE_USER'], + pageTitle: 'global.menu.account.settings' + }, + canActivate: [UserRouteAccessService] }; diff --git a/src/main/webapp/app/admin/admin.module.ts b/src/main/webapp/app/admin/admin.module.ts index f22e9da7c..939637112 100644 --- a/src/main/webapp/app/admin/admin.module.ts +++ b/src/main/webapp/app/admin/admin.module.ts @@ -6,49 +6,49 @@ import { JhipsterSampleApplicationSharedModule } from 'app/shared'; /* jhipster-needle-add-admin-module-import - JHipster will add admin modules imports here */ import { - adminState, + adminState, + AuditsComponent, + UserMgmtComponent, + UserMgmtDetailComponent, + UserMgmtUpdateComponent, + UserMgmtDeleteDialogComponent, + LogsComponent, + JhiMetricsMonitoringComponent, + JhiHealthModalComponent, + JhiHealthCheckComponent, + JhiConfigurationComponent, + JhiDocsComponent +} from './'; + +@NgModule({ + imports: [ + JhipsterSampleApplicationSharedModule, + RouterModule.forChild(adminState) + /* jhipster-needle-add-admin-module - JHipster will add admin modules here */ + ], + declarations: [ AuditsComponent, UserMgmtComponent, UserMgmtDetailComponent, UserMgmtUpdateComponent, UserMgmtDeleteDialogComponent, LogsComponent, - JhiMetricsMonitoringComponent, - JhiHealthModalComponent, - JhiHealthCheckComponent, JhiConfigurationComponent, - JhiDocsComponent -} from './'; - -@NgModule({ - imports: [ - JhipsterSampleApplicationSharedModule, - RouterModule.forChild(adminState) - /* jhipster-needle-add-admin-module - JHipster will add admin modules here */ - ], - declarations: [ - AuditsComponent, - UserMgmtComponent, - UserMgmtDetailComponent, - UserMgmtUpdateComponent, - UserMgmtDeleteDialogComponent, - LogsComponent, - JhiConfigurationComponent, - JhiHealthCheckComponent, - JhiHealthModalComponent, - JhiDocsComponent, - JhiMetricsMonitoringComponent - ], - providers: [{ provide: JhiLanguageService, useClass: JhiLanguageService }], - entryComponents: [UserMgmtDeleteDialogComponent, JhiHealthModalComponent], - schemas: [CUSTOM_ELEMENTS_SCHEMA] + JhiHealthCheckComponent, + JhiHealthModalComponent, + JhiDocsComponent, + JhiMetricsMonitoringComponent + ], + providers: [{ provide: JhiLanguageService, useClass: JhiLanguageService }], + entryComponents: [UserMgmtDeleteDialogComponent, JhiHealthModalComponent], + schemas: [CUSTOM_ELEMENTS_SCHEMA] }) export class JhipsterSampleApplicationAdminModule { - constructor(private languageService: JhiLanguageService, private languageHelper: JhiLanguageHelper) { - this.languageHelper.language.subscribe((languageKey: string) => { - if (languageKey !== undefined) { - this.languageService.changeLanguage(languageKey); - } - }); - } + constructor(private languageService: JhiLanguageService, private languageHelper: JhiLanguageHelper) { + this.languageHelper.language.subscribe((languageKey: string) => { + if (languageKey !== undefined) { + this.languageService.changeLanguage(languageKey); + } + }); + } } diff --git a/src/main/webapp/app/admin/admin.route.ts b/src/main/webapp/app/admin/admin.route.ts index 88c7e575f..54768bede 100644 --- a/src/main/webapp/app/admin/admin.route.ts +++ b/src/main/webapp/app/admin/admin.route.ts @@ -7,12 +7,12 @@ import { UserRouteAccessService } from 'app/core'; const ADMIN_ROUTES = [auditsRoute, configurationRoute, docsRoute, healthRoute, logsRoute, ...userMgmtRoute, metricsRoute]; export const adminState: Routes = [ - { - path: '', - data: { - authorities: ['ROLE_ADMIN'] - }, - canActivate: [UserRouteAccessService], - children: ADMIN_ROUTES - } + { + path: '', + data: { + authorities: ['ROLE_ADMIN'] + }, + canActivate: [UserRouteAccessService], + children: ADMIN_ROUTES + } ]; diff --git a/src/main/webapp/app/admin/audits/audit-data.model.ts b/src/main/webapp/app/admin/audits/audit-data.model.ts index a2506c409..904d33dfe 100644 --- a/src/main/webapp/app/admin/audits/audit-data.model.ts +++ b/src/main/webapp/app/admin/audits/audit-data.model.ts @@ -1,3 +1,3 @@ export class AuditData { - constructor(public remoteAddress: string, public sessionId: string) {} + constructor(public remoteAddress: string, public sessionId: string) {} } diff --git a/src/main/webapp/app/admin/audits/audit.model.ts b/src/main/webapp/app/admin/audits/audit.model.ts index 6497fb444..5c6410745 100644 --- a/src/main/webapp/app/admin/audits/audit.model.ts +++ b/src/main/webapp/app/admin/audits/audit.model.ts @@ -1,5 +1,5 @@ import { AuditData } from './audit-data.model'; export class Audit { - constructor(public data: AuditData, public principal: string, public timestamp: string, public type: string) {} + constructor(public data: AuditData, public principal: string, public timestamp: string, public type: string) {} } diff --git a/src/main/webapp/app/admin/audits/audits.component.ts b/src/main/webapp/app/admin/audits/audits.component.ts index 21739275f..effbfc704 100644 --- a/src/main/webapp/app/admin/audits/audits.component.ts +++ b/src/main/webapp/app/admin/audits/audits.component.ts @@ -9,118 +9,115 @@ import { Audit } from './audit.model'; import { AuditsService } from './audits.service'; @Component({ - selector: 'jhi-audit', - templateUrl: './audits.component.html' + selector: 'jhi-audit', + templateUrl: './audits.component.html' }) export class AuditsComponent implements OnInit, OnDestroy { - audits: Audit[]; - fromDate: string; - itemsPerPage: any; - links: any; - page: number; - routeData: any; - predicate: any; - previousPage: any; - reverse: boolean; - toDate: string; - totalItems: number; + audits: Audit[]; + fromDate: string; + itemsPerPage: any; + links: any; + page: number; + routeData: any; + predicate: any; + previousPage: any; + reverse: boolean; + toDate: string; + totalItems: number; - constructor( - private auditsService: AuditsService, - private alertService: JhiAlertService, - private parseLinks: JhiParseLinks, - private activatedRoute: ActivatedRoute, - private datePipe: DatePipe, - private router: Router - ) { - this.itemsPerPage = ITEMS_PER_PAGE; - this.routeData = this.activatedRoute.data.subscribe(data => { - this.page = data['pagingParams'].page; - this.previousPage = data['pagingParams'].page; - this.reverse = data['pagingParams'].ascending; - this.predicate = data['pagingParams'].predicate; - }); - } + constructor( + private auditsService: AuditsService, + private alertService: JhiAlertService, + private parseLinks: JhiParseLinks, + private activatedRoute: ActivatedRoute, + private datePipe: DatePipe, + private router: Router + ) { + this.itemsPerPage = ITEMS_PER_PAGE; + this.routeData = this.activatedRoute.data.subscribe(data => { + this.page = data['pagingParams'].page; + this.previousPage = data['pagingParams'].page; + this.reverse = data['pagingParams'].ascending; + this.predicate = data['pagingParams'].predicate; + }); + } - ngOnInit() { - this.today(); - this.previousMonth(); - this.loadAll(); - } + ngOnInit() { + this.today(); + this.previousMonth(); + this.loadAll(); + } - ngOnDestroy() { - this.routeData.unsubscribe(); - } + ngOnDestroy() { + this.routeData.unsubscribe(); + } - previousMonth() { - const dateFormat = 'yyyy-MM-dd'; - let fromDate: Date = new Date(); + previousMonth() { + const dateFormat = 'yyyy-MM-dd'; + let fromDate: Date = new Date(); - if (fromDate.getMonth() === 0) { - fromDate = new Date(fromDate.getFullYear() - 1, 11, fromDate.getDate()); - } else { - fromDate = new Date(fromDate.getFullYear(), fromDate.getMonth() - 1, fromDate.getDate()); - } - - this.fromDate = this.datePipe.transform(fromDate, dateFormat); + if (fromDate.getMonth() === 0) { + fromDate = new Date(fromDate.getFullYear() - 1, 11, fromDate.getDate()); + } else { + fromDate = new Date(fromDate.getFullYear(), fromDate.getMonth() - 1, fromDate.getDate()); } - today() { - const dateFormat = 'yyyy-MM-dd'; - // Today + 1 day - needed if the current day must be included - const today: Date = new Date(); - today.setDate(today.getDate() + 1); - const date = new Date(today.getFullYear(), today.getMonth(), today.getDate()); - this.toDate = this.datePipe.transform(date, dateFormat); - } + this.fromDate = this.datePipe.transform(fromDate, dateFormat); + } - loadAll() { - this.auditsService - .query({ - page: this.page - 1, - size: this.itemsPerPage, - sort: this.sort(), - fromDate: this.fromDate, - toDate: this.toDate - }) - .subscribe( - (res: HttpResponse) => this.onSuccess(res.body, res.headers), - (res: HttpResponse) => this.onError(res.body) - ); - } + today() { + const dateFormat = 'yyyy-MM-dd'; + // Today + 1 day - needed if the current day must be included + const today: Date = new Date(); + today.setDate(today.getDate() + 1); + const date = new Date(today.getFullYear(), today.getMonth(), today.getDate()); + this.toDate = this.datePipe.transform(date, dateFormat); + } - sort() { - const result = [this.predicate + ',' + (this.reverse ? 'asc' : 'desc')]; - if (this.predicate !== 'id') { - result.push('id'); - } - return result; - } + loadAll() { + this.auditsService + .query({ + page: this.page - 1, + size: this.itemsPerPage, + sort: this.sort(), + fromDate: this.fromDate, + toDate: this.toDate + }) + .subscribe((res: HttpResponse) => this.onSuccess(res.body, res.headers), (res: HttpResponse) => this.onError(res.body)); + } - loadPage(page: number) { - if (page !== this.previousPage) { - this.previousPage = page; - this.transition(); - } + sort() { + const result = [this.predicate + ',' + (this.reverse ? 'asc' : 'desc')]; + if (this.predicate !== 'id') { + result.push('id'); } + return result; + } - transition() { - this.router.navigate(['/admin/audits'], { - queryParams: { - page: this.page, - sort: this.predicate + ',' + (this.reverse ? 'asc' : 'desc') - } - }); - this.loadAll(); + loadPage(page: number) { + if (page !== this.previousPage) { + this.previousPage = page; + this.transition(); } + } - private onSuccess(data, headers) { - this.links = this.parseLinks.parse(headers.get('link')); - this.totalItems = headers.get('X-Total-Count'); - this.audits = data; - } + transition() { + this.router.navigate(['/admin/audits'], { + queryParams: { + page: this.page, + sort: this.predicate + ',' + (this.reverse ? 'asc' : 'desc') + } + }); + this.loadAll(); + } - private onError(error) { - this.alertService.error(error.error, error.message, null); - } + private onSuccess(data, headers) { + this.links = this.parseLinks.parse(headers.get('link')); + this.totalItems = headers.get('X-Total-Count'); + this.audits = data; + } + + private onError(error) { + this.alertService.error(error.error, error.message, null); + } } diff --git a/src/main/webapp/app/admin/audits/audits.route.ts b/src/main/webapp/app/admin/audits/audits.route.ts index fa0495316..59a1d4cea 100644 --- a/src/main/webapp/app/admin/audits/audits.route.ts +++ b/src/main/webapp/app/admin/audits/audits.route.ts @@ -5,13 +5,13 @@ import { JhiPaginationUtil, JhiResolvePagingParams } from 'ng-jhipster'; import { AuditsComponent } from './audits.component'; export const auditsRoute: Route = { - path: 'audits', - component: AuditsComponent, - resolve: { - pagingParams: JhiResolvePagingParams - }, - data: { - pageTitle: 'audits.title', - defaultSort: 'auditEventDate,desc' - } + path: 'audits', + component: AuditsComponent, + resolve: { + pagingParams: JhiResolvePagingParams + }, + data: { + pageTitle: 'audits.title', + defaultSort: 'auditEventDate,desc' + } }; diff --git a/src/main/webapp/app/admin/audits/audits.service.ts b/src/main/webapp/app/admin/audits/audits.service.ts index 78e8cca7e..6b4f6afba 100644 --- a/src/main/webapp/app/admin/audits/audits.service.ts +++ b/src/main/webapp/app/admin/audits/audits.service.ts @@ -8,18 +8,18 @@ import { Audit } from './audit.model'; @Injectable({ providedIn: 'root' }) export class AuditsService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - query(req: any): Observable> { - const params: HttpParams = createRequestOption(req); - params.set('fromDate', req.fromDate); - params.set('toDate', req.toDate); + query(req: any): Observable> { + const params: HttpParams = createRequestOption(req); + params.set('fromDate', req.fromDate); + params.set('toDate', req.toDate); - const requestURL = SERVER_API_URL + 'management/audits'; + const requestURL = SERVER_API_URL + 'management/audits'; - return this.http.get(requestURL, { - params, - observe: 'response' - }); - } + return this.http.get(requestURL, { + params, + observe: 'response' + }); + } } diff --git a/src/main/webapp/app/admin/configuration/configuration.component.ts b/src/main/webapp/app/admin/configuration/configuration.component.ts index 6867210c9..a91675892 100644 --- a/src/main/webapp/app/admin/configuration/configuration.component.ts +++ b/src/main/webapp/app/admin/configuration/configuration.component.ts @@ -3,41 +3,41 @@ import { Component, OnInit } from '@angular/core'; import { JhiConfigurationService } from './configuration.service'; @Component({ - selector: 'jhi-configuration', - templateUrl: './configuration.component.html' + selector: 'jhi-configuration', + templateUrl: './configuration.component.html' }) export class JhiConfigurationComponent implements OnInit { - allConfiguration: any = null; - configuration: any = null; - configKeys: any[]; - filter: string; - orderProp: string; - reverse: boolean; + allConfiguration: any = null; + configuration: any = null; + configKeys: any[]; + filter: string; + orderProp: string; + reverse: boolean; - constructor(private configurationService: JhiConfigurationService) { - this.configKeys = []; - this.filter = ''; - this.orderProp = 'prefix'; - this.reverse = false; - } + constructor(private configurationService: JhiConfigurationService) { + this.configKeys = []; + this.filter = ''; + this.orderProp = 'prefix'; + this.reverse = false; + } - keys(dict): Array { - return dict === undefined ? [] : Object.keys(dict); - } + keys(dict): Array { + return dict === undefined ? [] : Object.keys(dict); + } - ngOnInit() { - this.configurationService.get().subscribe(configuration => { - this.configuration = configuration; + ngOnInit() { + this.configurationService.get().subscribe(configuration => { + this.configuration = configuration; - for (const config of configuration) { - if (config.properties !== undefined) { - this.configKeys.push(Object.keys(config.properties)); - } - } - }); + for (const config of configuration) { + if (config.properties !== undefined) { + this.configKeys.push(Object.keys(config.properties)); + } + } + }); - this.configurationService.getEnv().subscribe(configuration => { - this.allConfiguration = configuration; - }); - } + this.configurationService.getEnv().subscribe(configuration => { + this.allConfiguration = configuration; + }); + } } diff --git a/src/main/webapp/app/admin/configuration/configuration.route.ts b/src/main/webapp/app/admin/configuration/configuration.route.ts index 1ff61dfa5..051319aa8 100644 --- a/src/main/webapp/app/admin/configuration/configuration.route.ts +++ b/src/main/webapp/app/admin/configuration/configuration.route.ts @@ -3,9 +3,9 @@ import { Route } from '@angular/router'; import { JhiConfigurationComponent } from './configuration.component'; export const configurationRoute: Route = { - path: 'jhi-configuration', - component: JhiConfigurationComponent, - data: { - pageTitle: 'configuration.title' - } + path: 'jhi-configuration', + component: JhiConfigurationComponent, + data: { + pageTitle: 'configuration.title' + } }; diff --git a/src/main/webapp/app/admin/configuration/configuration.service.ts b/src/main/webapp/app/admin/configuration/configuration.service.ts index 30984660f..0b83efc86 100644 --- a/src/main/webapp/app/admin/configuration/configuration.service.ts +++ b/src/main/webapp/app/admin/configuration/configuration.service.ts @@ -7,61 +7,61 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class JhiConfigurationService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - get(): Observable { - return this.http.get(SERVER_API_URL + 'management/configprops', { observe: 'response' }).pipe( - map((res: HttpResponse) => { - const properties: any[] = []; - const propertiesObject = this.getConfigPropertiesObjects(res.body); - for (const key in propertiesObject) { - if (propertiesObject.hasOwnProperty(key)) { - properties.push(propertiesObject[key]); - } - } + get(): Observable { + return this.http.get(SERVER_API_URL + 'management/configprops', { observe: 'response' }).pipe( + map((res: HttpResponse) => { + const properties: any[] = []; + const propertiesObject = this.getConfigPropertiesObjects(res.body); + for (const key in propertiesObject) { + if (propertiesObject.hasOwnProperty(key)) { + properties.push(propertiesObject[key]); + } + } - return properties.sort((propertyA, propertyB) => { - return propertyA.prefix === propertyB.prefix ? 0 : propertyA.prefix < propertyB.prefix ? -1 : 1; - }); - }) - ); - } + return properties.sort((propertyA, propertyB) => { + return propertyA.prefix === propertyB.prefix ? 0 : propertyA.prefix < propertyB.prefix ? -1 : 1; + }); + }) + ); + } - getConfigPropertiesObjects(res: Object) { - // This code is for Spring Boot 2 - if (res['contexts'] !== undefined) { - for (const key in res['contexts']) { - // If the key is not bootstrap, it will be the ApplicationContext Id - // For default app, it is baseName - // For microservice, it is baseName-1 - if (!key.startsWith('bootstrap')) { - return res['contexts'][key]['beans']; - } - } + getConfigPropertiesObjects(res: Object) { + // This code is for Spring Boot 2 + if (res['contexts'] !== undefined) { + for (const key in res['contexts']) { + // If the key is not bootstrap, it will be the ApplicationContext Id + // For default app, it is baseName + // For microservice, it is baseName-1 + if (!key.startsWith('bootstrap')) { + return res['contexts'][key]['beans']; } - // by default, use the default ApplicationContext Id - return res['contexts']['jhipsterSampleApplication']['beans']; + } } + // by default, use the default ApplicationContext Id + return res['contexts']['jhipsterSampleApplication']['beans']; + } - getEnv(): Observable { - return this.http.get(SERVER_API_URL + 'management/env', { observe: 'response' }).pipe( - map((res: HttpResponse) => { - const properties: any = {}; - const propertySources = res.body['propertySources']; + getEnv(): Observable { + return this.http.get(SERVER_API_URL + 'management/env', { observe: 'response' }).pipe( + map((res: HttpResponse) => { + const properties: any = {}; + const propertySources = res.body['propertySources']; - for (const propertyObject of propertySources) { - const name = propertyObject['name']; - const detailProperties = propertyObject['properties']; - const vals: any[] = []; - for (const keyDetail in detailProperties) { - if (detailProperties.hasOwnProperty(keyDetail)) { - vals.push({ key: keyDetail, val: detailProperties[keyDetail]['value'] }); - } - } - properties[name] = vals; - } - return properties; - }) - ); - } + for (const propertyObject of propertySources) { + const name = propertyObject['name']; + const detailProperties = propertyObject['properties']; + const vals: any[] = []; + for (const keyDetail in detailProperties) { + if (detailProperties.hasOwnProperty(keyDetail)) { + vals.push({ key: keyDetail, val: detailProperties[keyDetail]['value'] }); + } + } + properties[name] = vals; + } + return properties; + }) + ); + } } diff --git a/src/main/webapp/app/admin/docs/docs.component.ts b/src/main/webapp/app/admin/docs/docs.component.ts index b338e7c3a..ed9634db3 100644 --- a/src/main/webapp/app/admin/docs/docs.component.ts +++ b/src/main/webapp/app/admin/docs/docs.component.ts @@ -1,9 +1,9 @@ import { Component } from '@angular/core'; @Component({ - selector: 'jhi-docs', - templateUrl: './docs.component.html' + selector: 'jhi-docs', + templateUrl: './docs.component.html' }) export class JhiDocsComponent { - constructor() {} + constructor() {} } diff --git a/src/main/webapp/app/admin/docs/docs.route.ts b/src/main/webapp/app/admin/docs/docs.route.ts index 9a3a3f80c..4dd5eba45 100644 --- a/src/main/webapp/app/admin/docs/docs.route.ts +++ b/src/main/webapp/app/admin/docs/docs.route.ts @@ -3,9 +3,9 @@ import { Route } from '@angular/router'; import { JhiDocsComponent } from './docs.component'; export const docsRoute: Route = { - path: 'docs', - component: JhiDocsComponent, - data: { - pageTitle: 'global.menu.admin.apidocs' - } + path: 'docs', + component: JhiDocsComponent, + data: { + pageTitle: 'global.menu.admin.apidocs' + } }; diff --git a/src/main/webapp/app/admin/health/health-modal.component.ts b/src/main/webapp/app/admin/health/health-modal.component.ts index 28128bf32..81e0be869 100644 --- a/src/main/webapp/app/admin/health/health-modal.component.ts +++ b/src/main/webapp/app/admin/health/health-modal.component.ts @@ -4,38 +4,38 @@ import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { JhiHealthService } from './health.service'; @Component({ - selector: 'jhi-health-modal', - templateUrl: './health-modal.component.html' + selector: 'jhi-health-modal', + templateUrl: './health-modal.component.html' }) export class JhiHealthModalComponent { - currentHealth: any; + currentHealth: any; - constructor(private healthService: JhiHealthService, public activeModal: NgbActiveModal) {} + constructor(private healthService: JhiHealthService, public activeModal: NgbActiveModal) {} - baseName(name) { - return this.healthService.getBaseName(name); - } + baseName(name) { + return this.healthService.getBaseName(name); + } - subSystemName(name) { - return this.healthService.getSubSystemName(name); - } + subSystemName(name) { + return this.healthService.getSubSystemName(name); + } - readableValue(value: number) { - if (this.currentHealth.name === 'diskSpace') { - // Should display storage space in an human readable unit - const val = value / 1073741824; - if (val > 1) { - // Value - return val.toFixed(2) + ' GB'; - } else { - return (value / 1048576).toFixed(2) + ' MB'; - } - } + readableValue(value: number) { + if (this.currentHealth.name === 'diskSpace') { + // Should display storage space in an human readable unit + const val = value / 1073741824; + if (val > 1) { + // Value + return val.toFixed(2) + ' GB'; + } else { + return (value / 1048576).toFixed(2) + ' MB'; + } + } - if (typeof value === 'object') { - return JSON.stringify(value); - } else { - return value.toString(); - } + if (typeof value === 'object') { + return JSON.stringify(value); + } else { + return value.toString(); } + } } diff --git a/src/main/webapp/app/admin/health/health.component.ts b/src/main/webapp/app/admin/health/health.component.ts index ada3ef62f..1c14fb07c 100644 --- a/src/main/webapp/app/admin/health/health.component.ts +++ b/src/main/webapp/app/admin/health/health.component.ts @@ -5,62 +5,62 @@ import { JhiHealthService } from './health.service'; import { JhiHealthModalComponent } from './health-modal.component'; @Component({ - selector: 'jhi-health', - templateUrl: './health.component.html' + selector: 'jhi-health', + templateUrl: './health.component.html' }) export class JhiHealthCheckComponent implements OnInit { - healthData: any; - updatingHealth: boolean; + healthData: any; + updatingHealth: boolean; - constructor(private modalService: NgbModal, private healthService: JhiHealthService) {} + constructor(private modalService: NgbModal, private healthService: JhiHealthService) {} - ngOnInit() { - this.refresh(); - } + ngOnInit() { + this.refresh(); + } - baseName(name: string) { - return this.healthService.getBaseName(name); - } + baseName(name: string) { + return this.healthService.getBaseName(name); + } - getBadgeClass(statusState) { - if (statusState === 'UP') { - return 'badge-success'; - } else { - return 'badge-danger'; - } + getBadgeClass(statusState) { + if (statusState === 'UP') { + return 'badge-success'; + } else { + return 'badge-danger'; } + } - refresh() { - this.updatingHealth = true; + refresh() { + this.updatingHealth = true; - this.healthService.checkHealth().subscribe( - health => { - this.healthData = this.healthService.transformHealthData(health); - this.updatingHealth = false; - }, - error => { - if (error.status === 503) { - this.healthData = this.healthService.transformHealthData(error.error); - this.updatingHealth = false; - } - } - ); - } + this.healthService.checkHealth().subscribe( + health => { + this.healthData = this.healthService.transformHealthData(health); + this.updatingHealth = false; + }, + error => { + if (error.status === 503) { + this.healthData = this.healthService.transformHealthData(error.error); + this.updatingHealth = false; + } + } + ); + } - showHealth(health: any) { - const modalRef = this.modalService.open(JhiHealthModalComponent); - modalRef.componentInstance.currentHealth = health; - modalRef.result.then( - result => { - // Left blank intentionally, nothing to do here - }, - reason => { - // Left blank intentionally, nothing to do here - } - ); - } + showHealth(health: any) { + const modalRef = this.modalService.open(JhiHealthModalComponent); + modalRef.componentInstance.currentHealth = health; + modalRef.result.then( + result => { + // Left blank intentionally, nothing to do here + }, + reason => { + // Left blank intentionally, nothing to do here + } + ); + } - subSystemName(name: string) { - return this.healthService.getSubSystemName(name); - } + subSystemName(name: string) { + return this.healthService.getSubSystemName(name); + } } diff --git a/src/main/webapp/app/admin/health/health.route.ts b/src/main/webapp/app/admin/health/health.route.ts index df801e0c0..8578f95a3 100644 --- a/src/main/webapp/app/admin/health/health.route.ts +++ b/src/main/webapp/app/admin/health/health.route.ts @@ -3,9 +3,9 @@ import { Route } from '@angular/router'; import { JhiHealthCheckComponent } from './health.component'; export const healthRoute: Route = { - path: 'jhi-health', - component: JhiHealthCheckComponent, - data: { - pageTitle: 'health.title' - } + path: 'jhi-health', + component: JhiHealthCheckComponent, + data: { + pageTitle: 'health.title' + } }; diff --git a/src/main/webapp/app/admin/health/health.service.ts b/src/main/webapp/app/admin/health/health.service.ts index 4c1b0e5ec..a00cad7d8 100644 --- a/src/main/webapp/app/admin/health/health.service.ts +++ b/src/main/webapp/app/admin/health/health.service.ts @@ -6,128 +6,128 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class JhiHealthService { - separator: string; - - constructor(private http: HttpClient) { - this.separator = '.'; - } - - checkHealth(): Observable { - return this.http.get(SERVER_API_URL + 'management/health'); + separator: string; + + constructor(private http: HttpClient) { + this.separator = '.'; + } + + checkHealth(): Observable { + return this.http.get(SERVER_API_URL + 'management/health'); + } + + transformHealthData(data): any { + const response = []; + this.flattenHealthData(response, null, data.details); + return response; + } + + getBaseName(name): string { + if (name) { + const split = name.split('.'); + return split[0]; } - - transformHealthData(data): any { - const response = []; - this.flattenHealthData(response, null, data.details); - return response; + } + + getSubSystemName(name): string { + if (name) { + const split = name.split('.'); + split.splice(0, 1); + const remainder = split.join('.'); + return remainder ? ' - ' + remainder : ''; } - - getBaseName(name): string { - if (name) { - const split = name.split('.'); - return split[0]; + } + + /* private methods */ + private addHealthObject(result, isLeaf, healthObject, name): any { + const healthData: any = { + name + }; + + const details = {}; + let hasDetails = false; + + for (const key in healthObject) { + if (healthObject.hasOwnProperty(key)) { + const value = healthObject[key]; + if (key === 'status' || key === 'error') { + healthData[key] = value; + } else { + if (!this.isHealthObject(value)) { + details[key] = value; + hasDetails = true; + } } + } } - getSubSystemName(name): string { - if (name) { - const split = name.split('.'); - split.splice(0, 1); - const remainder = split.join('.'); - return remainder ? ' - ' + remainder : ''; - } + // Add the details + if (hasDetails) { + healthData.details = details; } - /* private methods */ - private addHealthObject(result, isLeaf, healthObject, name): any { - const healthData: any = { - name - }; - - const details = {}; - let hasDetails = false; - - for (const key in healthObject) { - if (healthObject.hasOwnProperty(key)) { - const value = healthObject[key]; - if (key === 'status' || key === 'error') { - healthData[key] = value; - } else { - if (!this.isHealthObject(value)) { - details[key] = value; - hasDetails = true; - } - } - } - } - - // Add the details - if (hasDetails) { - healthData.details = details; - } - - // Only add nodes if they provide additional information - if (isLeaf || hasDetails || healthData.error) { - result.push(healthData); - } - return healthData; + // Only add nodes if they provide additional information + if (isLeaf || hasDetails || healthData.error) { + result.push(healthData); } - - private flattenHealthData(result, path, data): any { - for (const key in data) { - if (data.hasOwnProperty(key)) { - const value = data[key]; - if (this.isHealthObject(value)) { - if (this.hasSubSystem(value)) { - this.addHealthObject(result, false, value, this.getModuleName(path, key)); - this.flattenHealthData(result, this.getModuleName(path, key), value); - } else { - this.addHealthObject(result, true, value, this.getModuleName(path, key)); - } - } - } + return healthData; + } + + private flattenHealthData(result, path, data): any { + for (const key in data) { + if (data.hasOwnProperty(key)) { + const value = data[key]; + if (this.isHealthObject(value)) { + if (this.hasSubSystem(value)) { + this.addHealthObject(result, false, value, this.getModuleName(path, key)); + this.flattenHealthData(result, this.getModuleName(path, key), value); + } else { + this.addHealthObject(result, true, value, this.getModuleName(path, key)); + } } - return result; + } } - - private getModuleName(path, name): string { - let result; - if (path && name) { - result = path + this.separator + name; - } else if (path) { - result = path; - } else if (name) { - result = name; - } else { - result = ''; - } - return result; + return result; + } + + private getModuleName(path, name): string { + let result; + if (path && name) { + result = path + this.separator + name; + } else if (path) { + result = path; + } else if (name) { + result = name; + } else { + result = ''; } + return result; + } - private hasSubSystem(healthObject): boolean { - let result = false; + private hasSubSystem(healthObject): boolean { + let result = false; - for (const key in healthObject) { - if (healthObject.hasOwnProperty(key)) { - const value = healthObject[key]; - if (value && value.status) { - result = true; - } - } + for (const key in healthObject) { + if (healthObject.hasOwnProperty(key)) { + const value = healthObject[key]; + if (value && value.status) { + result = true; } - return result; + } } + return result; + } - private isHealthObject(healthObject): boolean { - let result = false; + private isHealthObject(healthObject): boolean { + let result = false; - for (const key in healthObject) { - if (healthObject.hasOwnProperty(key)) { - if (key === 'status') { - result = true; - } - } + for (const key in healthObject) { + if (healthObject.hasOwnProperty(key)) { + if (key === 'status') { + result = true; } - return result; + } } + return result; + } } diff --git a/src/main/webapp/app/admin/logs/log.model.ts b/src/main/webapp/app/admin/logs/log.model.ts index 3f27b6728..4d7dbd762 100644 --- a/src/main/webapp/app/admin/logs/log.model.ts +++ b/src/main/webapp/app/admin/logs/log.model.ts @@ -1,3 +1,3 @@ export class Log { - constructor(public name: string, public level: string) {} + constructor(public name: string, public level: string) {} } diff --git a/src/main/webapp/app/admin/logs/logs.component.ts b/src/main/webapp/app/admin/logs/logs.component.ts index 28547f9ae..f9c635eb6 100644 --- a/src/main/webapp/app/admin/logs/logs.component.ts +++ b/src/main/webapp/app/admin/logs/logs.component.ts @@ -4,29 +4,32 @@ import { Log } from './log.model'; import { LogsService } from './logs.service'; @Component({ - selector: 'jhi-logs', - templateUrl: './logs.component.html' + selector: 'jhi-logs', + templateUrl: './logs.component.html' }) export class LogsComponent implements OnInit { - loggers: Log[]; - filter: string; - orderProp: string; - reverse: boolean; + loggers: Log[]; + filter: string; + orderProp: string; + reverse: boolean; - constructor(private logsService: LogsService) { - this.filter = ''; - this.orderProp = 'name'; - this.reverse = false; - } + constructor(private logsService: LogsService) { + this.filter = ''; + this.orderProp = 'name'; + this.reverse = false; + } - ngOnInit() { - this.logsService.findAll().subscribe(response => (this.loggers = response.body)); - } + ngOnInit() { + this.logsService.findAll().subscribe(response => this.extractLoggers(response)); + } - changeLevel(name: string, level: string) { - const log = new Log(name, level); - this.logsService.changeLevel(log).subscribe(() => { - this.logsService.findAll().subscribe(response => (this.loggers = response.body)); - }); - } + changeLevel(name: string, level: string) { + this.logsService.changeLevel(name, level).subscribe(() => { + this.logsService.findAll().subscribe(response => this.extractLoggers(response)); + }); + } + + private extractLoggers(response) { + this.loggers = Object.entries(response.body.loggers).map(e => new Log(e[0], e[1]['effectiveLevel'])); + } } diff --git a/src/main/webapp/app/admin/logs/logs.route.ts b/src/main/webapp/app/admin/logs/logs.route.ts index 1de755c75..100b22a97 100644 --- a/src/main/webapp/app/admin/logs/logs.route.ts +++ b/src/main/webapp/app/admin/logs/logs.route.ts @@ -3,9 +3,9 @@ import { Route } from '@angular/router'; import { LogsComponent } from './logs.component'; export const logsRoute: Route = { - path: 'logs', - component: LogsComponent, - data: { - pageTitle: 'logs.title' - } + path: 'logs', + component: LogsComponent, + data: { + pageTitle: 'logs.title' + } }; diff --git a/src/main/webapp/app/admin/logs/logs.service.ts b/src/main/webapp/app/admin/logs/logs.service.ts index 71a596b0a..6c6644d28 100644 --- a/src/main/webapp/app/admin/logs/logs.service.ts +++ b/src/main/webapp/app/admin/logs/logs.service.ts @@ -3,17 +3,16 @@ import { HttpClient, HttpResponse } from '@angular/common/http'; import { Observable } from 'rxjs'; import { SERVER_API_URL } from 'app/app.constants'; -import { Log } from './log.model'; @Injectable({ providedIn: 'root' }) export class LogsService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - changeLevel(log: Log): Observable> { - return this.http.put(SERVER_API_URL + 'management/logs', log, { observe: 'response' }); - } + changeLevel(name: string, configuredLevel: string): Observable> { + return this.http.post(SERVER_API_URL + 'management/loggers/' + name, { configuredLevel }, { observe: 'response' }); + } - findAll(): Observable> { - return this.http.get(SERVER_API_URL + 'management/logs', { observe: 'response' }); - } + findAll(): Observable> { + return this.http.get(SERVER_API_URL + 'management/loggers', { observe: 'response' }); + } } diff --git a/src/main/webapp/app/admin/metrics/metrics.component.ts b/src/main/webapp/app/admin/metrics/metrics.component.ts index ed508c818..8e860a6c5 100644 --- a/src/main/webapp/app/admin/metrics/metrics.component.ts +++ b/src/main/webapp/app/admin/metrics/metrics.component.ts @@ -4,39 +4,39 @@ import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { JhiMetricsService } from './metrics.service'; @Component({ - selector: 'jhi-metrics', - templateUrl: './metrics.component.html' + selector: 'jhi-metrics', + templateUrl: './metrics.component.html' }) export class JhiMetricsMonitoringComponent implements OnInit { - metrics: any = {}; - threadData: any = {}; - updatingMetrics = true; - JCACHE_KEY: string; + metrics: any = {}; + threadData: any = {}; + updatingMetrics = true; + JCACHE_KEY: string; - constructor(private modalService: NgbModal, private metricsService: JhiMetricsService) { - this.JCACHE_KEY = 'jcache.statistics'; - } + constructor(private modalService: NgbModal, private metricsService: JhiMetricsService) { + this.JCACHE_KEY = 'jcache.statistics'; + } - ngOnInit() { - this.refresh(); - } + ngOnInit() { + this.refresh(); + } - refresh() { - this.updatingMetrics = true; - this.metricsService.getMetrics().subscribe(metrics => { - this.metrics = metrics; - this.metricsService.threadDump().subscribe(data => { - this.threadData = data.threads; - this.updatingMetrics = false; - }); - }); - } + refresh() { + this.updatingMetrics = true; + this.metricsService.getMetrics().subscribe(metrics => { + this.metrics = metrics; + this.metricsService.threadDump().subscribe(data => { + this.threadData = data.threads; + this.updatingMetrics = false; + }); + }); + } - isObjectExisting(metrics: any, key: string) { - return metrics && metrics[key]; - } + isObjectExisting(metrics: any, key: string) { + return metrics && metrics[key]; + } - isObjectExistingAndNotEmpty(metrics: any, key: string) { - return this.isObjectExisting(metrics, key) && JSON.stringify(metrics[key]) !== '{}'; - } + isObjectExistingAndNotEmpty(metrics: any, key: string) { + return this.isObjectExisting(metrics, key) && JSON.stringify(metrics[key]) !== '{}'; + } } diff --git a/src/main/webapp/app/admin/metrics/metrics.route.ts b/src/main/webapp/app/admin/metrics/metrics.route.ts index ba8f59363..f59779ecf 100644 --- a/src/main/webapp/app/admin/metrics/metrics.route.ts +++ b/src/main/webapp/app/admin/metrics/metrics.route.ts @@ -3,9 +3,9 @@ import { Route } from '@angular/router'; import { JhiMetricsMonitoringComponent } from './metrics.component'; export const metricsRoute: Route = { - path: 'jhi-metrics', - component: JhiMetricsMonitoringComponent, - data: { - pageTitle: 'metrics.title' - } + path: 'jhi-metrics', + component: JhiMetricsMonitoringComponent, + data: { + pageTitle: 'metrics.title' + } }; diff --git a/src/main/webapp/app/admin/metrics/metrics.service.ts b/src/main/webapp/app/admin/metrics/metrics.service.ts index 15cfe3536..93219b273 100644 --- a/src/main/webapp/app/admin/metrics/metrics.service.ts +++ b/src/main/webapp/app/admin/metrics/metrics.service.ts @@ -6,13 +6,13 @@ import { SERVER_API_URL } from 'app/app.constants'; @Injectable({ providedIn: 'root' }) export class JhiMetricsService { - constructor(private http: HttpClient) {} + constructor(private http: HttpClient) {} - getMetrics(): Observable { - return this.http.get(SERVER_API_URL + 'management/jhi-metrics'); - } + getMetrics(): Observable { + return this.http.get(SERVER_API_URL + 'management/jhimetrics'); + } - threadDump(): Observable { - return this.http.get(SERVER_API_URL + 'management/threaddump'); - } + threadDump(): Observable { + return this.http.get(SERVER_API_URL + 'management/threaddump'); + } } diff --git a/src/main/webapp/app/admin/user-management/user-management-delete-dialog.component.ts b/src/main/webapp/app/admin/user-management/user-management-delete-dialog.component.ts index d7674f6cd..4e8ed3f40 100644 --- a/src/main/webapp/app/admin/user-management/user-management-delete-dialog.component.ts +++ b/src/main/webapp/app/admin/user-management/user-management-delete-dialog.component.ts @@ -5,25 +5,22 @@ import { JhiEventManager } from 'ng-jhipster'; import { User, UserService } from 'app/core'; @Component({ - selector: 'jhi-user-mgmt-delete-dialog', - templateUrl: './user-management-delete-dialog.component.html' + selector: 'jhi-user-mgmt-delete-dialog', + templateUrl: './user-management-delete-dialog.component.html' }) export class UserMgmtDeleteDialogComponent { - user: User; + user: User; - constructor(private userService: UserService, public activeModal: NgbActiveModal, private eventManager: JhiEventManager) {} + constructor(private userService: UserService, public activeModal: NgbActiveModal, private eventManager: JhiEventManager) {} - clear() { - this.activeModal.dismiss('cancel'); - } + clear() { + this.activeModal.dismiss('cancel'); + } - confirmDelete(login) { - this.userService.delete(login).subscribe(response => { - this.eventManager.broadcast({ - name: 'userListModification', - content: 'Deleted a user' - }); - this.activeModal.dismiss(true); - }); - } + confirmDelete(login) { + this.userService.delete(login).subscribe(response => { + this.eventManager.broadcast({ name: 'userListModification', content: 'Deleted a user' }); + this.activeModal.close(true); + }); + } } diff --git a/src/main/webapp/app/admin/user-management/user-management-detail.component.ts b/src/main/webapp/app/admin/user-management/user-management-detail.component.ts index 0b323d89a..473951dab 100644 --- a/src/main/webapp/app/admin/user-management/user-management-detail.component.ts +++ b/src/main/webapp/app/admin/user-management/user-management-detail.component.ts @@ -4,17 +4,17 @@ import { ActivatedRoute } from '@angular/router'; import { User } from 'app/core'; @Component({ - selector: 'jhi-user-mgmt-detail', - templateUrl: './user-management-detail.component.html' + selector: 'jhi-user-mgmt-detail', + templateUrl: './user-management-detail.component.html' }) export class UserMgmtDetailComponent implements OnInit { - user: User; + user: User; - constructor(private route: ActivatedRoute) {} + constructor(private route: ActivatedRoute) {} - ngOnInit() { - this.route.data.subscribe(({ user }) => { - this.user = user.body ? user.body : user; - }); - } + ngOnInit() { + this.route.data.subscribe(({ user }) => { + this.user = user.body ? user.body : user; + }); + } } diff --git a/src/main/webapp/app/admin/user-management/user-management-update.component.html b/src/main/webapp/app/admin/user-management/user-management-update.component.html index 91596c7ce..3c29012fc 100644 --- a/src/main/webapp/app/admin/user-management/user-management-update.component.html +++ b/src/main/webapp/app/admin/user-management/user-management-update.component.html @@ -1,6 +1,6 @@
-
+

Create or edit a User

@@ -8,41 +8,40 @@

- +
- + -
+
+ *ngIf="editForm.get('login').errors.required" jhiTranslate="entity.validation.required"> This field is required. This field cannot be longer than 50 characters. + *ngIf="editForm.get('login').errors.pattern" jhiTranslate="entity.validation.patternLogin"> This field can only contain letters, digits and e-mail addresses.
- + -
+
This field cannot be longer than 50 characters. @@ -50,12 +49,12 @@

- + -
+
This field cannot be longer than 50 characters. @@ -63,49 +62,48 @@

- + -
+
+ *ngIf="editForm.get('email').errors.required" jhiTranslate="entity.validation.required"> This field is required. This field cannot be longer than 100 characters. This field is required to be at least 5 characters. + *ngIf="editForm.get('email').errors.email" jhiTranslate="global.messages.validate.email.invalid"> Your email is invalid.
-
-
@@ -115,7 +113,7 @@

 Cancel -

diff --git a/src/main/webapp/app/admin/user-management/user-management-update.component.ts b/src/main/webapp/app/admin/user-management/user-management-update.component.ts index 84e06c5bd..81d7e87f9 100644 --- a/src/main/webapp/app/admin/user-management/user-management-update.component.ts +++ b/src/main/webapp/app/admin/user-management/user-management-update.component.ts @@ -1,58 +1,96 @@ import { Component, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { ActivatedRoute, Router } from '@angular/router'; import { JhiLanguageHelper, User, UserService } from 'app/core'; @Component({ - selector: 'jhi-user-mgmt-update', - templateUrl: './user-management-update.component.html' + selector: 'jhi-user-mgmt-update', + templateUrl: './user-management-update.component.html' }) export class UserMgmtUpdateComponent implements OnInit { - user: User; - languages: any[]; - authorities: any[]; - isSaving: boolean; - - constructor( - private languageHelper: JhiLanguageHelper, - private userService: UserService, - private route: ActivatedRoute, - private router: Router - ) {} - - ngOnInit() { - this.isSaving = false; - this.route.data.subscribe(({ user }) => { - this.user = user.body ? user.body : user; - }); - this.authorities = []; - this.userService.authorities().subscribe(authorities => { - this.authorities = authorities; - }); - this.languageHelper.getAll().then(languages => { - this.languages = languages; - }); - } + user: User; + languages: any[]; + authorities: any[]; + isSaving: boolean; - previousState() { - window.history.back(); - } + editForm = this.fb.group({ + id: [null], + login: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(50), Validators.pattern('^[_.@A-Za-z0-9-]*')]], + firstName: ['', [Validators.maxLength(50)]], + lastName: ['', [Validators.maxLength(50)]], + email: ['', [Validators.minLength(5), Validators.maxLength(254), Validators.email]], + activated: [true], + langKey: [], + authorities: [] + }); - save() { - this.isSaving = true; - if (this.user.id !== null) { - this.userService.update(this.user).subscribe(response => this.onSaveSuccess(response), () => this.onSaveError()); - } else { - this.userService.create(this.user).subscribe(response => this.onSaveSuccess(response), () => this.onSaveError()); - } - } + constructor( + private languageHelper: JhiLanguageHelper, + private userService: UserService, + private route: ActivatedRoute, + private router: Router, + private fb: FormBuilder + ) {} - private onSaveSuccess(result) { - this.isSaving = false; - this.previousState(); - } + ngOnInit() { + this.isSaving = false; + this.route.data.subscribe(({ user }) => { + this.user = user.body ? user.body : user; + this.updateForm(this.user); + }); + this.authorities = []; + this.userService.authorities().subscribe(authorities => { + this.authorities = authorities; + }); + this.languageHelper.getAll().then(languages => { + this.languages = languages; + }); + } + + private updateForm(user: User): void { + this.editForm.patchValue({ + id: user.id, + login: user.login, + firstName: user.firstName, + lastName: user.lastName, + email: user.email, + activated: user.activated, + langKey: user.langKey, + authorities: user.authorities + }); + } - private onSaveError() { - this.isSaving = false; + previousState() { + window.history.back(); + } + + save() { + this.isSaving = true; + this.updateUser(this.user); + if (this.user.id !== null) { + this.userService.update(this.user).subscribe(response => this.onSaveSuccess(response), () => this.onSaveError()); + } else { + this.userService.create(this.user).subscribe(response => this.onSaveSuccess(response), () => this.onSaveError()); } + } + + private updateUser(user: User): void { + user.login = this.editForm.get(['login']).value; + user.firstName = this.editForm.get(['firstName']).value; + user.lastName = this.editForm.get(['lastName']).value; + user.email = this.editForm.get(['email']).value; + user.activated = this.editForm.get(['activated']).value; + user.langKey = this.editForm.get(['langKey']).value; + user.authorities = this.editForm.get(['authorities']).value; + } + + private onSaveSuccess(result) { + this.isSaving = false; + this.previousState(); + } + + private onSaveError() { + this.isSaving = false; + } } diff --git a/src/main/webapp/app/admin/user-management/user-management.component.html b/src/main/webapp/app/admin/user-management/user-management.component.html index 9f387b0b0..f58d94521 100644 --- a/src/main/webapp/app/admin/user-management/user-management.component.html +++ b/src/main/webapp/app/admin/user-management/user-management.component.html @@ -43,7 +43,7 @@

{{user.lastModifiedBy}} {{user.lastModifiedDate | date:'dd/MM/yy HH:mm'}} -
+
-
diff --git a/src/main/webapp/app/entities/bank-account/bank-account-update.component.ts b/src/main/webapp/app/entities/bank-account/bank-account-update.component.ts index d9f240117..dfda96545 100644 --- a/src/main/webapp/app/entities/bank-account/bank-account-update.component.ts +++ b/src/main/webapp/app/entities/bank-account/bank-account-update.component.ts @@ -1,75 +1,105 @@ import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; import { HttpResponse, HttpErrorResponse } from '@angular/common/http'; +import { FormBuilder, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; import { filter, map } from 'rxjs/operators'; import { JhiAlertService } from 'ng-jhipster'; -import { IBankAccount } from 'app/shared/model/bank-account.model'; +import { IBankAccount, BankAccount } from 'app/shared/model/bank-account.model'; import { BankAccountService } from './bank-account.service'; import { IUser, UserService } from 'app/core'; @Component({ - selector: 'jhi-bank-account-update', - templateUrl: './bank-account-update.component.html' + selector: 'jhi-bank-account-update', + templateUrl: './bank-account-update.component.html' }) export class BankAccountUpdateComponent implements OnInit { - bankAccount: IBankAccount; - isSaving: boolean; + bankAccount: IBankAccount; + isSaving: boolean; - users: IUser[]; + users: IUser[]; - constructor( - protected jhiAlertService: JhiAlertService, - protected bankAccountService: BankAccountService, - protected userService: UserService, - protected activatedRoute: ActivatedRoute - ) {} + editForm = this.fb.group({ + id: [], + name: [null, [Validators.required]], + balance: [null, [Validators.required]], + user: [] + }); - ngOnInit() { - this.isSaving = false; - this.activatedRoute.data.subscribe(({ bankAccount }) => { - this.bankAccount = bankAccount; - }); - this.userService - .query() - .pipe( - filter((mayBeOk: HttpResponse) => mayBeOk.ok), - map((response: HttpResponse) => response.body) - ) - .subscribe((res: IUser[]) => (this.users = res), (res: HttpErrorResponse) => this.onError(res.message)); - } + constructor( + protected jhiAlertService: JhiAlertService, + protected bankAccountService: BankAccountService, + protected userService: UserService, + protected activatedRoute: ActivatedRoute, + private fb: FormBuilder + ) {} - previousState() { - window.history.back(); - } + ngOnInit() { + this.isSaving = false; + this.activatedRoute.data.subscribe(({ bankAccount }) => { + this.updateForm(bankAccount); + this.bankAccount = bankAccount; + }); + this.userService + .query() + .pipe( + filter((mayBeOk: HttpResponse) => mayBeOk.ok), + map((response: HttpResponse) => response.body) + ) + .subscribe((res: IUser[]) => (this.users = res), (res: HttpErrorResponse) => this.onError(res.message)); + } - save() { - this.isSaving = true; - if (this.bankAccount.id !== undefined) { - this.subscribeToSaveResponse(this.bankAccountService.update(this.bankAccount)); - } else { - this.subscribeToSaveResponse(this.bankAccountService.create(this.bankAccount)); - } - } + updateForm(bankAccount: IBankAccount) { + this.editForm.patchValue({ + id: bankAccount.id, + name: bankAccount.name, + balance: bankAccount.balance, + user: bankAccount.user + }); + } - protected subscribeToSaveResponse(result: Observable>) { - result.subscribe((res: HttpResponse) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); - } + previousState() { + window.history.back(); + } - protected onSaveSuccess() { - this.isSaving = false; - this.previousState(); + save() { + this.isSaving = true; + const bankAccount = this.createFromForm(); + if (bankAccount.id !== undefined) { + this.subscribeToSaveResponse(this.bankAccountService.update(bankAccount)); + } else { + this.subscribeToSaveResponse(this.bankAccountService.create(bankAccount)); } + } - protected onSaveError() { - this.isSaving = false; - } + private createFromForm(): IBankAccount { + const entity = { + ...new BankAccount(), + id: this.editForm.get(['id']).value, + name: this.editForm.get(['name']).value, + balance: this.editForm.get(['balance']).value, + user: this.editForm.get(['user']).value + }; + return entity; + } - protected onError(errorMessage: string) { - this.jhiAlertService.error(errorMessage, null, null); - } + protected subscribeToSaveResponse(result: Observable>) { + result.subscribe((res: HttpResponse) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); + } - trackUserById(index: number, item: IUser) { - return item.id; - } + protected onSaveSuccess() { + this.isSaving = false; + this.previousState(); + } + + protected onSaveError() { + this.isSaving = false; + } + protected onError(errorMessage: string) { + this.jhiAlertService.error(errorMessage, null, null); + } + + trackUserById(index: number, item: IUser) { + return item.id; + } } diff --git a/src/main/webapp/app/entities/bank-account/bank-account.component.html b/src/main/webapp/app/entities/bank-account/bank-account.component.html index ce26e8f5d..cd1c8a1a2 100644 --- a/src/main/webapp/app/entities/bank-account/bank-account.component.html +++ b/src/main/webapp/app/entities/bank-account/bank-account.component.html @@ -30,7 +30,7 @@

{{bankAccount.user?.login}} -
+
-
diff --git a/src/main/webapp/app/entities/label/label-update.component.ts b/src/main/webapp/app/entities/label/label-update.component.ts index 0fc1a44c4..1e2190d5c 100644 --- a/src/main/webapp/app/entities/label/label-update.component.ts +++ b/src/main/webapp/app/entities/label/label-update.component.ts @@ -1,87 +1,111 @@ import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; import { HttpResponse, HttpErrorResponse } from '@angular/common/http'; +import { FormBuilder, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; import { filter, map } from 'rxjs/operators'; import { JhiAlertService } from 'ng-jhipster'; -import { ILabel } from 'app/shared/model/label.model'; +import { ILabel, Label } from 'app/shared/model/label.model'; import { LabelService } from './label.service'; import { IOperation } from 'app/shared/model/operation.model'; import { OperationService } from 'app/entities/operation'; @Component({ - selector: 'jhi-label-update', - templateUrl: './label-update.component.html' + selector: 'jhi-label-update', + templateUrl: './label-update.component.html' }) export class LabelUpdateComponent implements OnInit { - label: ILabel; - isSaving: boolean; + label: ILabel; + isSaving: boolean; - operations: IOperation[]; + operations: IOperation[]; - constructor( - protected jhiAlertService: JhiAlertService, - protected labelService: LabelService, - protected operationService: OperationService, - protected activatedRoute: ActivatedRoute - ) {} + editForm = this.fb.group({ + id: [], + label: [null, [Validators.required, Validators.minLength(3)]] + }); - ngOnInit() { - this.isSaving = false; - this.activatedRoute.data.subscribe(({ label }) => { - this.label = label; - }); - this.operationService - .query() - .pipe( - filter((mayBeOk: HttpResponse) => mayBeOk.ok), - map((response: HttpResponse) => response.body) - ) - .subscribe((res: IOperation[]) => (this.operations = res), (res: HttpErrorResponse) => this.onError(res.message)); - } + constructor( + protected jhiAlertService: JhiAlertService, + protected labelService: LabelService, + protected operationService: OperationService, + protected activatedRoute: ActivatedRoute, + private fb: FormBuilder + ) {} - previousState() { - window.history.back(); - } + ngOnInit() { + this.isSaving = false; + this.activatedRoute.data.subscribe(({ label }) => { + this.updateForm(label); + this.label = label; + }); + this.operationService + .query() + .pipe( + filter((mayBeOk: HttpResponse) => mayBeOk.ok), + map((response: HttpResponse) => response.body) + ) + .subscribe((res: IOperation[]) => (this.operations = res), (res: HttpErrorResponse) => this.onError(res.message)); + } - save() { - this.isSaving = true; - if (this.label.id !== undefined) { - this.subscribeToSaveResponse(this.labelService.update(this.label)); - } else { - this.subscribeToSaveResponse(this.labelService.create(this.label)); - } - } + updateForm(label: ILabel) { + this.editForm.patchValue({ + id: label.id, + label: label.label + }); + } - protected subscribeToSaveResponse(result: Observable>) { - result.subscribe((res: HttpResponse) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); - } + previousState() { + window.history.back(); + } - protected onSaveSuccess() { - this.isSaving = false; - this.previousState(); + save() { + this.isSaving = true; + const label = this.createFromForm(); + if (label.id !== undefined) { + this.subscribeToSaveResponse(this.labelService.update(label)); + } else { + this.subscribeToSaveResponse(this.labelService.create(label)); } + } - protected onSaveError() { - this.isSaving = false; - } + private createFromForm(): ILabel { + const entity = { + ...new Label(), + id: this.editForm.get(['id']).value, + label: this.editForm.get(['label']).value + }; + return entity; + } - protected onError(errorMessage: string) { - this.jhiAlertService.error(errorMessage, null, null); - } + protected subscribeToSaveResponse(result: Observable>) { + result.subscribe((res: HttpResponse) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); + } - trackOperationById(index: number, item: IOperation) { - return item.id; - } + protected onSaveSuccess() { + this.isSaving = false; + this.previousState(); + } + + protected onSaveError() { + this.isSaving = false; + } + protected onError(errorMessage: string) { + this.jhiAlertService.error(errorMessage, null, null); + } + + trackOperationById(index: number, item: IOperation) { + return item.id; + } - getSelected(selectedVals: Array, option: any) { - if (selectedVals) { - for (let i = 0; i < selectedVals.length; i++) { - if (option.id === selectedVals[i].id) { - return selectedVals[i]; - } - } + getSelected(selectedVals: Array, option: any) { + if (selectedVals) { + for (let i = 0; i < selectedVals.length; i++) { + if (option.id === selectedVals[i].id) { + return selectedVals[i]; } - return option; + } } + return option; + } } diff --git a/src/main/webapp/app/entities/label/label.component.html b/src/main/webapp/app/entities/label/label.component.html index 4dd360d70..cda6516e3 100644 --- a/src/main/webapp/app/entities/label/label.component.html +++ b/src/main/webapp/app/entities/label/label.component.html @@ -24,7 +24,7 @@

{{label.id}} {{label.label}} -
+
-
diff --git a/src/main/webapp/app/entities/operation/operation-update.component.ts b/src/main/webapp/app/entities/operation/operation-update.component.ts index 3b3f30eed..cacb076a8 100644 --- a/src/main/webapp/app/entities/operation/operation-update.component.ts +++ b/src/main/webapp/app/entities/operation/operation-update.component.ts @@ -1,12 +1,13 @@ import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute } from '@angular/router'; import { HttpResponse, HttpErrorResponse } from '@angular/common/http'; +import { FormBuilder, Validators } from '@angular/forms'; +import { ActivatedRoute } from '@angular/router'; import { Observable } from 'rxjs'; import { filter, map } from 'rxjs/operators'; import * as moment from 'moment'; import { DATE_TIME_FORMAT } from 'app/shared/constants/input.constants'; import { JhiAlertService } from 'ng-jhipster'; -import { IOperation } from 'app/shared/model/operation.model'; +import { IOperation, Operation } from 'app/shared/model/operation.model'; import { OperationService } from './operation.service'; import { IBankAccount } from 'app/shared/model/bank-account.model'; import { BankAccountService } from 'app/entities/bank-account'; @@ -14,95 +15,127 @@ import { ILabel } from 'app/shared/model/label.model'; import { LabelService } from 'app/entities/label'; @Component({ - selector: 'jhi-operation-update', - templateUrl: './operation-update.component.html' + selector: 'jhi-operation-update', + templateUrl: './operation-update.component.html' }) export class OperationUpdateComponent implements OnInit { - operation: IOperation; - isSaving: boolean; - - bankaccounts: IBankAccount[]; - - labels: ILabel[]; - date: string; - - constructor( - protected jhiAlertService: JhiAlertService, - protected operationService: OperationService, - protected bankAccountService: BankAccountService, - protected labelService: LabelService, - protected activatedRoute: ActivatedRoute - ) {} - - ngOnInit() { - this.isSaving = false; - this.activatedRoute.data.subscribe(({ operation }) => { - this.operation = operation; - this.date = this.operation.date != null ? this.operation.date.format(DATE_TIME_FORMAT) : null; - }); - this.bankAccountService - .query() - .pipe( - filter((mayBeOk: HttpResponse) => mayBeOk.ok), - map((response: HttpResponse) => response.body) - ) - .subscribe((res: IBankAccount[]) => (this.bankaccounts = res), (res: HttpErrorResponse) => this.onError(res.message)); - this.labelService - .query() - .pipe( - filter((mayBeOk: HttpResponse) => mayBeOk.ok), - map((response: HttpResponse) => response.body) - ) - .subscribe((res: ILabel[]) => (this.labels = res), (res: HttpErrorResponse) => this.onError(res.message)); - } + operation: IOperation; + isSaving: boolean; - previousState() { - window.history.back(); - } + bankaccounts: IBankAccount[]; - save() { - this.isSaving = true; - this.operation.date = this.date != null ? moment(this.date, DATE_TIME_FORMAT) : null; - if (this.operation.id !== undefined) { - this.subscribeToSaveResponse(this.operationService.update(this.operation)); - } else { - this.subscribeToSaveResponse(this.operationService.create(this.operation)); - } - } + labels: ILabel[]; - protected subscribeToSaveResponse(result: Observable>) { - result.subscribe((res: HttpResponse) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); - } + editForm = this.fb.group({ + id: [], + date: [null, [Validators.required]], + description: [], + amount: [null, [Validators.required]], + bankAccount: [], + labels: [] + }); - protected onSaveSuccess() { - this.isSaving = false; - this.previousState(); - } + constructor( + protected jhiAlertService: JhiAlertService, + protected operationService: OperationService, + protected bankAccountService: BankAccountService, + protected labelService: LabelService, + protected activatedRoute: ActivatedRoute, + private fb: FormBuilder + ) {} - protected onSaveError() { - this.isSaving = false; - } + ngOnInit() { + this.isSaving = false; + this.activatedRoute.data.subscribe(({ operation }) => { + this.updateForm(operation); + this.operation = operation; + }); + this.bankAccountService + .query() + .pipe( + filter((mayBeOk: HttpResponse) => mayBeOk.ok), + map((response: HttpResponse) => response.body) + ) + .subscribe((res: IBankAccount[]) => (this.bankaccounts = res), (res: HttpErrorResponse) => this.onError(res.message)); + this.labelService + .query() + .pipe( + filter((mayBeOk: HttpResponse) => mayBeOk.ok), + map((response: HttpResponse) => response.body) + ) + .subscribe((res: ILabel[]) => (this.labels = res), (res: HttpErrorResponse) => this.onError(res.message)); + } - protected onError(errorMessage: string) { - this.jhiAlertService.error(errorMessage, null, null); - } + updateForm(operation: IOperation) { + this.editForm.patchValue({ + id: operation.id, + date: operation.date != null ? operation.date.format(DATE_TIME_FORMAT) : null, + description: operation.description, + amount: operation.amount, + bankAccount: operation.bankAccount, + labels: operation.labels + }); + } - trackBankAccountById(index: number, item: IBankAccount) { - return item.id; - } + previousState() { + window.history.back(); + } - trackLabelById(index: number, item: ILabel) { - return item.id; + save() { + this.isSaving = true; + const operation = this.createFromForm(); + if (operation.id !== undefined) { + this.subscribeToSaveResponse(this.operationService.update(operation)); + } else { + this.subscribeToSaveResponse(this.operationService.create(operation)); } + } + + private createFromForm(): IOperation { + const entity = { + ...new Operation(), + id: this.editForm.get(['id']).value, + date: this.editForm.get(['date']).value != null ? moment(this.editForm.get(['date']).value, DATE_TIME_FORMAT) : undefined, + description: this.editForm.get(['description']).value, + amount: this.editForm.get(['amount']).value, + bankAccount: this.editForm.get(['bankAccount']).value, + labels: this.editForm.get(['labels']).value + }; + return entity; + } + + protected subscribeToSaveResponse(result: Observable>) { + result.subscribe((res: HttpResponse) => this.onSaveSuccess(), (res: HttpErrorResponse) => this.onSaveError()); + } + + protected onSaveSuccess() { + this.isSaving = false; + this.previousState(); + } + + protected onSaveError() { + this.isSaving = false; + } + protected onError(errorMessage: string) { + this.jhiAlertService.error(errorMessage, null, null); + } + + trackBankAccountById(index: number, item: IBankAccount) { + return item.id; + } + + trackLabelById(index: number, item: ILabel) { + return item.id; + } - getSelected(selectedVals: Array, option: any) { - if (selectedVals) { - for (let i = 0; i < selectedVals.length; i++) { - if (option.id === selectedVals[i].id) { - return selectedVals[i]; - } - } + getSelected(selectedVals: Array, option: any) { + if (selectedVals) { + for (let i = 0; i < selectedVals.length; i++) { + if (option.id === selectedVals[i].id) { + return selectedVals[i]; } - return option; + } } + return option; + } } diff --git a/src/main/webapp/app/entities/operation/operation.component.html b/src/main/webapp/app/entities/operation/operation.component.html index 359e838e7..7f740a17b 100644 --- a/src/main/webapp/app/entities/operation/operation.component.html +++ b/src/main/webapp/app/entities/operation/operation.component.html @@ -34,7 +34,7 @@

-
+
- +
- + + formControlName="username">
+ formControlName="password">
diff --git a/src/main/webapp/app/shared/login/login.component.ts b/src/main/webapp/app/shared/login/login.component.ts index 46711a061..29f925790 100644 --- a/src/main/webapp/app/shared/login/login.component.ts +++ b/src/main/webapp/app/shared/login/login.component.ts @@ -1,4 +1,5 @@ import { Component, AfterViewInit, Renderer, ElementRef } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { Router } from '@angular/router'; import { JhiEventManager } from 'ng-jhipster'; @@ -7,81 +8,81 @@ import { LoginService } from 'app/core/login/login.service'; import { StateStorageService } from 'app/core/auth/state-storage.service'; @Component({ - selector: 'jhi-login-modal', - templateUrl: './login.component.html' + selector: 'jhi-login-modal', + templateUrl: './login.component.html' }) export class JhiLoginModalComponent implements AfterViewInit { - authenticationError: boolean; - password: string; - rememberMe: boolean; - username: string; - credentials: any; + authenticationError: boolean; - constructor( - private eventManager: JhiEventManager, - private loginService: LoginService, - private stateStorageService: StateStorageService, - private elementRef: ElementRef, - private renderer: Renderer, - private router: Router, - public activeModal: NgbActiveModal - ) { - this.credentials = {}; - } + loginForm = this.fb.group({ + username: [''], + password: [''], + rememberMe: [true] + }); - ngAfterViewInit() { - setTimeout(() => this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#username'), 'focus', []), 0); - } + constructor( + private eventManager: JhiEventManager, + private loginService: LoginService, + private stateStorageService: StateStorageService, + private elementRef: ElementRef, + private renderer: Renderer, + private router: Router, + public activeModal: NgbActiveModal, + private fb: FormBuilder + ) {} - cancel() { - this.credentials = { - username: null, - password: null, - rememberMe: true - }; - this.authenticationError = false; - this.activeModal.dismiss('cancel'); - } + ngAfterViewInit() { + setTimeout(() => this.renderer.invokeElementMethod(this.elementRef.nativeElement.querySelector('#username'), 'focus', []), 0); + } + + cancel() { + this.authenticationError = false; + this.loginForm.patchValue({ + username: '', + password: '' + }); + this.activeModal.dismiss('cancel'); + } - login() { - this.loginService - .login({ - username: this.username, - password: this.password, - rememberMe: this.rememberMe - }) - .then(() => { - this.authenticationError = false; - this.activeModal.dismiss('login success'); - if (this.router.url === '/register' || /^\/activate\//.test(this.router.url) || /^\/reset\//.test(this.router.url)) { - this.router.navigate(['']); - } + login() { + this.loginService + .login({ + username: this.loginForm.get('username').value, + password: this.loginForm.get('password').value, + rememberMe: this.loginForm.get('rememberMe').value + }) + .then(() => { + this.authenticationError = false; + this.activeModal.dismiss('login success'); + if (this.router.url === '/register' || /^\/activate\//.test(this.router.url) || /^\/reset\//.test(this.router.url)) { + this.router.navigate(['']); + } - this.eventManager.broadcast({ - name: 'authenticationSuccess', - content: 'Sending Authentication Success' - }); + this.eventManager.broadcast({ + name: 'authenticationSuccess', + content: 'Sending Authentication Success' + }); - // previousState was set in the authExpiredInterceptor before being redirected to login modal. - // since login is successful, go to stored previousState and clear previousState - const redirect = this.stateStorageService.getUrl(); - if (redirect) { - this.stateStorageService.storeUrl(null); - this.router.navigate([redirect]); - } - }) - .catch(() => { - this.authenticationError = true; - }); - } + // previousState was set in the authExpiredInterceptor before being redirected to login modal. + // since login is successful, go to stored previousState and clear previousState + const redirect = this.stateStorageService.getUrl(); + if (redirect) { + this.stateStorageService.storeUrl(null); + this.router.navigateByUrl(redirect); + } + }) + .catch(() => { + this.authenticationError = true; + }); + } - register() { - this.activeModal.dismiss('to state register'); - this.router.navigate(['/register']); - } + register() { + this.activeModal.dismiss('to state register'); + this.router.navigate(['/register']); + } - requestResetPassword() { - this.activeModal.dismiss('to state requestReset'); - this.router.navigate(['/reset', 'request']); - } + requestResetPassword() { + this.activeModal.dismiss('to state requestReset'); + this.router.navigate(['/reset', 'request']); + } } diff --git a/src/main/webapp/app/shared/model/bank-account.model.ts b/src/main/webapp/app/shared/model/bank-account.model.ts index 55a9580db..042f150cc 100644 --- a/src/main/webapp/app/shared/model/bank-account.model.ts +++ b/src/main/webapp/app/shared/model/bank-account.model.ts @@ -2,13 +2,13 @@ import { IUser } from 'app/core/user/user.model'; import { IOperation } from 'app/shared/model/operation.model'; export interface IBankAccount { - id?: number; - name?: string; - balance?: number; - user?: IUser; - operations?: IOperation[]; + id?: number; + name?: string; + balance?: number; + user?: IUser; + operations?: IOperation[]; } export class BankAccount implements IBankAccount { - constructor(public id?: number, public name?: string, public balance?: number, public user?: IUser, public operations?: IOperation[]) {} + constructor(public id?: number, public name?: string, public balance?: number, public user?: IUser, public operations?: IOperation[]) {} } diff --git a/src/main/webapp/app/shared/model/label.model.ts b/src/main/webapp/app/shared/model/label.model.ts index 86c881ced..de88b85f3 100644 --- a/src/main/webapp/app/shared/model/label.model.ts +++ b/src/main/webapp/app/shared/model/label.model.ts @@ -1,11 +1,11 @@ import { IOperation } from 'app/shared/model/operation.model'; export interface ILabel { - id?: number; - label?: string; - operations?: IOperation[]; + id?: number; + label?: string; + operations?: IOperation[]; } export class Label implements ILabel { - constructor(public id?: number, public label?: string, public operations?: IOperation[]) {} + constructor(public id?: number, public label?: string, public operations?: IOperation[]) {} } diff --git a/src/main/webapp/app/shared/model/operation.model.ts b/src/main/webapp/app/shared/model/operation.model.ts index 676f52724..745e71905 100644 --- a/src/main/webapp/app/shared/model/operation.model.ts +++ b/src/main/webapp/app/shared/model/operation.model.ts @@ -3,21 +3,21 @@ import { IBankAccount } from 'app/shared/model/bank-account.model'; import { ILabel } from 'app/shared/model/label.model'; export interface IOperation { - id?: number; - date?: Moment; - description?: string; - amount?: number; - bankAccount?: IBankAccount; - labels?: ILabel[]; + id?: number; + date?: Moment; + description?: string; + amount?: number; + bankAccount?: IBankAccount; + labels?: ILabel[]; } export class Operation implements IOperation { - constructor( - public id?: number, - public date?: Moment, - public description?: string, - public amount?: number, - public bankAccount?: IBankAccount, - public labels?: ILabel[] - ) {} + constructor( + public id?: number, + public date?: Moment, + public description?: string, + public amount?: number, + public bankAccount?: IBankAccount, + public labels?: ILabel[] + ) {} } diff --git a/src/main/webapp/app/shared/shared-common.module.ts b/src/main/webapp/app/shared/shared-common.module.ts index 18acacd66..0213ee1be 100644 --- a/src/main/webapp/app/shared/shared-common.module.ts +++ b/src/main/webapp/app/shared/shared-common.module.ts @@ -3,8 +3,8 @@ import { NgModule } from '@angular/core'; import { JhipsterSampleApplicationSharedLibsModule, FindLanguageFromKeyPipe, JhiAlertComponent, JhiAlertErrorComponent } from './'; @NgModule({ - imports: [JhipsterSampleApplicationSharedLibsModule], - declarations: [FindLanguageFromKeyPipe, JhiAlertComponent, JhiAlertErrorComponent], - exports: [JhipsterSampleApplicationSharedLibsModule, FindLanguageFromKeyPipe, JhiAlertComponent, JhiAlertErrorComponent] + imports: [JhipsterSampleApplicationSharedLibsModule], + declarations: [FindLanguageFromKeyPipe, JhiAlertComponent, JhiAlertErrorComponent], + exports: [JhipsterSampleApplicationSharedLibsModule, FindLanguageFromKeyPipe, JhiAlertComponent, JhiAlertErrorComponent] }) export class JhipsterSampleApplicationSharedCommonModule {} diff --git a/src/main/webapp/app/shared/shared-libs.module.ts b/src/main/webapp/app/shared/shared-libs.module.ts index cf0a5161a..d04bbd7ed 100644 --- a/src/main/webapp/app/shared/shared-libs.module.ts +++ b/src/main/webapp/app/shared/shared-libs.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; -import { FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { NgJhipsterModule } from 'ng-jhipster'; import { InfiniteScrollModule } from 'ngx-infinite-scroll'; @@ -8,13 +8,13 @@ import { CookieModule } from 'ngx-cookie'; import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; @NgModule({ - imports: [NgbModule.forRoot(), InfiniteScrollModule, CookieModule.forRoot(), FontAwesomeModule], - exports: [FormsModule, CommonModule, NgbModule, NgJhipsterModule, InfiniteScrollModule, FontAwesomeModule] + imports: [NgbModule, InfiniteScrollModule, CookieModule.forRoot(), FontAwesomeModule, ReactiveFormsModule], + exports: [FormsModule, CommonModule, NgbModule, NgJhipsterModule, InfiniteScrollModule, FontAwesomeModule, ReactiveFormsModule] }) export class JhipsterSampleApplicationSharedLibsModule { - static forRoot() { - return { - ngModule: JhipsterSampleApplicationSharedLibsModule - }; - } + static forRoot() { + return { + ngModule: JhipsterSampleApplicationSharedLibsModule + }; + } } diff --git a/src/main/webapp/app/shared/shared.module.ts b/src/main/webapp/app/shared/shared.module.ts index 89851b233..123d47872 100644 --- a/src/main/webapp/app/shared/shared.module.ts +++ b/src/main/webapp/app/shared/shared.module.ts @@ -1,26 +1,22 @@ import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; -import { NgbDateAdapter } from '@ng-bootstrap/ng-bootstrap'; - -import { NgbDateMomentAdapter } from './util/datepicker-adapter'; import { - JhipsterSampleApplicationSharedLibsModule, - JhipsterSampleApplicationSharedCommonModule, - JhiLoginModalComponent, - HasAnyAuthorityDirective + JhipsterSampleApplicationSharedLibsModule, + JhipsterSampleApplicationSharedCommonModule, + JhiLoginModalComponent, + HasAnyAuthorityDirective } from './'; @NgModule({ - imports: [JhipsterSampleApplicationSharedLibsModule, JhipsterSampleApplicationSharedCommonModule], - declarations: [JhiLoginModalComponent, HasAnyAuthorityDirective], - providers: [{ provide: NgbDateAdapter, useClass: NgbDateMomentAdapter }], - entryComponents: [JhiLoginModalComponent], - exports: [JhipsterSampleApplicationSharedCommonModule, JhiLoginModalComponent, HasAnyAuthorityDirective], - schemas: [CUSTOM_ELEMENTS_SCHEMA] + imports: [JhipsterSampleApplicationSharedLibsModule, JhipsterSampleApplicationSharedCommonModule], + declarations: [JhiLoginModalComponent, HasAnyAuthorityDirective], + entryComponents: [JhiLoginModalComponent], + exports: [JhipsterSampleApplicationSharedCommonModule, JhiLoginModalComponent, HasAnyAuthorityDirective], + schemas: [CUSTOM_ELEMENTS_SCHEMA] }) export class JhipsterSampleApplicationSharedModule { - static forRoot() { - return { - ngModule: JhipsterSampleApplicationSharedModule - }; - } + static forRoot() { + return { + ngModule: JhipsterSampleApplicationSharedModule + }; + } } diff --git a/src/main/webapp/app/shared/util/datepicker-adapter.ts b/src/main/webapp/app/shared/util/datepicker-adapter.ts index 524a38c83..d8b7406d1 100644 --- a/src/main/webapp/app/shared/util/datepicker-adapter.ts +++ b/src/main/webapp/app/shared/util/datepicker-adapter.ts @@ -8,14 +8,14 @@ import * as moment from 'moment'; @Injectable() export class NgbDateMomentAdapter extends NgbDateAdapter { - fromModel(date: Moment): NgbDateStruct { - if (date != null && moment.isMoment(date) && date.isValid()) { - return { year: date.year(), month: date.month() + 1, day: date.date() }; - } - return null; + fromModel(date: Moment): NgbDateStruct { + if (date != null && moment.isMoment(date) && date.isValid()) { + return { year: date.year(), month: date.month() + 1, day: date.date() }; } + return null; + } - toModel(date: NgbDateStruct): Moment { - return date ? moment(date.year + '-' + date.month + '-' + date.day, 'YYYY-MM-DD') : null; - } + toModel(date: NgbDateStruct): Moment { + return date ? moment(date.year + '-' + date.month + '-' + date.day, 'YYYY-MM-DD') : null; + } } diff --git a/src/main/webapp/app/shared/util/request-util.ts b/src/main/webapp/app/shared/util/request-util.ts index 6579c3cb2..52338f241 100644 --- a/src/main/webapp/app/shared/util/request-util.ts +++ b/src/main/webapp/app/shared/util/request-util.ts @@ -1,18 +1,18 @@ import { HttpParams } from '@angular/common/http'; export const createRequestOption = (req?: any): HttpParams => { - let options: HttpParams = new HttpParams(); - if (req) { - Object.keys(req).forEach(key => { - if (key !== 'sort') { - options = options.set(key, req[key]); - } - }); - if (req.sort) { - req.sort.forEach(val => { - options = options.append('sort', val); - }); - } + let options: HttpParams = new HttpParams(); + if (req) { + Object.keys(req).forEach(key => { + if (key !== 'sort') { + options = options.set(key, req[key]); + } + }); + if (req.sort) { + req.sort.forEach(val => { + options = options.append('sort', val); + }); } - return options; + } + return options; }; diff --git a/src/main/webapp/app/vendor.ts b/src/main/webapp/app/vendor.ts index 9b6085061..0d7b27852 100644 --- a/src/main/webapp/app/vendor.ts +++ b/src/main/webapp/app/vendor.ts @@ -1,45 +1,45 @@ /* after changing this file run 'npm run webpack:build' */ /* tslint:disable */ -import '../content/css/vendor.css'; +import '../content/scss/vendor.scss'; // Imports all fontawesome core and solid icons import { library } from '@fortawesome/fontawesome-svg-core'; import { - faUser, - faSort, - faSortUp, - faSortDown, - faSync, - faEye, - faBan, - faTimes, - faArrowLeft, - faSave, - faPlus, - faPencilAlt, - faBars, - faThList, - faUserPlus, - faRoad, - faTachometerAlt, - faHeart, - faList, - faBell, - faBook, - faHdd, - faFlag, - faWrench, - faClock, - faCloud, - faSignOutAlt, - faSignInAlt, - faCalendarAlt, - faSearch, - faTrashAlt, - faAsterisk, - faTasks, - faHome + faUser, + faSort, + faSortUp, + faSortDown, + faSync, + faEye, + faBan, + faTimes, + faArrowLeft, + faSave, + faPlus, + faPencilAlt, + faBars, + faThList, + faUserPlus, + faRoad, + faTachometerAlt, + faHeart, + faList, + faBell, + faBook, + faHdd, + faFlag, + faWrench, + faClock, + faCloud, + faSignOutAlt, + faSignInAlt, + faCalendarAlt, + faSearch, + faTrashAlt, + faAsterisk, + faTasks, + faHome } from '@fortawesome/free-solid-svg-icons'; // Adds the SVG icon to the library so you can use it in your page diff --git a/src/main/webapp/content/css/documentation.css b/src/main/webapp/content/css/documentation.css deleted file mode 100644 index 4aeb51b19..000000000 --- a/src/main/webapp/content/css/documentation.css +++ /dev/null @@ -1,3 +0,0 @@ -/*! - * Your CSS files will be generated in this directory by Webpack - */ diff --git a/src/main/webapp/content/css/global.css b/src/main/webapp/content/css/global.css deleted file mode 100644 index f00b03231..000000000 --- a/src/main/webapp/content/css/global.css +++ /dev/null @@ -1,227 +0,0 @@ -/* ============================================================== -Bootstrap tweaks -===============================================================*/ - -body, -h1, -h2, -h3, -h4 { - font-weight: 300; -} - -body { - background: #e4e5e6; -} - -a { - color: #533f03; - font-weight: bold; -} - -a:hover { - color: #533f03; - font-weight: bold; - /* make sure browsers use the pointer cursor for anchors, even with no href */ - cursor: pointer; -} - -/* ========================================================================== -Browser Upgrade Prompt -========================================================================== */ -.browserupgrade { - margin: 0.2em 0; - background: #ccc; - color: #000; - padding: 0.2em 0; -} - -/* ========================================================================== -Generic styles -========================================================================== */ - -/* Error highlight on input fields */ -.ng-valid[required], -.ng-valid.required { - border-left: 5px solid green; -} - -.ng-invalid:not(form) { - border-left: 5px solid red; -} - -/* other generic styles */ - -.jh-card { - padding: 1.5%; - margin-top: 20px; - border: none; -} - -.error { - color: white; - background-color: red; -} - -.pad { - padding: 10px; -} - -.w-40 { - width: 40% !important; -} - -.w-60 { - width: 60% !important; -} - -.break { - white-space: normal; - word-break: break-all; -} - -.readonly { - background-color: #eee; - opacity: 1; -} - -.footer { - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.hand, -[jhisortby] { - cursor: pointer; -} - -/* ========================================================================== -Custom alerts for notification -========================================================================== */ -.alerts .alert { - text-overflow: ellipsis; -} -.alert pre { - background: none; - border: none; - font: inherit; - color: inherit; - padding: 0; - margin: 0; -} - -.alert .popover pre { - font-size: 10px; -} - -.alerts .toast { - position: fixed; - width: 100%; -} - -.alerts .toast.left { - left: 5px; -} - -.alerts .toast.right { - right: 5px; -} - -.alerts .toast.top { - top: 55px; -} - -.alerts .toast.bottom { - bottom: 55px; -} - -@media screen and (min-width: 480px) { - .alerts .toast { - width: 50%; - } -} - -/* ========================================================================== -entity tables helpers -========================================================================== */ -/* Remove Bootstrap padding from the element -http://stackoverflow.com/questions/19562903/remove-padding-from-columns-in-bootstrap-3 */ -.no-padding-left { - padding-left: 0 !important; -} -.no-padding-right { - padding-right: 0 !important; -} -.no-padding-top { - padding-top: 0 !important; -} -.no-padding-bottom { - padding-bottom: 0 !important; -} -.no-padding { - padding: 0 !important; -} - -/* bootstrap 3 input-group 100% width -http://stackoverflow.com/questions/23436430/bootstrap-3-input-group-100-width */ -.width-min { - width: 1% !important; -} - -/* Makes toolbar not wrap on smaller screens -http://www.sketchingwithcss.com/samplechapter/cheatsheet.html#right */ -.flex-btn-group-container { - display: -webkit-flex; - display: flex; - -webkit-flex-direction: row; - flex-direction: row; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} - -/* ========================================================================== -entity detail page css -========================================================================== */ -.row.jh-entity-details > dd { - margin-bottom: 15px; -} - -@media screen and (min-width: 768px) { - .row.jh-entity-details > dt { - margin-bottom: 15px; - } - - .row.jh-entity-details > dd { - border-bottom: 1px solid #eee; - padding-left: 180px; - margin-left: 0; - } -} - -/* ========================================================================== -ui bootstrap tweaks -========================================================================== */ -.nav, -.pagination, -.carousel, -.card-title a { - cursor: pointer; -} - -.datetime-picker-dropdown > li.date-picker-menu div > table .btn-secondary, -.uib-datepicker-popup > li > div.uib-datepicker > table .btn-secondary { - border: 0; -} - -.datetime-picker-dropdown > li.date-picker-menu div > table:focus, -.uib-datepicker-popup > li > div.uib-datepicker > table:focus { - outline: none; -} - -.thread-dump-modal-lock { - max-width: 450px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -/* jhipster-needle-css-add-main JHipster will add new css style */ diff --git a/src/main/webapp/content/css/loading.css b/src/main/webapp/content/css/loading.css index a1e24615b..b2c662687 100644 --- a/src/main/webapp/content/css/loading.css +++ b/src/main/webapp/content/css/loading.css @@ -1,152 +1,152 @@ @keyframes lds-pacman-1 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 50% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 50% { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } } @-webkit-keyframes lds-pacman-1 { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } - 50% { - -webkit-transform: rotate(-45deg); - transform: rotate(-45deg); - } - 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); - } + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 50% { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + } + 100% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } } @keyframes lds-pacman-2 { - 0% { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); - } - 50% { - -webkit-transform: rotate(225deg); - transform: rotate(225deg); - } - 100% { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); - } + 0% { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + } + 50% { + -webkit-transform: rotate(225deg); + transform: rotate(225deg); + } + 100% { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + } } @-webkit-keyframes lds-pacman-2 { - 0% { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); - } - 50% { - -webkit-transform: rotate(225deg); - transform: rotate(225deg); - } - 100% { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); - } + 0% { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + } + 50% { + -webkit-transform: rotate(225deg); + transform: rotate(225deg); + } + 100% { + -webkit-transform: rotate(180deg); + transform: rotate(180deg); + } } @keyframes lds-pacman-3 { - 0% { - -webkit-transform: translate(190px, 0); - transform: translate(190px, 0); - opacity: 0; - } - 20% { - opacity: 1; - } - 100% { - -webkit-transform: translate(70px, 0); - transform: translate(70px, 0); - opacity: 1; - } + 0% { + -webkit-transform: translate(190px, 0); + transform: translate(190px, 0); + opacity: 0; + } + 20% { + opacity: 1; + } + 100% { + -webkit-transform: translate(70px, 0); + transform: translate(70px, 0); + opacity: 1; + } } @-webkit-keyframes lds-pacman-3 { - 0% { - -webkit-transform: translate(190px, 0); - transform: translate(190px, 0); - opacity: 0; - } - 20% { - opacity: 1; - } - 100% { - -webkit-transform: translate(70px, 0); - transform: translate(70px, 0); - opacity: 1; - } + 0% { + -webkit-transform: translate(190px, 0); + transform: translate(190px, 0); + opacity: 0; + } + 20% { + opacity: 1; + } + 100% { + -webkit-transform: translate(70px, 0); + transform: translate(70px, 0); + opacity: 1; + } } .app-loading { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - position: relative; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - top: 10em; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + position: relative; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + top: 10em; } .app-loading p { - display: block; - font-size: 1.17em; - margin-inline-start: 0px; - margin-inline-end: 0px; - font-weight: normal; + display: block; + font-size: 1.17em; + margin-inline-start: 0px; + margin-inline-end: 0px; + font-weight: normal; } .app-loading .lds-pacman { - position: relative; - margin: auto; - width: 200px !important; - height: 200px !important; - -webkit-transform: translate(-100px, -100px) scale(1) translate(100px, 100px); - transform: translate(-100px, -100px) scale(1) translate(100px, 100px); + position: relative; + margin: auto; + width: 200px !important; + height: 200px !important; + -webkit-transform: translate(-100px, -100px) scale(1) translate(100px, 100px); + transform: translate(-100px, -100px) scale(1) translate(100px, 100px); } .app-loading .lds-pacman > div:nth-child(2) div { - position: absolute; - top: 40px; - left: 40px; - width: 120px; - height: 60px; - border-radius: 120px 120px 0 0; - background: #bbcedd; - -webkit-animation: lds-pacman-1 1s linear infinite; - animation: lds-pacman-1 1s linear infinite; - -webkit-transform-origin: 60px 60px; - transform-origin: 60px 60px; + position: absolute; + top: 40px; + left: 40px; + width: 120px; + height: 60px; + border-radius: 120px 120px 0 0; + background: #bbcedd; + -webkit-animation: lds-pacman-1 1s linear infinite; + animation: lds-pacman-1 1s linear infinite; + -webkit-transform-origin: 60px 60px; + transform-origin: 60px 60px; } .app-loading .lds-pacman > div:nth-child(2) div:nth-child(2) { - -webkit-animation: lds-pacman-2 1s linear infinite; - animation: lds-pacman-2 1s linear infinite; + -webkit-animation: lds-pacman-2 1s linear infinite; + animation: lds-pacman-2 1s linear infinite; } .app-loading .lds-pacman > div:nth-child(1) div { - position: absolute; - top: 97px; - left: -8px; - width: 24px; - height: 10px; - background-image: url('../images/logo-jhipster.png'); - background-size: contain; - -webkit-animation: lds-pacman-3 1s linear infinite; - animation: lds-pacman-3 1.5s linear infinite; + position: absolute; + top: 97px; + left: -8px; + width: 24px; + height: 10px; + background-image: url('../images/logo-jhipster.png'); + background-size: contain; + -webkit-animation: lds-pacman-3 1s linear infinite; + animation: lds-pacman-3 1.5s linear infinite; } .app-loading .lds-pacman > div:nth-child(1) div:nth-child(1) { - -webkit-animation-delay: -0.67s; - animation-delay: -1s; + -webkit-animation-delay: -0.67s; + animation-delay: -1s; } .app-loading .lds-pacman > div:nth-child(1) div:nth-child(2) { - -webkit-animation-delay: -0.33s; - animation-delay: -0.5s; + -webkit-animation-delay: -0.33s; + animation-delay: -0.5s; } .app-loading .lds-pacman > div:nth-child(1) div:nth-child(3) { - -webkit-animation-delay: 0s; - animation-delay: 0s; + -webkit-animation-delay: 0s; + animation-delay: 0s; } diff --git a/src/main/webapp/content/css/vendor.css b/src/main/webapp/content/css/vendor.css deleted file mode 100644 index 7e3ef9844..000000000 --- a/src/main/webapp/content/css/vendor.css +++ /dev/null @@ -1,2 +0,0 @@ -/* after changing this file run 'npm run webpack:build' */ -@import '~bootstrap/dist/css/bootstrap.min.css'; diff --git a/src/main/webapp/content/images/jhipster_family_member_0_head-192.png b/src/main/webapp/content/images/jhipster_family_member_0_head-192.png index 81330689211e5a082081222dcaf30c37ea6104cf..d64fd39bd1384afe94a96b1e3876f2aa3072337e 100644 GIT binary patch literal 16607 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 E2c#yGumAu6 diff --git a/src/main/webapp/content/images/jhipster_family_member_0_head-256.png b/src/main/webapp/content/images/jhipster_family_member_0_head-256.png index b4739ec3e47edbc81542888fd0fe7f9bb411c5b1..7e720c0b8ea2d27d4ae969e897eb4210cf629933 100644 GIT binary patch literal 21670 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 LNkvXXu0mjfws0iX literal 17812 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 literal 37449 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 diff --git a/src/main/webapp/content/images/jhipster_family_member_1_head-192.png b/src/main/webapp/content/images/jhipster_family_member_1_head-192.png index dd2643c15dd3055d1ca3fc057e0e4f7b0b93b785..b702e6b8f46dd5aa85b877b58502d23d0904ec15 100644 GIT binary patch literal 23970 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�Vg08fi7=b3D5T=B`}~MqI0c>A44cCRtt!FZ;z4452BFR#l(Q+Q zB!%?M*aki1no7jEww|rZ?D-Q^-{5Y+U@}<=a&vB+rfD4h)wAr# z$U$oK@xNEZ@fVF(TP0LUgm&A_T*rO?L7I5wFtzuNdolX*VcFvg%JEcE>$KSgPcW>D zFD)?sNSi4+J*w$Ha62st{6?8sk!7UQDU6>x1DD&4myaI7d+&Z9j-Nas^zYb($(fmC ze}DhKzWd$p{?i)`J)qMbdMn;1i+vqv1CoLt^ByeE3%)QO)3{DF^u?BgG6 zT*(N@8|wa=WRqC{fWO7B_yhi!Kj8lw3G(9r1_5jb@Bmc&lp-lGY;E3XG%ofVcaN>=@oXY`9Vwcf$ZK z5^vD^n?8(C1%JSw^#}Z;{(%3-{-FPUkIzHcY_{*m6Y+o2>-8^BOirveo6S;NYg;sv z$&>fFzEaG`fOa2gUx1>=_?=xA_xLHolZYFF&Q&EU3y6&gsWTo*FX$x zfy}YU<#LR{XrQNOrmI|&<2t%J0+~!E7YGGh%d5-rp`Anhje5ON&! zsw~S2vZ6@E$G+(i@^R{Fsf8q~X#d1tz~l?g7K=rPPN$;;Q4n=H9i7c)+16;QEs;zV zY*w4STrO2iG}&pg*}>Io2())?oHMaJJB7)!r_ix=0I}IA1jA9p=4TP==q^E{FA)?; zN|MBcLZJ@~4-YTjhyd46URC~!LoGoN%#Iy9&Oi9k2mk(C-}u&NqLJtW$6h|RtGlcF z!?Gm*VQeY(aEr6WO3|A~7!*aR>2zA~d3^y%lrm1I)1OMGa^Y~;S7++wQmI6%s#>Ym zs+EC(fzHLn#iZBc^^hdF=?Fm6G{(lpl6t*fQ>xbLl*uZo%GKPG3J|p%>WwC+)9dKf z)zz%cYO`ds*=95n)t)Jdtv7AQM%YOji zE&%?EDor{7CIB0rTTvCB#I$vG!4L}s;ZkHh@Aj>utxN>8-QnS zZf?fo@f<1?3OSqI<}H;569#2Vk8nVnM|e@Y_iRr zBuR{qkI#F(UQ4A`7j$CXkp4eka8nlN+vf)&Xh36xP${ANzkF*!Rup?Sn`yL0TaAfi zf_1yyx>Pb%cDYpvUjk5Ezh(fSm@JY4Ay_z$(>1xKu~00yL{YSrN+q|;<=UOg=Y}*I z&F*j{Y>dTXbK!8fC!5VCLZOhqP$U4C%Q z28g$FP`RoA8UvuJ(3ni9p892|*|96v*V9KFIeMhNWBU$$lWU@_waw27yqKJuGPU<^ z!Scc^{GkZWAAJEg-}M1NRZ*>0H=WpCN$zvQ0N$a}5^PZbR4;n!;-v0J7r*w2C!To! z>gsB=zrTNQd~zJywrukPU;&uc*8+^Hs%ijeIgZm9jYgX1c|xbtq0wl_CX`EjPKP+2^C*gi?3srM>?z}?zb>|gvrQe7Ezk~8d<^SU6zlg7X?W?cBEx%6&AOqk4lmR5)#A9k6ee_X{PN$>G zl`>6H6a|2gR6-|_S_i2pBmo&92)#sToGL+Dcv5T7$|6BRCMZ=VNL7^TI#*cLntD_M z0aB9uir%VY6|JJt>FqkH&IN3GO(vOOwR}BOS1mjNkfJCOG)?Pyo+os&5F#bcYXDRT zfFhEFs7NrFEhM23Yu&4_&)ij2Svy{lfFgs^R6!6b0G?%8{guw;{{^cyUPgxTp9uf} N002ovPDHLkV1lF&rjh^v literal 19660 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 diff --git a/src/main/webapp/content/images/jhipster_family_member_1_head-384.png b/src/main/webapp/content/images/jhipster_family_member_1_head-384.png index f930681c128095fb436ebc8b486e94baf6cfc186..308e78fc758c6d64a95e2cb7df432d18725b5172 100644 GIT binary patch literal 62270 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 literal 48895 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 UO0?Ay3<5r~Qi_t*;zl9=2eGOgGynhq diff --git a/src/main/webapp/content/images/jhipster_family_member_1_head-512.png b/src/main/webapp/content/images/jhipster_family_member_1_head-512.png index 9110dc8fe44bf6ed248a2723f15e900d87cec9a8..4bd57d6f39f3b28e01b9a2d9e72c3ea3b0dfb8e3 100644 GIT binary patch literal 68086 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

Wv|Q)i4zQT>0V0j?|=lCiv9> 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 CzDW51 literal 11463 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 literal 15638 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 diff --git a/src/main/webapp/content/images/jhipster_family_member_2_head-384.png b/src/main/webapp/content/images/jhipster_family_member_2_head-384.png index da964fcb2e387f81a934f2dc669462aa4a6c85ea..aefb0500083058355985040588b33d5489763b5c 100644 GIT binary patch literal 30748 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 literal 23850 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 diff --git a/src/main/webapp/content/images/jhipster_family_member_2_head-512.png b/src/main/webapp/content/images/jhipster_family_member_2_head-512.png index 6337f5effb4ae653bf2daa4af71df885205dbd72..3d612405a683a92eca7f57f43cec410b0db8a8e1 100644 GIT binary patch literal 32506 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≫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≧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 literal 32300 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

rBgE5!Y3Cg=NYTrA%Oqyz7D-96lvsrvTj-Ypa! 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 kT^j^!cvIUqe%r)2t=l9&G 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 LNkvXXu0mjfv2Czq diff --git a/src/main/webapp/content/images/jhipster_family_member_3_head-256.png b/src/main/webapp/content/images/jhipster_family_member_3_head-256.png index 098fd8fb05ae1f40a2ad8cef4547c2cae2adda83..d6711664cc1929c69e09939138bdf1269c520844 100644 GIT binary patch literal 23004 zcmXtg1yEbf_jZB?_u}qStY~rf;!<3S6)6tE-MzR|+@ZL;Q=quJ7I!EAyuWY0$z*Qk z=5F@PIlIT6XA`0FMFtI-2pIqXpvlQfssR8%=tm#`gaEzhJC#~MF9@azGLituf3LjG zlAq8!NDi`JodE#k;{V=2mkioG=uJcyIVCB?T{r>|oU!)L&wRirsrk(vsnbttpG8|8 zP(FT?$SGH^u3XlmwIk zAv7H1O}7z`qUc6h`WqT!9!dSYOSG_ma(Az=8Z^qJ`9;guY7J>>g5+Z@0>)#poXj#r zPGG>s0KRZzjEo;mb{AbXbFDQtW}_HhzrrwqqLTG=mwKzSx(*1Jz%A2548iIugY|+J0l6UEg-Cj zUZnH!z7sLdyY^)Tb^OPa6bA2qgMO{AreyFiRdLI~#fTz@!!B@44N2I@fUcy_YBKwq zZ%P-Q>5ATlUl5Q(-n+c-(WbBm(WwC8rH5^_4Q~#Rx(sjUL2n}zmdeL7$DV2{H}J%w z=01Nm&6NBDVi(a^awH<`rk^3`X@0VLttQU<`8EaDrX3keT@rA)QoPY@$&kFFb6;@C z=OEz~q*f{J0GlDgPfMTxii{1?a|3Cx7h?IbZqfHtPgd(cl`(Txw$nS|PysxYzQ4My z_%8WKu5M~vt)>F%)MHwc78vm2nUg?)c?`iGs-QRelk-ssf$?FH?q9AjT zmErfQD7{AZbGXlOH~ZA(I&k|=>854TNxwmB(RST&`Myf!36ox-1yYfKEgH^;Da84% zjQbF_Y3DqjOw2Xxs<8o@ke(}V8{rtQfi z$C1siNN@F4&naLc52LUfHC^)JMqd_CuiRE#b$2MM>2%T za4qxixI+k8n7D9@HQn^hLMyb;=O)!J5LcD_{8L@h!u)1F1^D9C^gj6f4uP@4419p< z@FBZ|ZK~Ey1`Y-bFd_BR?MGF>W?HZjxB%?oEEevqq0-rvXP4D5XBxKd^G7bn_UUp7ABhd{!& z5CW)-SQ5wg2`Bdn$Iw3|{ozO&|H+oZkWA{mDZ?Ct3)9cej)v18UvMjKK5l=o3$$XH zEu_pw4p0cc5O$R6e^zqGa31C^3%{a5*_tmouR3ekTv3{8ip>-=5=pIAVwB3m%{km| zA=9-%?eB@lp5-0dny#ds`Unb zk(2%MvU$l2-iqZn=|U3AC!t%^2@Nn$mu2K&vUssgJO4D86pP;m+oR54NFU5vxtb71 zz~Kb6$TeJB7=n)8=~#kZ&usqy94kx5WF}^?EYU08DrP{yS6WIy?$h^KSe#VQGB3Xp3+MH{p_Ol#_ z!2)zJ&DB@EjrWjCGIP8b^Ja|~BzdA!PR5$o7tMFaF3>_Hk+|8M_LY3>#zlfu6y^u# zQD%!XHzMHa6CwG*0qVtHYJL>l9oTy|H5#G68a7bXQ2msblc0kofRI&5@4-wEk+ztO zQWfnP_I(k;>Kse@gLerFxyd$YRhFv20`^4zJwHjoM*I~2Pu2KM|2{4mp#k~RTkPo> z&cbFGhK|aU5djyj>E0&Hfd+a{#5$0GfW&thV~(Hrf*DmR>$6W}h9(J{2EPB}wqaXy zlM($v?IpSMpbVsfTi!a5qUXlvl>$)3yc$UD;9uI2B5s;N=eR0PgrHl-j|S3}kf7_N zGGeGiAd79`{td7QM(-@*KF+k*{^naM9_k~RjO-vtzIg-ENPDQ6`I!!(d44URCBS;6hP+Ox zOFdGuP+^P5D-KwX6k1Od%9SMM_n?R^J3_YyWAcH{p<%BsXrtk>N%)o@3nKkN)JJsd zXAdM+i)xLQf!~~Dm>LAr5GuJwhZQ$fhWl;yCNauhL?bds2M#bh|Blx4Giz_%=ieU^ zc^hvL3L}=hq#-UPq8aN0OoX)JmU+Z5R%rGbLy22%~JJaSwAEkbJd}+!WSLvxlR@hQ0$L)M+|(1@zFBi4u$^|%@U{k z2(BGLmm0s(v|1-(gey-7Uy~)z0FkK^PFZd27e7ga+u6YkqZBFch2_Hq7qKVnU6Lk| zjUD|$`F#FmHYN-1Z)>tE=1s|`LlH5rcUiS&HxdojDDZ)#p zxh{$gwg^k@*EPS!h1hG3ePDpE1Bpf}YHZMb=j94hjQ9cP5Ow%x1n9~YUJe>{zSG|} zsfsZ0;8@6L{JDCl4IJ8`rKxU>ogo#Gd`Xtf@1f^&0hs+Yt>m^eabp?uIw#CBdWT7n zCBZXfyfX3(cpTJI+4t62q^EU~6L8a$u>w8{uRQ$S=WNpvy?fa1yd>$(56Zve;59?* zv|DZOlx?t~-qq+hj;pd>3p8HU$MkJ?hP@B1H(@$%(4|&mjE*gW^D+cZ!BVQcy$wtX z;p=0V=n|YM)Gb!YpkV~4SCb$zr4HL(h!(09?83;r2a6IQP<@cFAY%W}X!>IrxN}?@|`t+Jcr~59kxkt!1f9uBg?@iT%4kM#jq}Iqd~HiT-4Rvk|H3 zA5TzKrNgY;|JjcF;5Qy z?~}S0pn%yeOGbYuC2n;27A7T`7R`a(p9f_J=!?}qnMsCA)Qo|X>6)Ih3i^H!Y=MuQ zkTh9-MZpL5hp7hn9KHJnsv%`LG3bN7vBc`PU=~!tI?L%TF;gTX!#{-=FA^0rCeN*I zM7U+)*j!NnBx2zaD5s0CnFJ)KR~4q~FspZ6tre6#FE zR$RgU9-kwz*EgXfaaOK$ScokBWP#s&uvVE0^YHFSF?fKrg@E4==;0dfC5IHC{IuZ( z^7Q(Iwp_neM2be{QX!q$tT)@7$ME# zG2Mg=kElvKs`o*>zLP4cO@+d(S89oPDkmoe55{kbbhI$ zu&HtCOL^u(__xHl)lIYrxFT}zxGjeZE2VPW6<78TECc%WAIuCQo-%Nc1?C zUCU&r7sGBUj6_>eo6zK;W{_QfWNrA=$S6E1fw3d>a67`i{jy}48&zjZ$eE1(@W$+j zl!QKr?{#BGfZ+gUz^&(dLC+7m0Z3vyD^&y^Z=fp}<2`CBOjnng-R>JxNS(2X&fX_K zv9!nvF8VBF3R=#b9`G~L>tT+Bd6?=T%xFb*?~%^u<8}D6B*t}L<`q}0QLckT+NGLy z1~~G~nq%QQTaaLu3>n?gGV!@I2~HT)&m?xdpS5&@Q4jMG|8*HK1XHB4ZF!pP8TD`9 z8MKBZq{#qO24RjKDUX^bZ^7RbP)2R4Vc|l~AX3v_0B1RY1wuVHLm~+s7Kxa@Yv1UZYMZ)htrj92>=%cIEwDiL|(#C`w)q#35m|J-#dnig};nqHOd_aF-2m*3QB z8~7`7`Exw;HfT%Zg)xY@q4ZAoewC{cqI$h*)HZ3Xkr?=7Hd(Pw_5Beu#K;HVyV=44 zJ00O0Q_vXt;$P(W9@PqQs|^@$UhIbvc)k=ltBYPV1X6Hyu85 zu5(I10)z2}t!!x<_o;OhCbL?6bh0OWOwwp3!Nm9fqOeAb%k!vDX@&yvxb$xrql;;| zjZ$mR*kf8_BgBfWqgPbt15W@s9V{6Y(85o(t7`xQw~H5c|Cer%dCbS({6N~t4SDZB zc#Y(K?*h;;C{j;Bp_EwT#j7>^oDrvN@Jtzgn|tbO0` zrn$lbM6W$bsUb&BqDmd3)w_`!*hGWRbk0u7ef8bOOUsGWFh!hEsFwN6EV}2LKA64# zE+-c_=M!f}!_KV1czCyIad*DL{${4WPLx0t$}#lY>pC*jHK9cY;J~t5g=}E&Cq1M` zUbbH&H<=}Ph4zCGmSDZ}#bdan#_VLcdS^(vGlbsIqoe%TuCY2Di&>O8cVO8}pyX{Q z;$`{ys-pGW?8n}EE|~bO|ILh$nHyudp|I(NExDE_SG{=+RK?BV)$l^Yl}YVbv%{L* z)=VZ}GDB45`i7{FY{1-X%F}GZ75(Mwrq320>wC{~!N%(2Wc|~q$a{DN8_D_~7Po~H zMv-n@9uddUMKZ^LcoyZ!Fl0 zL0|;(?)M(x%@Kxa;-v8M%R=}jS(!75m?VZ(VC}viiun8I8?7frbrKnq3ED$Pbnk||&xijk|(2Lw%gf#p&FU7Zso*X}0y-T%L zMQFA){}*pscYaUTsw(05$!ufOV`$k{aM#v$`~c(qSz>^xFM-+OnEbqe@ssCk_QV7| z!IF0O4v`5(WgQH7AN*r)>}F%+9Jc-OuTQfn5uKVW`Ykzy_Qc;A0s%v88-Z+6Eop@P zXVkj{@!0buxb*)Cfcu$4R}&$iugra{+Gy2+P)D&ce zAbV#c-2wh%kXa_q**|au24w%@lHTZPF8tnIKP<-5)>Q0f3ESPTw7n}mU`!@?I7NO9 z^4O_=m!R-?SC3()aSa^%5}`2F6&QMZv<@;D3+@UNb#j`-^59=Q<71u?yx&BqMmC$K+(+R#S+dRxG<>T=hfq zHy`BflmzHpQLuk3)(mxYTK}kTlpLHUreo{WAoK&D+l2mjV z>=186`>ceR2|M|ulCQfnpJ-L@M(EULB=9l9U~u%?c@oh&9qJZoGWT!)y!cD(frLEDq=H1{R7 z@RyCrMg$M_re)q8%Y3fa9V>56vqRt~$_8GZx*;Ar`<9)vUF7buhi!~WRONAx&>iY# ze}NU)lc9bZonEwL&MKFIF#gLbNIn2jhTG_(Sa>FJ6GKqmMZIlEixsTfzFwMC>Lu z_F;NEgYYdmcYuHMAqVn z&op)sRhY=S@qNTGL80jE9dGqCJU<5YYq3pAnC9JyV8}Jcb~>+R)1FeTva)jk;ydIX zDW_+CQl>XN(V+|ME%edy6;Ak?B!#cH29JnFX&sl^08!F&sf98@feAH|`g1IRB!FGK z-Cx*PF}Om<&FXut>g*ccB?jq$4tQmc>Q>pQt7)vzW=K9Rsf zn6|IuMDie7+y_4f!E#%o=S)kf_38koS>mAk)8FjkedxP=RZ^mOnPBIHCuQHV=NHDE z-@06GWx>_zQ4TrDhinY>^oDSZ7F&~y%oZtC^;fI`<>9@>tnmSl)f8PUV~ZE#Yy=p zx@ehBIda=)Cmuuv`1JD;G+1`hDE zV6vLTrrpV$dD47dam-p1=~?)Dtq3xlmUCU(ITfEvEvrpIBV8sNMNv4eFZB76-ne3& zo1gk$Ky~{bL&(MT#1ypeC~Op`rTBw?xj8P4JU&2@wfj_eT=Ue*xab_me@9zYK`Z5$ zjBcH+V`ieS?#gaq)2~~l$xIGHe*cstLV7MX^d1;n=-GzlIxKSvU!z{c7Gxw2qom}k z-PeAj+?H_$@Wc2&Pp^1|g8yBkp1AGV!{w0I?UcX*{Nu6x9+(q|0j2q3Yck|ztGY>~ zh|ThIBHo5(8>F!<(993XdOfxlEhUr}0IMR$tT{V^(xCX-*>2hN{ep%fK~e4bSb5s@ zcj)yX)u5xBbvbO4Fo7eq#^(MD1p|b)s5K(x?;5a!;LGD{P6$qa{=IcS@5aw2&EUcO z&J|*M)zSqi7_I!EhuJ~m==R^J$&ZAe+npdt9f)a$aRAC5=M$c%gKsnjOxtIk)+_VA zx)MCvJ%nt_VGaW97TRS8b7sw8YAC|P_E`z2rR?a(7Bz`EHk=fPFwp-aYXkI zBP*a1$74y7DPO7xW%zfr2ualL@BFplrho)^c79Kfc|B&W*V_SYogv0{6bi+k#+&Di zFYmfGp}$)*SQsdKc$B;s1vX$tV8f_mV*$o$E*s;`SABY^10{H{b42Nii&d+C0gB`))m%|rmnK#8(Z*Nxfg=dCIRJm?t z>fu$++*Dpd>o@OkR*fE2D3v{Q4rE=~AL+68ya$cOta`${Zos~LuyHs$&c(<{x-ARK zKoSBz3gaj~z4n@!9*_BO*~0L4QKP|E-kpQLxbQ%m0+eEEhq@@%DkHgCwWGiwt4glT zECw;TF_jS?a(S}P+Ts}af1fy$^uyCZv;JvF9K;FHVq?-ebW3zP7DXpD89YbfI^Huz z&SU8EWf{9{x;8r;nYOG(`w~z4;W5;JG_JGF1+3YlC-wIL50d3IHEp!>^;b+P?LLpy z5Q1#dqeMMmV5CK};z%mU?OaNvHPhIL9Q6Z*k$9@lU2Kj{d(-zA!yzgbzyGK=>3C`g@*9`@6$iT9E~y z=1#b5F31n5RTdrA@TJcDldx19aWLLA_Yr|2b2h2_k$TQR+25RM$~No(*8_;U_t(o) zRYFQ~4Q3Tt%w$I0lWDh?lsucw#Lt^~h}QDUA0l?8H6vmFm${$Z7r_iwqZZEdo-c6< zG3i|LHcrFvXz<=p5cvFp>c2HG1I0*uxGzEKY0TOz$qf9gkHB;^;_ogvv@GYQgiBzf%}3!@CZ@NRo$0_6ID)K0=Cr~ z=uiRjuy{)h#h^ ze*4Si`wjjPK8ENF`X4*h_V}GgOoj;?UTU__ILkb2(P)pe-C7BXVpPB<9Gkn*d*gVu zczGIv$$cy{ebhIjY=b8&J_$I0dXwQM$JYuWBNpuFU1kiCTM8}pPi6HB3m9-PAtM7= zmW?2F9VC=)n6QXU3ydFVnhN zBBM23r!9t9M^g5yj(g)3jUGFIc(G^TxOjRWCtIY<)Gg<-`z!cmAp#-KNmn0 zk!db51=ti3zPinmXCC_As-{x?qbo3BbowO-GH|jXLzi4mnJZ%3uQjfSKna&(zTKi( z^0^x&@8e(KX;fO<%JcvHl>TC!p~Bn1URP1I)oNGw$>_)QVL022k-Z%E`T4@ds@zUE zN=Fi%iC7e=&A1=*kO_6rxT&x6ERu3ngN3m}DIK8pW0VV%9As@l}2+O!Sn_vBR zqNb>sl~l(kBb<>mFy|WV${OgBZ{)vx$DYl#OPF9rNSs7(UU4Hxa%ThF>nR_u?@g)f`j0QVh-wmJG3QVRO4n9b45 z%+S2QQ{bq5SEhz=8$YzS_re#^65<=o@p%H5!60>rK^%mA1=s4m{kZ82w+5>1V*Y=^ zQqwk~71CWLUjSL&#drbZU2g;@xxvx96|M%$#BknT-g?VQ zqD~q^4~5EoWzN|e4*H{ULUBR^ zW;^3H&O}7{C*{nLK>a-@7rQ;(Zzy7QeA})leN?#-RIlP=Nb7L3T#O%v5AH#%rl&eN#F)l0M`z)zCL0 z2y%5nX*Dm}b)n4n<4SVXPrmHC-HJQ)(t96qM(b@zI5bYD(KXs#uzrg8poV=nghN{I zD-)Zo%{2{HKKG^6pil0lo(~>_BHb@GM!m#DS@kLY>@-CNY_ndgZVe|3-q~vMYe+qP zSu0IPn^h-c=v7@d?4}zaz`ud5queh$TfB=-I)_4Eb5;^f*M&k#{9VN_Gyiqdi&~@m z9_l3-E_45m6Sf>-C+K)EM2B3aFw$~@H{curl;wN3%CZk`Zu{>XJ4d&M6Nhb3SzpRg5(?nGW_|uv#;PiJoZUm;3{H&{~v+wLxEXL?7s;OpGclY@@33LTi zZYDUhw;&H~QnGUrKKr`Sha8g05G+(oa0CXlUl?BoycBb<=pA3(02>z4ioe?Q?bH+O zw1%5OlS1Z?-9l?q+6c{nuhwd5FYmkkf}n7{F();oCo`$SqlgE z+2IOZBus>h?~EVmC;}&NVx@P#J=@)~z-bezL}jmyjW5H0))7OdbIT)2wsA0+n7WbWvfBo(`L6X(<$IT~#_mQmv}67%o^^rh zk!c6o%eDwk@#)Tlg4lI?DLFrW(U0s2gx>$K>2?{tKQC(~O{IlaD?(6eiOs>IIF;js z3l-@W#zjB*Mi_brA=>^?PcMH1j))haq5Pzk?l&M9vyp(`D7u9U#-Ff=w)s}2s}N{+ zshU@U@aO)Wv7PiG#luv=%nBxR;VIAWqEvL`(wY>Dh!W|#v&Cm>*Sx(y>!qy~9y_>) zd?m>15!|3nQl?W$KX(+N*!lI~DDxL{^R@2T{aa%?>g8yB(f(SJcEGbl$TJeCms7v5(Fq{uJ_ z&%RCKf;%Z!JE6wXzByq51QBE`cWD4S^IT_D_WjwqJHXF_s>9VI zk~G9JB;L}Dz^}Nd=euF35CpX_nZO*)e~5e~X7K^W5Q6d;)UG-RY%qesBbhHx7WoLL z`(#xk8ZQ#fdx>lhL1_ug9VY*W?&qxEOZMi=iB+SOqz(%c&NvKW!Z(r1;unh44V;%f zTWvpHUWg68V0fgdb;*(ls_(8VVg1Pa`QqdC>3-B`3I=NSLsYh3PUjt>-rqL$G{;JK z%N-0?oTM<(Ry=SisPVd&85{Q*sU-8{A2#=lluj%@ysD-d|?w$!He;uLVtK>ns}^La1vTy(TXw;K@(!BwMeDl%~IX9}@@62H+FW?@=3%+Pbe(p>jrX+w4T z5>@hujO(4#PZ{O#J!ik~I$yN8Y|NN@qH6WJU4PqPmB@b=0AW6d zM-cBjoGCp|mD0CgSYB7s6QStAgcwS%pJQldi7Jcf8jxe}2AT6=#ndGbz=2mrS30N_ zk&P5gU4C_^zid#MzHq;A{)+!av4vY|Y4dWdxv@bVyu=YyVn?tDQ(A5T8$BT&t)bA; zs6C1O%}e~j_%mU!uDZtoe6TsGqms&SG()P|blPbApZ&|Ax`NISOd9Mf4hfMEkN`p| zX&8md&t+YG631`ffD=qel+`uY_nWNCT|ele{^Bdj8K6Y4@1~_o4XjQL+UiEuCQ_gk z&rq)k2ugx40ur3o9U|j+<&8ryxp=rR;|7O7zmuF4Z$;*w(L+qj4txW|LD82)lbc|$ z1$ZDCy1#xE)$o!(EIh0Q5DDuzt!KS7%D5A8t{j zLL+RG7Kb#4Gega(^mzf74b~5Rx~cP>o~Y}sSmn{h4o&8JJu+NhEr%&#Wy)+F{*OMz zMykqh=J)}QrU;y;uj*37hbU6NTVG3G-=`-QX?8et54cU!4@O?9PZG!Rq4s5@!3tT8 zg;IDhFQRlfVf>d1-_71T^{hH;pw@}bD!p3CWMY|`NNZ&hm4z*+Lu=o6seH0DZp?~J z_^R==Mh=7}gR4vb2| zjQ@@u3~CCeEs<8mbdYBSV1yS)iM*t&t$ZpFDh=~{Y$g7OHz-nPZcK@aLO5>B%_hMQ zuaTeH!z{LC!oy2phvSn~Lk0&_0}-jqg*x*m8fJM2N^>UU=`e95{lSh~9$<+AE5+a< zON~_v9FKFM2I)+o=LQmh$@Za2L@{1q2ru&!IM~lmmmzu6tB-R+KJx-mhc36^w(oPD zK2^w7uS74e>EAK8dXtSejTFw}j-&Ut3O_^8*NKB_wU6e_rgd?NW=#Vt9sZMRHTXv-Qj#Ia zWnzv$*xxHx$p6r$5cAf2-1|1Odkbe19G=q)vz$1t?R$?JkrpzO5!y2NI;%D9Ij^bN z4n!2|QQ-;0O&khEy-JHgh%CZh*3ZeeC9A@X@Q7AqlKQwBUnUtiWM+y;xpahei5Z>> zb%>^bdQwCW9Z@!RKRVy;N^VEW>A?D6iw(uBeoh(@4-foybn~Y;M57&)i#Got2`PKe zRSVC0bI&jZ7Hj#xJZz()O#>Y+Sr~qAh99_Sbn4mrt;^`t2J6gvV2TJPEad31X|R!O z1wv0gKl+O1;a02hRpVRWWgztOF^(5oC(6+d!=bF!DOyT_e6BR?4JeA^?96Y+X!?Qp%}?DBqy;;Zpv9xEgB!x7EbFy+fE&|u2P8ZhG^ z`ee;A4hN?eS&kD}n8alrKA5rxN3(T7#3x1SV?q`U$iHxrJs5I9S$1u# zPihfRn45zA&%a)g)!)+IK8rV3f02dj3LSRqjOqZQP>?6!Y z@#NEyc%j%xBSWJOt4_#M+kR@2hS5;lJ(#aL?(cLk zdrU^2oJK?YA=oS<41~3SNn^_4^aQi)y>vF-WCykXevEZ>O6p=z+u2ZLDBGi1_2DR<#Z6NDLS#a&JPZJJsVm3z2NdhSxf^%B;~9 zgJ)y>uEp2<{fsh3F%ksY(!JG3L+pvgCoF9phLtf{L#C-t+hXJ34 zeRy=mI)G+pnrZkQxiyb#F^88|HoWm4TVMAgd_X{q?z!=OOV;fkm4y10 zjJ`AOs;^6FqFNKSA}TT=M$GJH;UOhvMh})A=Cz6_l%=*OO7mw}aAN+4V1}xG9Z~hr zG*T32q|nfcTN2z&z6$2%!)1BqyYOO6jK~yYx3W`otme#G=044d!yn>T!ocy{Z!Daf z5?t=aUFV&pYhrUa&G`xvCUM+4{v`d8kHzoCX4tUh#(AU0S|N#0pSy61?1XzpkV zn6->Y3j^?dnK~GuQ5f7xP3<+F;dj!I8#Ex3Huxa%g47hSdu{_rwQ?6}PUWID0tg0ZhNn3lW zFTN6&r&B#&vTFyM0b_=ueLOPm$A5{k1fBlijoinCOPcK;nYBS^)Lr~;zwe>M84v#~ z_@e1Xf?Ra1$gxEJU%99}V4{j@JUM-5~4+oRdpCXn9q?wc8`BwEbV1690tA5{|-c#lxbG|)d(^E*+nyUNsfZ%a%WU|7BO`V(a<71P)f{ z8&y%*?sLDad48MIzQ^qS*<9cpMz_H+O|&NHv@b=#JQ*aZzRyc{d4TqFEqimP=TJm^ zJTSzgOPNa8O9I~j5CU;mGHx7+nk9+J>43iTZyqZ7GW2sb$$-vJfQvB&XWcb900fs-O z1c{2DL-s!>DSVl~-P9dnM=dmIIO!CLiz?Di0fv%y2MsALN=6d`MSYH(b#In;=QQ50 z$h*~f+&glL@1*~eb_k)7f~}VE z68*Hc62EI1d;ig*u~<#|UpuZFBm3v&>x;6k2ipq4&cDF)s=Eg(iH(Ez#!%R`vM@#u zFau&iet7DCd1z-61>eWmMSMK{g<#EJfw>sEF|uq5W^_tjDioRHv+-X-abl2cU}yq0 zm?G>}Ji269jna~AFwfZw<3}g<;Vs__Lb~3R5!=b1?E8yt>`5c)td!IwrR|_dk!A{_ zk#s{f%+}BKsVT@n{(6bY;MB~Q;~J?pYoG-cE)AYPW%?!oHOR>$Ty^DT1ad*lpgh*@ z*<~5dw)W1|?QxFT1m%YJ3&R#U`basi9PDsMwVYOJX|asdw(!eI%urbnJqDE9jaOm+ zNhQsUS6JAFJiicRFH+2)^s;HsKmImNKuz`WL?HETv`K?_p0WqQ=V~Zwy}om`6HgiY zTm&VJp&x5RZtLgtZj&5qV2^Xj(PHmi!#^V+$_?V^q{um|2owu_7~uwrbvNDuOUZttd3Au=PW5VHX>-CZE9 z7IIkEweSxP+I+ZvAJ;bfn&`BgySCw#24b&H&kZN+aB3M55pnQO^^8Kr^(Ik{`A&wt zf)As>|GFtqoo7`nOM?xKRTBODTttktbvn^5RH286&~q;OQ~g{@rcEJ9iQf5q<>^OP zN%C~z%WjY2@P&{^qq+qnCl}NNRrvcS9Q zK*ZrcLbc0p$~l{m$(wIG^UNzw=DB{po9UI-N-;zkj)H@VL5<{_UzjWupW7M{hA}R^ z2V?MAEKgd;kFDhXW+4+hlrqAhvq-S(Ump`XJw6zb?wng9$_^{;A>Bv9SUa7+w?AcX zzS8P~X3A)q%oE1LhzxCFFcZIV#@b~(%BwOZBLxDAZi9aYn>I-?eO;DM#)iqgg}l-& zw4qc4rN$r4Q1mhTh^9J=D16+U!-)Xz!9=T+K`0_pw6X*ssUX(prDja03U;$&EWanX z!UhYl0*Q!x2rLL>s&NL zq2w3%kasX$w9bsEw!K?$J0*1{!>H3Gt%dtd#yA9)^JqM!^{@=~b&<{8c^#|(-YhDC zCc&`B!J0spp_Wf?@Nt&txKA_dFML_f5t?g6&WU1*0S7nu-s#>hhQb>))6EMw5ZBO7z+LCy!aK7|85%cXJ_!^s=^Q z$XZfjQ2%5wi>{0JbN!d~Y<3Cc4?IKQtz`+p*Bukx%%2_B62#BUm<%zMr&_Q5 zQx8{L)huDotZLy{+qq2K{65|`{Uwin4+IG`et_)!5oDYDj7NN zFh=jk^;wWny~kr5q1$~DvW@KhDu^Y0v*58&#mm_#l9y!VrO>#rF6Xquo23I^Tb?l8%D1wp_C(@tz zFVX`tMVwXpmlt!cec%jdKlEH~VU~fT7*Oxu;RIa8I(-*0jK3N9I#(jh+WDz@Q) z&{6Ri!S9t-&^*ofqtShW>&&BOv>j2lFXs#fPQZ7y$qc7ur0&&e(TS!}e1%&Kw2(gX zdO2PmDy5%uu@EWW^D{J-j!|^v5Ml>f_p9bGk1p-pntTcme0=P@&pkXc2L>KG4u%oY679k-M_Nmn9*$m+6?{m#?`RnLT&zs-Qo>;r=@ z{F3b~#m_I<(=eApNQ;GI*mOnqptivh&RX20#zzq~a3?rCm?^uBO z8^HBd<+NBI9oCzu&)eUnZHC**`;r5d+E%+7x79l!-!@jQEE*T4fI|wR4I#kuaP^Hv z#!}9u)Utc_kQhdAQeGzm_Q?Hs?!G2YjM56wem98!#HpqLi=?M$1@w?tcM9TI^;Sdn zeG+GLT=mdg7)F_kegjIz&2S=;`CLFN(V)x~JY3P^u&bd#H z@#UqWqztCgnP0MB)5*j{n+-L9?^p?fM?5NWzneV3nVTzzmnj&4vV|C_hKDbT>|whI zaI|p)irO5F^LuaoPL}Nrj!;yml>py<(=yI;6pS;i3*H5rV8tyAFfRv;N_zL<9+v|W zh=)WP;?g~e`x+9ePVC2p-G7u{x@bcWk1{74w(xe8;T^u8M5nzE$J@#896TO^k}PVE zVyrEWJ%B!~*Ol;q{x*P4BSU{DZ)e12w-a77WZQGnAg7m;#+NjKf-K3S@{W@xqvt`k zC=oZ37J2ZRLkIv@Y@MJuV1uth*~5&3de8Z36`!bb$y(a;uX$Oc9+W!tm9g%bGcxSK z)p&4m(zZijqEJE6cu0ZLW8VQBoxJs!p>OT>>W9Wq)N(u&=P`#Y_`D=^SjSJ2u{BmUa@TC+UEwvp zN8%ZYJUJroPxAIXcb05h;}`mWEH^qxW&vzzZSjnhPb*OEoA?nccVLzh>GKD3t#xLX( z4Qq|*9@^q`0f`zDB#SWdF!!;ugjRH~e$c#t&Ta$z7uo)8AUUgx?{rU3!3e-MU1*As zT5Z2`FS0h0xzHFNL98B$0pbeadJ4OF|1ec6GvP6H(_bwLD}k#Zg*uz1k_K%F@^B~c zEy!Q4r@LpMdZll8?7phQ0}R#E{XJJ9&xvVenC^HM)<2Nx7v&{lnUh*OqG;nLTX@mr zDq{rz@-_%gtbVsCjrx8YoVvs~yUGvz`6rmjmynk4jGbRo5eS4Hm?RUf66pudSt9;*i-f|q5^E&nRPT(n9sMK(hVq8Ukl_Gs3b zf{H^?L%A@MC4Z@v1)Kd}0KXVO=f;su^D#QkV8*RGX+k`+lv9LWGZsMp>8@r1FLYvO zfs}@2E%6Bfz?72R{bkm)CP!)zZPVbAGZyj4%ZEwY<`mAWIh-x?{>x9}w=X`8W%JV* zQc!a1Us&V?VJ71zuUbZb(c`7w5?}fM+dKClxw87cf6lq@SNA+5jb1BhA6j-F9ffO)J91{Md*RD|Rg*l~hbf3KJ9XvK8A@ z$ny5G%dTT2E!vf|n$b*m-$!@fd(X)q-5O~$Gc9RWn%gsdzg4T+8jbqibNZa``Tc(9 z_xt`HImwUCW|x&QGs_&Wh_9M_(yT||yA*jrlBJYN(X0^2eNT7pSJSq=n9r$Qg^4G-Ym`wOURQ3-ej1J-VI2SE13*YIw? zrzU_c;s5v39m0!(O?w{T1vb`*WT1gE(CWZdH|_G72md|~{`;@<)Uz!-$3(2P@k&Lf zn{(HpSsr}dZMlVD~)+z43rOCM@=b5D*-#FIhD~~U5;#?2g z5J(|$x^0|1!M1JkE4=gX_WJbmf<_onmLUb)Ij(7=>$^M#MTj?aAg2_F8zDbBXL z^ow$!j$<3lgbuguo8lcWzmZ#Sn5LKI%S}Nvy3)BmA7_{eEM`NCqX!%O%Igl2COJ=> zN?7U^OfO2TZz&p~Pnz{ev+RoI)3R;Owc6;i#3|vxzxtQM{)U@au`31nEw6hgeC*%U z1h7>I!1Arl-TXi~kOo^wI%}t>3P}4Uxzekm=o-kNM}O0CJ#{@BjD*3c~!6bdQf$o>$7pnv=f$A^>PIyO=W;xxVdXJr`z5Qag&wZP(k z`$J~l{p;wwzo~g~QDz?%#A%xYXRZ!y6fdTUG{|Fc@JIvoS-~?Job!_gtD$i03+2 z9JnmzpQSkaESuiLMwR=LQ-2%O1h56r@5G0zcy6gRv%Wd9vrS$qvi{@|fQ+VaZh8@U zzc=gvG_ZoClz6Vo%vAHDrXM5rVH#5|oZ9>zR#NN~!E8+cTLFa>w^#LS&o;0|34@fH zG%qKw2b?p*Ttk!Bi9x1^x(2T!Shom*%-_f3j;15nwpeH34jm z)pn#Brx!d+Vvbmxd8tX)PzKue&2Q~ zd)JIY$gi&3@-;#TdafpbEdg<)qWzC&%aIm9Q7W>0LPckbKH)uYC4AF^EIs=SjVQu% z9olh1s}qx#C3#*@mgObJgT}FKEOT&4C4d#W74TMoZf~h3fbsP;4F_mc^?1_|c$P6*8EB!4G$y$jrJ&3@po-I#V?Pj4hOKDzyOQ6(|EOtX2k^u>Frp+K~6x z+{dnCIaPL05t=vD1Tfz40jIJF z6oRI2jm&K87n(HbPc#MSq5!S1Z5w$>%C^>;b|=O#O=hQ?7NUwmS|lzng-n+lgxe7-IscY^5j-hi2W&2!qIhMEC@o07i3`LRu86#I|h$ z&tDNE$g(c|ejfx#%OU;#U!l6mIJ|lj!HhesIjIR?JPDw(t);cTyf&Z#$L70Ct^uGi z_Z-5U-9wzD6lIBRo4C$8hMN#@<^<*ZSm<&_!0y@w7+d2~9IEp918qQu{)m!aLrP99 z^_XNBL6hmXeTclh1Vf)+8pd)p=f!Yri-3aSI}d|dxkSI*&KZGQo&bbUFRA<`Op~U! zevbeFB>i$C%Yv7Qy3Cn<>w_3O_Y)@xuImsdDRG<<_#SfD%tZ)+>$nKRp!eVZ9n!8o z{-!l=t_fg#O@QhNKr3#X_14$D6N3&sxtd%80722~vE!G1lcLun$ugu6D6L4+3_Z;C zw=E09kRT+*(@&uClFF}8#ee`h?M_VqI8P+wiwmS9_gt5u0L zcK~78s}iTQ))6I@EfD}T0vD&Tcr{@$7Z#tf$9&T)7T1vFf9WdFS4 zyfDZF!*pF1KKr|?)O|eH#c>>pqNLr4i2|Q)QDEQwGw5DAF0VhACaGN$z&Jti(s6ke z*D^4T(aJzsznt7$0BO+q%73PK>N|)_+P5cZN>LQF;|>~#)0Er^u;y+U3-f=7-B3nZ zlGFq+J|-oH$Kf@!2H%!gqr^d#BF!f_2v`;rUwMe>J^Qe%mF*~`l(ahWpy`R$s8V6g z9l)60IZh*JfSC1ypeBHEK%yUo3YCB^g=fpr%0Q*2l})ZPkS=nPLIIj)6fM{Nuk+hj zGjm9HtTtN&?5SOVae49d4wnjrKvuf|5_^OTAcWxfLU(eNfwZQ7Zk~RjP)gBkL^Q$x zA>`Ut{`mPy0wG>l6TtWc032X!q*^TFN~FOiSQ*GPk)BVl*9FT)DTQg8%rqOgu6;?R zq#!@@W6Gp8ZfovsH35tP(zJyJ4;Y&gEz=Nqwj3c1COEN>O{_AIv^|W*40&Flv>;7W zy1hO^Lg;z;o_m1=grGci40ZhR@v;Q8cnv@n$29>|3Eyu*#bv;&EC4C-ZDU<&Fe%`~ zLM8h455e9(1iS3e*v~TR^!Ox&JiyR zYXTSpOfj$muJuygum#{+qo*^=72PzSObSpX?(IjJ{lITPS+dk_qm;rh45XART!1JH zF$|0H%+m;Cyq2gI;$5{1Fg^ru?Mua!-q78%K(I5kD779LCpf;)omgcc-R}||eJ#fD zRKK`qAVb^8_dKK!6lHGT5AsNxSTM^Kp}XNm4SpV z*B!rquAPiDmh5(MwXOo)^ z2nf?cnrj908jVM|c09mpB)0F0$KQOjw(;D&WngFV#;3RqZSiYFj9NOWoD-9-qtglA83ELj7 zkN1`jk!yhv0|~HZ^OD*C0kXZo_|l~QIe>1jRTDrZ(=YTZ#*+XP2d6zoZSSy31g}i?mdyBuV#?E7()?X8@)2s=gB2)Y5 z^?%0IpFc$jhjut4<5s;=(JLlf8&IVQQ*ZhJg=w>JZi$7(MSA@l4LG)qEflJA4&BQx z_Z9s~Rb$AKquZh`V5{B&Y(k;<)%%~NQtW9ummvvF(wl5$AOLgcUW}PtgU-Q9BLK@Z z2t02v_gY_`gr)dmb!QN7sR^J8=Iz8T*SQK%2(cj@Dh>FKF;W*GFEv?SPIN8+fG$gP zUR*rq1irtlt0)^Y2xnxbcdoTQ2b`*C2nUm-XVe6+*$YP!0K2a5L-fWLl?Km}qqPB* zBJEGM3xHvgefyE+)?Z3#8c~R87zhMe>m1fS?*MD0HI)y|w7;lm6#E2uqucA%1hBad zBr))3K==ARf+sg@0oZb+=togPr&~^Rt8l|{Xnpy!%cs2%17+o;+oRj-k)|2pKX@;c z#i)itYw{`(4i^1>>sd*vr-Roci zoCY4>$Un7BiDQmd20A|9n_OieK$iu<-EYLd^Oc~=OXDw;@e*f0_eqc=UF>2=0t-M^ z(cZbKCV&c%B^|sVeA*4eC!A9KJ)!yKYbvxM^%J(DD>J z9y1Soj51jrZq}93Vfbkw)K36U zUy~C`aR#9`L;#i?Ee$3G9G_ripbK+ca_*tu#R!76^%2T~(;t5y(qFgowu`1f69er^ z#(;ifO#oGsK^T!`37#MQjexs=fBpPp0HUuE8_F^>rNFo3NcT1EEBf7HqA8$%;)isf zcoZ!JVc=t5+6G)2^o~7A`n|s%^b=gm1<)vgPJy#kjU&xEH`fGEH3@hD`BIzIX!@K6IS`Qiy&AKBCeg@ir6RHd(1V!AToNr^A=CY+^ zNQrA%t9F+V>n_pUz)*ujn6FkiqP+71fU8dPQW_4< zc;uH+20A&h%0PlLZXryN7croe5^1aqo~ok2-h0z}sz8O-0}H_S!>?61pgApclx)$a zq1&1OydWY?+W0~Alph4I0si0$Vgtp{0_bjp0JPQ|+%Z}kPyk7HQk8);M%09o6}kyR z2$WJQ1Ec*u_H8ePwcRNtl~VfueEZ_KO%-SWyMry-G<4giqxnJOVz=N|fjb3!=`t2T z4|Jam+%Ib&2<(yd00U(pMKOuWKw4u45ys9YrB*A5b2)Az1cB$Fa&T`tg4Syjfbx5Y zpL)r8XW@TUwZwqA+6CA;v4LY=5Z{Ivv+laO0D{3)U_PPR zfJ#H--gl9;JBW*vfX-V4Q4k=dM3-RB?O)FY(1n`S7v@w|83(w#CV(x3BuNN@;0wTu zf%{>Fh))Kh@VfLjOaMxAaK;^}e4F+sR~%GzQ=)s`PH7lq-5z4N`IXX0DKHH=unrVR z%UYKJqAy(>G7wKzHzNJcngF&CF8FJ@{ZWgTqSU1Q$yEk2f(BD>{}u99i*B#C z;!0FXNxz>XB$NxML0r)?Jqx5&jVDVwZ>R}i3nCoKQm1JPKZs8He(*p2Ak2p+)!%I7 zGfS=65tu8kxh_RMB!Ed(2GV80%v*j5|LChp;+TH_{FD#=P)Z>!=pBE2MVw$Qv=%!s z$lIu_Z?{IgttNo2Yz_EpD7*^&#~?nsk43tf{GEk8w%zgM%n9(#zmJQ%$U1mW9&yAZq^MoRw=rNIo$5vo5zz=?(KL@NUg zT!EaOANn2qyIzGZ2W~)|q!^}&Wtrq>evC@i%-s@35?{if`l*VB@h^aPAXQQmz&3*$ z4oJP*iSdK*l<$Y1^@Gqr^UJ^wSVx=Cvy742fKtG*`D~(o;$f#L6FpX<>YC^W(kDGz~dl3nPWPB5dNAUgx~f3Mp+ZUb|r%7f_0b1 zF@6|+8aRsJr_g+6m1%1VTx*mCAO^x9H30x%?Y|lO&~3|i{#rvPNzhqLarPP35KxhY zR4aaH7|!+02GpF?i1&bgDR9&ef{!!!|(&PjS2h* z2JNcK%SnUP%0QRQhZo@A`O_Ger2Xo$q?kX2SnVnq@*+WntlPzPt@IktX9^qx{s)?) zei+^m1i?do5IrT${_>UMR;>f53E+9c^BTj`N@H4K=?CF2A~*`X+z|4QEJM&Ak?a%q zN{U`lQvjfqBG|E;$g@{op9+xC6nb?*kVVNd!+Nee_;s!S_w#)hfp|h|-UIw3aF-v1 zZ}P+Nn~(jc3qeQMnb{u1TQ9xmkBgOkd_QdYLHKACh425v_uan#?wgzcHFC|rGYydm z26^zyD|jdjB1BCAXpP)^BhJ0=MNID+B>xD3bbQPmd)G<_wuMxyOe`hDSFZBO1%un2 zM+N)=QXTMu;DtdLKI8}CV?wIs7Qiq1`R(^Tnf1!MKKSbQPa=f-4Dj~Pef>n^8-KTW zz%u0H@iOvfkAY=l@4sa& z0x;DY2?7Frr84oyfKLG52YuW?pL2pnA0SOT_6wLh_c`Tu|V#<2a) zR~&o{cntW&SHE}i=O6mNr+@L(Qhw{nrS6;*ICZ;F29bU-ycKx=Kj+!scqdc$J%G`i zMHj2o*(`xrE66g>prrd^d7&0?4tNImOI?cJ3L3$>S%c>{|3plAz3QsNC%*W@>D%VK zL$80)j>Agp52Jb6#Crn$F5M@;jq`$+5I^#Hn)f|`&ev3CI|rg{{izj3RlnEAcICYngx+wWmFA9H9uY{TaCfizQwWT&?6W9Ul6+#?PTE7;! zPr&RJT!u=Z9@fZ5K!1}#!0s%FwxmqlpwU~)QmRoCz{H~4iC3g2uONt|^D|nASE0EL zm>yaRQ-BNDfCCtt@R}t9m7X4hnu#`pW}fE+Jc{OFFAV=`y?@;6#5hsC*=qu*aYcCU z^mFXmy=x^Iq%BipcxXHz0K(ya0nh{v3fQFuyM)%eG;$|e??z|`gf}D#|Dv@r?3|=y z5JUNN@r*{D7RXbePJw(D^wQ9T?+iD7s-Y_ssUL+a0(4255cqXOz6$(*jv=phMM$xL P00000NkvXXu0mjfZs+1# literal 19239 zcmV*pKt{ibP)`1aL%Tg?hqDfhW7Da*(MN$$QSOkJ3DhVvw z_UUuWIr(E2Wq10_otXuJ_j&M;d&@cB&VF;scfKMxPeqPyTR2bo)-@W|3iL`eD}hxS zA_4{g0rUe!Ag5s*$O#zNnu8L3P$S;dLLbnkcyZbNhsS#O>zs9nUJEc=IC970s5XuF zBlJ7bTnAhnY!CXNM!W#x1u6K!xRLzPhWmFp!S?a?;ha`XeIN43D~o?hDC6ff`fec6 zwax`ut$6|=9+SfV_TmSQyweK@jLP5e?xFtuVtCyRRs47p}u-vN#BNw zdEggThQn#KT4}FeYcU`N18AWX+L1zdS}O(eH-Kw;Eo(KD)<027|GncD{%Y;RW2s)t z(+kdO#nd-r4h<~10_0Cg^fe0B30MipsxJw4qG!!0Sre@_j^~XO3eGdW@*bC3KfK}b z%&uO`)eX)%#nks9hhAKAixl$Yx-i*f3$KH?s3XF45XW`N7YZm}9aLIBqzv(wmp+z$ zqt|kEinB&B5B$Q)u$}V%73g0>v#RBWENcSS?GI42uHrZj`9cw2DXrnVX!WO?cVr*! zwOm0n>lIVqhdlDqvR@GBKhUtK-S&hXMmvQdMC%<|Q*cTnsMZ<~k80olcblKczS3*a zf?`%H=CQk%ZS>H8BjAdl+7zaV_Pn5)>nTbp@`VCL#|7|&=1&Ug^zUwc9=F%Bwactj zObz15Jxf1>=Dz{qKpPhVv<|e%UgLNk*<2p26u@)7HDNJ8MMZeLceRn_RRJ!b=@{SSIonAFZ(Nj{#38!I1>%Hu8Zq> zxUL66V;Ba8G?0eGloBZor0n^}R~OIoNM&+>9z)10H*KHX*K3&?p{Jkhk-L|ESi_fl zDZ^g2*(Kj9X(b`nEF

+u_yv@`A>EvKGth_YSGo< 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 O0000+krm-5^w$s?QZ8kO$S(Xfbg5V&j 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 literal 30253 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 eDCtNJ)3Y(j_HGNSAa;_qXfs`#&tt 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 literal 41857 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 element. + +$body-bg: #e4e5e6; + +// Typography: +// Font, line-height, and color for body text, headings, and more. + +$font-size-base: 1rem; diff --git a/src/main/webapp/content/scss/global.scss b/src/main/webapp/content/scss/global.scss new file mode 100644 index 000000000..6f26636fe --- /dev/null +++ b/src/main/webapp/content/scss/global.scss @@ -0,0 +1,182 @@ +@import 'bootstrap-variables'; +@import '~bootstrap/scss/functions'; +@import '~bootstrap/scss/variables'; + +/* ============================================================== +Bootstrap tweaks +===============================================================*/ + +body, +h1, +h2, +h3, +h4 { + font-weight: 300; +} + +a { + color: #533f03; + font-weight: bold; +} + +a:hover { + color: #533f03; + font-weight: bold; + /* make sure browsers use the pointer cursor for anchors, even with no href */ + cursor: pointer; +} + +.dropdown-item:hover { + color: $dropdown-link-hover-color; +} + +/* ========================================================================== +Browser Upgrade Prompt +========================================================================== */ +.browserupgrade { + margin: 0.2em 0; + background: #ccc; + color: #000; + padding: 0.2em 0; +} + +/* ========================================================================== +Generic styles +========================================================================== */ + +/* Error highlight on input fields */ +.ng-valid[required], +.ng-valid.required { + border-left: 5px solid green; +} + +.ng-invalid:not(form) { + border-left: 5px solid red; +} + +/* other generic styles */ + +.jh-card { + padding: 1.5%; + margin-top: 20px; + border: none; +} + +.error { + color: white; + background-color: red; +} + +.pad { + padding: 10px; +} + +.w-40 { + width: 40% !important; +} + +.w-60 { + width: 60% !important; +} + +.break { + white-space: normal; + word-break: break-all; +} + +.readonly { + background-color: #eee; + opacity: 1; +} + +.footer { + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + +.hand, +[jhisortby] { + cursor: pointer; +} + +/* ========================================================================== +Custom alerts for notification +========================================================================== */ +.alerts { + .alert { + text-overflow: ellipsis; + pre { + background: none; + border: none; + font: inherit; + color: inherit; + padding: 0; + margin: 0; + } + .popover pre { + font-size: 10px; + } + } + .toast { + position: fixed; + width: 100%; + &.left { + left: 5px; + } + &.right { + right: 5px; + } + &.top { + top: 55px; + } + &.bottom { + bottom: 55px; + } + } +} + +@media screen and (min-width: 480px) { + .alerts .toast { + width: 50%; + } +} + +/* ========================================================================== +entity detail page css +========================================================================== */ +.row.jh-entity-details > { + dd { + margin-bottom: 15px; + } +} + +@media screen and (min-width: 768px) { + .row.jh-entity-details > { + dt { + margin-bottom: 15px; + } + dd { + border-bottom: 1px solid #eee; + padding-left: 180px; + margin-left: 0; + } + } +} + +/* ========================================================================== +ui bootstrap tweaks +========================================================================== */ +.nav, +.pagination, +.carousel, +.panel-title a { + cursor: pointer; +} + +.thread-dump-modal-lock { + max-width: 450px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* jhipster-needle-scss-add-main JHipster will add new css style */ diff --git a/src/main/webapp/content/scss/vendor.scss b/src/main/webapp/content/scss/vendor.scss new file mode 100644 index 000000000..435618ae4 --- /dev/null +++ b/src/main/webapp/content/scss/vendor.scss @@ -0,0 +1,11 @@ +/* after changing this file run 'npm run webpack:build' */ + +/*************************** +put Sass variables here: +eg $input-color: red; +****************************/ +// Override Boostrap variables +// Import Bootstrap source files from node_modules +@import '~bootstrap/scss/bootstrap'; + +/* jhipster-needle-scss-add-vendor JHipster will add new css style */ diff --git a/src/main/webapp/i18n/en/activate.json b/src/main/webapp/i18n/en/activate.json index 2926b7891..058bd497f 100644 --- a/src/main/webapp/i18n/en/activate.json +++ b/src/main/webapp/i18n/en/activate.json @@ -1,9 +1,9 @@ { - "activate": { - "title": "Activation", - "messages": { - "success": "Your user account has been activated. Please ", - "error": "Your user could not be activated. Please use the registration form to sign up." - } + "activate": { + "title": "Activation", + "messages": { + "success": "Your user account has been activated. Please ", + "error": "Your user could not be activated. Please use the registration form to sign up." } + } } diff --git a/src/main/webapp/i18n/en/audits.json b/src/main/webapp/i18n/en/audits.json index ed5e16d4c..f3b4921ef 100644 --- a/src/main/webapp/i18n/en/audits.json +++ b/src/main/webapp/i18n/en/audits.json @@ -1,27 +1,27 @@ { - "audits": { - "title": "Audits", - "filter": { - "title": "Filter per date", - "from": "from", - "to": "to", - "button": { - "weeks": "Weeks", - "today": "today", - "clear": "clear", - "close": "close" - } - }, - "table": { - "header": { - "principal": "User", - "date": "Date", - "status": "State", - "data": "Extra data" - }, - "data": { - "remoteAddress": "Remote Address:" - } - } + "audits": { + "title": "Audits", + "filter": { + "title": "Filter per date", + "from": "from", + "to": "to", + "button": { + "weeks": "Weeks", + "today": "today", + "clear": "clear", + "close": "close" + } + }, + "table": { + "header": { + "principal": "User", + "date": "Date", + "status": "State", + "data": "Extra data" + }, + "data": { + "remoteAddress": "Remote Address:" + } } + } } diff --git a/src/main/webapp/i18n/en/bankAccount.json b/src/main/webapp/i18n/en/bankAccount.json index ceb4039f2..a19e07e92 100644 --- a/src/main/webapp/i18n/en/bankAccount.json +++ b/src/main/webapp/i18n/en/bankAccount.json @@ -1,24 +1,24 @@ { - "jhipsterSampleApplicationApp": { - "bankAccount": { - "home": { - "title": "Bank Accounts", - "createLabel": "Create a new Bank Account", - "createOrEditLabel": "Create or edit a Bank Account" - }, - "created": "A new Bank Account is created with identifier {{ param }}", - "updated": "A Bank Account is updated with identifier {{ param }}", - "deleted": "A Bank Account is deleted with identifier {{ param }}", - "delete": { - "question": "Are you sure you want to delete Bank Account {{ id }}?" - }, - "detail": { - "title": "Bank Account" - }, - "name": "Name", - "balance": "Balance", - "user": "User", - "operation": "Operation" - } + "jhipsterSampleApplicationApp": { + "bankAccount": { + "home": { + "title": "Bank Accounts", + "createLabel": "Create a new Bank Account", + "createOrEditLabel": "Create or edit a Bank Account" + }, + "created": "A new Bank Account is created with identifier {{ param }}", + "updated": "A Bank Account is updated with identifier {{ param }}", + "deleted": "A Bank Account is deleted with identifier {{ param }}", + "delete": { + "question": "Are you sure you want to delete Bank Account {{ id }}?" + }, + "detail": { + "title": "Bank Account" + }, + "name": "Name", + "balance": "Balance", + "user": "User", + "operation": "Operation" } + } } diff --git a/src/main/webapp/i18n/en/configuration.json b/src/main/webapp/i18n/en/configuration.json index 81e208de5..09c9a1af0 100644 --- a/src/main/webapp/i18n/en/configuration.json +++ b/src/main/webapp/i18n/en/configuration.json @@ -1,10 +1,10 @@ { - "configuration": { - "title": "Configuration", - "filter": "Filter (by prefix)", - "table": { - "prefix": "Prefix", - "properties": "Properties" - } + "configuration": { + "title": "Configuration", + "filter": "Filter (by prefix)", + "table": { + "prefix": "Prefix", + "properties": "Properties" } + } } diff --git a/src/main/webapp/i18n/en/error.json b/src/main/webapp/i18n/en/error.json index 4f8cc3e73..d25756327 100644 --- a/src/main/webapp/i18n/en/error.json +++ b/src/main/webapp/i18n/en/error.json @@ -1,14 +1,14 @@ { - "error": { - "title": "Error page!", - "http": { - "400": "Bad request.", - "403": "You are not authorized to access this page.", - "404": "The page does not exist.", - "405": "The HTTP verb you used is not supported for this URL.", - "500": "Internal server error." - }, - "concurrencyFailure": "Another user modified this data at the same time as you. Your changes were rejected.", - "validation": "Validation error on the server." - } + "error": { + "title": "Error page!", + "http": { + "400": "Bad request.", + "403": "You are not authorized to access this page.", + "404": "The page does not exist.", + "405": "The HTTP verb you used is not supported for this URL.", + "500": "Internal server error." + }, + "concurrencyFailure": "Another user modified this data at the same time as you. Your changes were rejected.", + "validation": "Validation error on the server." + } } diff --git a/src/main/webapp/i18n/en/global.json b/src/main/webapp/i18n/en/global.json index 78b8edf0d..4bf6cbf9a 100644 --- a/src/main/webapp/i18n/en/global.json +++ b/src/main/webapp/i18n/en/global.json @@ -1,141 +1,139 @@ { - "global": { - "title": "JhipsterSampleApplication", - "browsehappy": - "You are using an outdated browser. Please upgrade your browser to improve your experience.", - "menu": { - "home": "Home", - "jhipster-needle-menu-add-element": "JHipster will add additional menu entries here (do not translate!)", - "entities": { - "main": "Entities", - "bankAccount": "Bank Account", - "label": "Label", - "operation": "Operation", - "jhipster-needle-menu-add-entry": "JHipster will add additional entities here (do not translate!)" - }, - "account": { - "main": "Account", - "settings": "Settings", - "password": "Password", - "sessions": "Sessions", - "login": "Sign in", - "logout": "Sign out", - "register": "Register" - }, - "admin": { - "main": "Administration", - "userManagement": "User management", - "tracker": "User tracker", - "metrics": "Metrics", - "health": "Health", - "configuration": "Configuration", - "logs": "Logs", - "audits": "Audits", - "apidocs": "API", - "database": "Database", - "jhipster-needle-menu-add-admin-element": "JHipster will add additional menu entries here (do not translate!)" - }, - "language": "Language" - }, - "form": { - "username": "Username", - "username.placeholder": "Your username", - "currentpassword": "Current password", - "currentpassword.placeholder": "Current password", - "newpassword": "New password", - "newpassword.placeholder": "New password", - "confirmpassword": "New password confirmation", - "confirmpassword.placeholder": "Confirm the new password", - "email": "Email", - "email.placeholder": "Your email" - }, - "messages": { - "info": { - "authenticated": { - "prefix": "If you want to ", - "link": "sign in", - "suffix": - ", you can try the default accounts:
- Administrator (login=\"admin\" and password=\"admin\")
- User (login=\"user\" and password=\"user\")." - }, - "register": { - "noaccount": "You don't have an account yet?", - "link": "Register a new account" - } - }, - "error": { - "dontmatch": "The password and its confirmation do not match!" - }, - "validate": { - "newpassword": { - "required": "Your password is required.", - "minlength": "Your password is required to be at least 4 characters.", - "maxlength": "Your password cannot be longer than 50 characters.", - "strength": "Password strength:" - }, - "confirmpassword": { - "required": "Your confirmation password is required.", - "minlength": "Your confirmation password is required to be at least 4 characters.", - "maxlength": "Your confirmation password cannot be longer than 50 characters." - }, - "email": { - "required": "Your email is required.", - "invalid": "Your email is invalid.", - "minlength": "Your email is required to be at least 5 characters.", - "maxlength": "Your email cannot be longer than 50 characters." - } - } - }, - "field": { - "id": "ID" - }, - "ribbon": { - "dev": "Development" - }, - "item-count": "Showing {{first}} - {{second}} of {{total}} items." + "global": { + "title": "JhipsterSampleApplication", + "browsehappy": "You are using an outdated browser. Please upgrade your browser to improve your experience.", + "menu": { + "home": "Home", + "jhipster-needle-menu-add-element": "JHipster will add additional menu entries here (do not translate!)", + "entities": { + "main": "Entities", + "bankAccount": "Bank Account", + "label": "Label", + "operation": "Operation", + "jhipster-needle-menu-add-entry": "JHipster will add additional entities here (do not translate!)" + }, + "account": { + "main": "Account", + "settings": "Settings", + "password": "Password", + "sessions": "Sessions", + "login": "Sign in", + "logout": "Sign out", + "register": "Register" + }, + "admin": { + "main": "Administration", + "userManagement": "User management", + "tracker": "User tracker", + "metrics": "Metrics", + "health": "Health", + "configuration": "Configuration", + "logs": "Logs", + "audits": "Audits", + "apidocs": "API", + "database": "Database", + "jhipster-needle-menu-add-admin-element": "JHipster will add additional menu entries here (do not translate!)" + }, + "language": "Language" + }, + "form": { + "username.label": "Username", + "username.placeholder": "Your username", + "currentpassword.label": "Current password", + "currentpassword.placeholder": "Current password", + "newpassword.label": "New password", + "newpassword.placeholder": "New password", + "confirmpassword.label": "New password confirmation", + "confirmpassword.placeholder": "Confirm the new password", + "email.label": "Email", + "email.placeholder": "Your email" }, - "entity": { - "action": { - "addblob": "Add blob", - "addimage": "Add image", - "back": "Back", - "cancel": "Cancel", - "delete": "Delete", - "edit": "Edit", - "open": "Open", - "save": "Save", - "view": "View" + "messages": { + "info": { + "authenticated": { + "prefix": "If you want to ", + "link": "sign in", + "suffix": ", you can try the default accounts:
- Administrator (login=\"admin\" and password=\"admin\")
- User (login=\"user\" and password=\"user\")." }, - "detail": { - "field": "Field", - "value": "Value" + "register": { + "noaccount": "You don't have an account yet?", + "link": "Register a new account" + } + }, + "error": { + "dontmatch": "The password and its confirmation do not match!" + }, + "validate": { + "newpassword": { + "required": "Your password is required.", + "minlength": "Your password is required to be at least 4 characters.", + "maxlength": "Your password cannot be longer than 50 characters.", + "strength": "Password strength:" }, - "delete": { - "title": "Confirm delete operation" + "confirmpassword": { + "required": "Your confirmation password is required.", + "minlength": "Your confirmation password is required to be at least 4 characters.", + "maxlength": "Your confirmation password cannot be longer than 50 characters." }, - "validation": { - "required": "This field is required.", - "minlength": "This field is required to be at least {{ min }} characters.", - "maxlength": "This field cannot be longer than {{ max }} characters.", - "min": "This field should be at least {{ min }}.", - "max": "This field cannot be more than {{ max }}.", - "minbytes": "This field should be at least {{ min }} bytes.", - "maxbytes": "This field cannot be more than {{ max }} bytes.", - "pattern": "This field should follow pattern for {{ pattern }}.", - "number": "This field should be a number.", - "datetimelocal": "This field should be a date and time.", - "patternLogin": "This field can only contain letters, digits and e-mail addresses." + "email": { + "required": "Your email is required.", + "invalid": "Your email is invalid.", + "minlength": "Your email is required to be at least 5 characters.", + "maxlength": "Your email cannot be longer than 50 characters." } + } + }, + "field": { + "id": "ID" + }, + "ribbon": { + "dev": "Development" + }, + "item-count": "Showing {{first}} - {{second}} of {{total}} items." + }, + "entity": { + "action": { + "addblob": "Add blob", + "addimage": "Add image", + "back": "Back", + "cancel": "Cancel", + "delete": "Delete", + "edit": "Edit", + "open": "Open", + "save": "Save", + "view": "View" + }, + "detail": { + "field": "Field", + "value": "Value" }, - "error": { - "internalServerError": "Internal server error", - "server.not.reachable": "Server not reachable", - "url.not.found": "Not found", - "NotNull": "Field {{ fieldName }} cannot be empty!", - "Size": "Field {{ fieldName }} does not meet min/max size requirements!", - "userexists": "Login name already used!", - "emailexists": "Email is already in use!", - "idexists": "A new {{ entityName }} cannot already have an ID", - "idnull": "Invalid ID" + "delete": { + "title": "Confirm delete operation" }, - "footer": "This is your footer" + "validation": { + "required": "This field is required.", + "minlength": "This field is required to be at least {{ min }} characters.", + "maxlength": "This field cannot be longer than {{ max }} characters.", + "min": "This field should be at least {{ min }}.", + "max": "This field cannot be more than {{ max }}.", + "minbytes": "This field should be at least {{ min }} bytes.", + "maxbytes": "This field cannot be more than {{ max }} bytes.", + "pattern": "This field should follow pattern for {{ pattern }}.", + "number": "This field should be a number.", + "datetimelocal": "This field should be a date and time.", + "patternLogin": "This field can only contain letters, digits and e-mail addresses." + } + }, + "error": { + "internalServerError": "Internal server error", + "server.not.reachable": "Server not reachable", + "url.not.found": "Not found", + "NotNull": "Field {{ fieldName }} cannot be empty!", + "Size": "Field {{ fieldName }} does not meet min/max size requirements!", + "userexists": "Login name already used!", + "emailexists": "Email is already in use!", + "idexists": "A new {{ entityName }} cannot already have an ID", + "idnull": "Invalid ID" + }, + "footer": "This is your footer" } diff --git a/src/main/webapp/i18n/en/health.json b/src/main/webapp/i18n/en/health.json index 9eba9c2d4..e7050c872 100644 --- a/src/main/webapp/i18n/en/health.json +++ b/src/main/webapp/i18n/en/health.json @@ -1,28 +1,28 @@ { - "health": { - "title": "Health Checks", - "refresh.button": "Refresh", - "stacktrace": "Stacktrace", - "details": { - "details": "Details", - "properties": "Properties", - "name": "Name", - "value": "Value", - "error": "Error" - }, - "indicator": { - "diskSpace": "Disk space", - "mail": "Email", - "db": "Database" - }, - "table": { - "service": "Service name", - "status": "Status" - }, - "status": { - "UNKNOWN": "UNKNOWN", - "UP": "UP", - "DOWN": "DOWN" - } + "health": { + "title": "Health Checks", + "refresh.button": "Refresh", + "stacktrace": "Stacktrace", + "details": { + "details": "Details", + "properties": "Properties", + "name": "Name", + "value": "Value", + "error": "Error" + }, + "indicator": { + "diskSpace": "Disk space", + "mail": "Email", + "db": "Database" + }, + "table": { + "service": "Service name", + "status": "Status" + }, + "status": { + "UNKNOWN": "UNKNOWN", + "UP": "UP", + "DOWN": "DOWN" } + } } diff --git a/src/main/webapp/i18n/en/home.json b/src/main/webapp/i18n/en/home.json index 402f18700..42c917f13 100644 --- a/src/main/webapp/i18n/en/home.json +++ b/src/main/webapp/i18n/en/home.json @@ -1,19 +1,19 @@ { - "home": { - "title": "Welcome, Java Hipster!", - "subtitle": "This is your homepage", - "logged": { - "message": "You are logged in as user \"{{username}}\"." - }, - "question": "If you have any question on JHipster:", - "link": { - "homepage": "JHipster homepage", - "stackoverflow": "JHipster on Stack Overflow", - "bugtracker": "JHipster bug tracker", - "chat": "JHipster public chat room", - "follow": "follow @java_hipster on Twitter" - }, - "like": "If you like JHipster, don't forget to give us a star on", - "github": "GitHub" - } + "home": { + "title": "Welcome, Java Hipster!", + "subtitle": "This is your homepage", + "logged": { + "message": "You are logged in as user \"{{username}}\"." + }, + "question": "If you have any question on JHipster:", + "link": { + "homepage": "JHipster homepage", + "stackoverflow": "JHipster on Stack Overflow", + "bugtracker": "JHipster bug tracker", + "chat": "JHipster public chat room", + "follow": "follow @java_hipster on Twitter" + }, + "like": "If you like JHipster, don't forget to give us a star on", + "github": "GitHub" + } } diff --git a/src/main/webapp/i18n/en/label.json b/src/main/webapp/i18n/en/label.json index 462ebe4de..0bf62d054 100644 --- a/src/main/webapp/i18n/en/label.json +++ b/src/main/webapp/i18n/en/label.json @@ -1,22 +1,22 @@ { - "jhipsterSampleApplicationApp": { - "label": { - "home": { - "title": "Labels", - "createLabel": "Create a new Label", - "createOrEditLabel": "Create or edit a Label" - }, - "created": "A new Label is created with identifier {{ param }}", - "updated": "A Label is updated with identifier {{ param }}", - "deleted": "A Label is deleted with identifier {{ param }}", - "delete": { - "question": "Are you sure you want to delete Label {{ id }}?" - }, - "detail": { - "title": "Label" - }, - "label": "Label", - "operation": "Operation" - } + "jhipsterSampleApplicationApp": { + "label": { + "home": { + "title": "Labels", + "createLabel": "Create a new Label", + "createOrEditLabel": "Create or edit a Label" + }, + "created": "A new Label is created with identifier {{ param }}", + "updated": "A Label is updated with identifier {{ param }}", + "deleted": "A Label is deleted with identifier {{ param }}", + "delete": { + "question": "Are you sure you want to delete Label {{ id }}?" + }, + "detail": { + "title": "Label" + }, + "label": "Label", + "operation": "Operation" } + } } diff --git a/src/main/webapp/i18n/en/login.json b/src/main/webapp/i18n/en/login.json index 3552ddbfb..466795880 100644 --- a/src/main/webapp/i18n/en/login.json +++ b/src/main/webapp/i18n/en/login.json @@ -1,19 +1,19 @@ { - "login": { - "title": "Sign in", - "form": { - "password": "Password", - "password.placeholder": "Your password", - "rememberme": "Remember me", - "button": "Sign in" - }, - "messages": { - "error": { - "authentication": "Failed to sign in! Please check your credentials and try again." - } - }, - "password": { - "forgot": "Did you forget your password?" - } + "login": { + "title": "Sign in", + "form": { + "password": "Password", + "password.placeholder": "Your password", + "rememberme": "Remember me", + "button": "Sign in" + }, + "messages": { + "error": { + "authentication": "Failed to sign in! Please check your credentials and try again." + } + }, + "password": { + "forgot": "Did you forget your password?" } + } } diff --git a/src/main/webapp/i18n/en/logs.json b/src/main/webapp/i18n/en/logs.json index a614b128d..8ee0ba5a2 100644 --- a/src/main/webapp/i18n/en/logs.json +++ b/src/main/webapp/i18n/en/logs.json @@ -1,11 +1,11 @@ { - "logs": { - "title": "Logs", - "nbloggers": "There are {{ total }} loggers.", - "filter": "Filter", - "table": { - "name": "Name", - "level": "Level" - } + "logs": { + "title": "Logs", + "nbloggers": "There are {{ total }} loggers.", + "filter": "Filter", + "table": { + "name": "Name", + "level": "Level" } + } } diff --git a/src/main/webapp/i18n/en/metrics.json b/src/main/webapp/i18n/en/metrics.json index 7d379d206..c514dee72 100644 --- a/src/main/webapp/i18n/en/metrics.json +++ b/src/main/webapp/i18n/en/metrics.json @@ -1,102 +1,102 @@ { - "metrics": { - "title": "Application Metrics", - "refresh.button": "Refresh", - "updating": "Updating...", - "jvm": { - "title": "JVM Metrics", - "memory": { - "title": "Memory", - "total": "Total Memory", - "heap": "Heap Memory", - "nonheap": "Non-Heap Memory" - }, - "threads": { - "title": "Threads", - "all": "All", - "runnable": "Runnable", - "timedwaiting": "Timed waiting", - "waiting": "Waiting", - "blocked": "Blocked", - "dump": { - "title": "Threads dump", - "id": "Id: ", - "blockedtime": "Blocked Time", - "blockedcount": "Blocked Count", - "waitedtime": "Waited Time", - "waitedcount": "Waited Count", - "lockname": "Lock name", - "stacktrace": "Stacktrace", - "show": "Show Stacktrace", - "hide": "Hide Stacktrace" - } - }, - "gc": { - "title": "Garbage collections", - "marksweepcount": "Mark Sweep count", - "marksweeptime": "Mark Sweep time", - "scavengecount": "Scavenge count", - "scavengetime": "Scavenge time" - }, - "http": { - "title": "HTTP requests (time in millisecond)", - "active": "Active requests:", - "total": "Total requests:", - "table": { - "code": "Code", - "count": "Count", - "mean": "Mean", - "average": "Average", - "max": "Max" - }, - "code": { - "ok": "Ok", - "notfound": "Not found", - "servererror": "Server Error" - } - } - }, - "servicesstats": { - "title": "Services statistics (time in millisecond)", - "table": { - "name": "Service name", - "count": "Count", - "mean": "Mean", - "min": "Min", - "max": "Max", - "p50": "p50", - "p75": "p75", - "p95": "p95", - "p99": "p99" - } - }, - "cache": { - "title": "Cache statistics", - "cachename": "Cache name", - "hits": "Cache Hits", - "misses": "Cache Misses", - "gets": "Cache Gets", - "puts": "Cache Puts", - "removals": "Cache Removals", - "evictions": "Cache Evictions", - "hitPercent": "Cache Hit %", - "missPercent": "Cache Miss %", - "averageGetTime": "Average get time (µs)", - "averagePutTime": "Average put time (µs)", - "averageRemoveTime": "Average remove time (µs)" + "metrics": { + "title": "Application Metrics", + "refresh.button": "Refresh", + "updating": "Updating...", + "jvm": { + "title": "JVM Metrics", + "memory": { + "title": "Memory", + "total": "Total Memory", + "heap": "Heap Memory", + "nonheap": "Non-Heap Memory" + }, + "threads": { + "title": "Threads", + "all": "All", + "runnable": "Runnable", + "timedwaiting": "Timed waiting", + "waiting": "Waiting", + "blocked": "Blocked", + "dump": { + "title": "Threads dump", + "id": "Id: ", + "blockedtime": "Blocked Time", + "blockedcount": "Blocked Count", + "waitedtime": "Waited Time", + "waitedcount": "Waited Count", + "lockname": "Lock name", + "stacktrace": "Stacktrace", + "show": "Show Stacktrace", + "hide": "Hide Stacktrace" + } + }, + "gc": { + "title": "Garbage collections", + "marksweepcount": "Mark Sweep count", + "marksweeptime": "Mark Sweep time", + "scavengecount": "Scavenge count", + "scavengetime": "Scavenge time" + }, + "http": { + "title": "HTTP requests (time in millisecond)", + "active": "Active requests:", + "total": "Total requests:", + "table": { + "code": "Code", + "count": "Count", + "mean": "Mean", + "average": "Average", + "max": "Max" }, - "datasource": { - "usage": "Connection Pool Usage", - "title": "DataSource statistics (time in millisecond)", - "name": "Pool usage", - "count": "Count", - "mean": "Mean", - "min": "Min", - "max": "Max", - "p50": "p50", - "p75": "p75", - "p95": "p95", - "p99": "p99" + "code": { + "ok": "Ok", + "notfound": "Not found", + "servererror": "Server Error" } + } + }, + "servicesstats": { + "title": "Services statistics (time in millisecond)", + "table": { + "name": "Service name", + "count": "Count", + "mean": "Mean", + "min": "Min", + "max": "Max", + "p50": "p50", + "p75": "p75", + "p95": "p95", + "p99": "p99" + } + }, + "cache": { + "title": "Cache statistics", + "cachename": "Cache name", + "hits": "Cache Hits", + "misses": "Cache Misses", + "gets": "Cache Gets", + "puts": "Cache Puts", + "removals": "Cache Removals", + "evictions": "Cache Evictions", + "hitPercent": "Cache Hit %", + "missPercent": "Cache Miss %", + "averageGetTime": "Average get time (µs)", + "averagePutTime": "Average put time (µs)", + "averageRemoveTime": "Average remove time (µs)" + }, + "datasource": { + "usage": "Connection Pool Usage", + "title": "DataSource statistics (time in millisecond)", + "name": "Pool usage", + "count": "Count", + "mean": "Mean", + "min": "Min", + "max": "Max", + "p50": "p50", + "p75": "p75", + "p95": "p95", + "p99": "p99" } + } } diff --git a/src/main/webapp/i18n/en/operation.json b/src/main/webapp/i18n/en/operation.json index 0a17870a6..5e10e33fb 100644 --- a/src/main/webapp/i18n/en/operation.json +++ b/src/main/webapp/i18n/en/operation.json @@ -1,25 +1,25 @@ { - "jhipsterSampleApplicationApp": { - "operation": { - "home": { - "title": "Operations", - "createLabel": "Create a new Operation", - "createOrEditLabel": "Create or edit a Operation" - }, - "created": "A new Operation is created with identifier {{ param }}", - "updated": "A Operation is updated with identifier {{ param }}", - "deleted": "A Operation is deleted with identifier {{ param }}", - "delete": { - "question": "Are you sure you want to delete Operation {{ id }}?" - }, - "detail": { - "title": "Operation" - }, - "date": "Date", - "description": "Description", - "amount": "Amount", - "bankAccount": "Bank Account", - "label": "Label" - } + "jhipsterSampleApplicationApp": { + "operation": { + "home": { + "title": "Operations", + "createLabel": "Create a new Operation", + "createOrEditLabel": "Create or edit a Operation" + }, + "created": "A new Operation is created with identifier {{ param }}", + "updated": "A Operation is updated with identifier {{ param }}", + "deleted": "A Operation is deleted with identifier {{ param }}", + "delete": { + "question": "Are you sure you want to delete Operation {{ id }}?" + }, + "detail": { + "title": "Operation" + }, + "date": "Date", + "description": "Description", + "amount": "Amount", + "bankAccount": "Bank Account", + "label": "Label" } + } } diff --git a/src/main/webapp/i18n/en/password.json b/src/main/webapp/i18n/en/password.json index 7a7613f7e..fc9b6c946 100644 --- a/src/main/webapp/i18n/en/password.json +++ b/src/main/webapp/i18n/en/password.json @@ -1,12 +1,12 @@ { - "password": { - "title": "Password for [{{username}}]", - "form": { - "button": "Save" - }, - "messages": { - "error": "An error has occurred! The password could not be changed.", - "success": "Password changed!" - } + "password": { + "title": "Password for [{{username}}]", + "form": { + "button": "Save" + }, + "messages": { + "error": "An error has occurred! The password could not be changed.", + "success": "Password changed!" } + } } diff --git a/src/main/webapp/i18n/en/register.json b/src/main/webapp/i18n/en/register.json index 3a03980bf..bbd49ebb3 100644 --- a/src/main/webapp/i18n/en/register.json +++ b/src/main/webapp/i18n/en/register.json @@ -1,24 +1,24 @@ { - "register": { - "title": "Registration", - "form": { - "button": "Register" - }, - "messages": { - "validate": { - "login": { - "required": "Your username is required.", - "minlength": "Your username is required to be at least 1 character.", - "maxlength": "Your username cannot be longer than 50 characters.", - "pattern": "Your username can only contain letters and digits." - } - }, - "success": "Registration saved! Please check your email for confirmation.", - "error": { - "fail": "Registration failed! Please try again later.", - "userexists": "Login name already registered! Please choose another one.", - "emailexists": "Email is already in use! Please choose another one." - } + "register": { + "title": "Registration", + "form": { + "button": "Register" + }, + "messages": { + "validate": { + "login": { + "required": "Your username is required.", + "minlength": "Your username is required to be at least 1 character.", + "maxlength": "Your username cannot be longer than 50 characters.", + "pattern": "Your username can only contain letters and digits." } + }, + "success": "Registration saved! Please check your email for confirmation.", + "error": { + "fail": "Registration failed! Please try again later.", + "userexists": "Login name already registered! Please choose another one.", + "emailexists": "Email is already in use! Please choose another one." + } } + } } diff --git a/src/main/webapp/i18n/en/reset.json b/src/main/webapp/i18n/en/reset.json index 6ceb949da..5a5456463 100644 --- a/src/main/webapp/i18n/en/reset.json +++ b/src/main/webapp/i18n/en/reset.json @@ -1,27 +1,27 @@ { - "reset": { - "request": { - "title": "Reset your password", - "form": { - "button": "Reset password" - }, - "messages": { - "info": "Enter the email address you used to register", - "success": "Check your emails for details on how to reset your password.", - "notfound": "Email address isn't registered! Please check and try again" - } - }, - "finish": { - "title": "Reset password", - "form": { - "button": "Validate new password" - }, - "messages": { - "info": "Choose a new password", - "success": "Your password has been reset. Please ", - "keymissing": "The reset key is missing.", - "error": "Your password couldn't be reset. Remember a password request is only valid for 24 hours." - } - } + "reset": { + "request": { + "title": "Reset your password", + "form": { + "button": "Reset password" + }, + "messages": { + "info": "Enter the email address you used to register", + "success": "Check your emails for details on how to reset your password.", + "notfound": "Email address isn't registered! Please check and try again" + } + }, + "finish": { + "title": "Reset password", + "form": { + "button": "Validate new password" + }, + "messages": { + "info": "Choose a new password", + "success": "Your password has been reset. Please ", + "keymissing": "The reset key is missing.", + "error": "Your password couldn't be reset. Remember a password request is only valid for 24 hours." + } } + } } diff --git a/src/main/webapp/i18n/en/sessions.json b/src/main/webapp/i18n/en/sessions.json index d410035ee..38bf44f70 100644 --- a/src/main/webapp/i18n/en/sessions.json +++ b/src/main/webapp/i18n/en/sessions.json @@ -1,15 +1,15 @@ { - "sessions": { - "title": "Active sessions for [{{username}}]", - "table": { - "ipaddress": "IP address", - "useragent": "User Agent", - "date": "Date", - "button": "Invalidate" - }, - "messages": { - "success": "Session invalidated!", - "error": "An error has occurred! The session could not be invalidated." - } + "sessions": { + "title": "Active sessions for [{{username}}]", + "table": { + "ipaddress": "IP address", + "useragent": "User Agent", + "date": "Date", + "button": "Invalidate" + }, + "messages": { + "success": "Session invalidated!", + "error": "An error has occurred! The session could not be invalidated." } + } } diff --git a/src/main/webapp/i18n/en/settings.json b/src/main/webapp/i18n/en/settings.json index d94138196..508c037c3 100644 --- a/src/main/webapp/i18n/en/settings.json +++ b/src/main/webapp/i18n/en/settings.json @@ -1,32 +1,32 @@ { - "settings": { - "title": "User settings for [{{username}}]", - "form": { - "firstname": "First Name", - "firstname.placeholder": "Your first name", - "lastname": "Last Name", - "lastname.placeholder": "Your last name", - "language": "Language", - "button": "Save" + "settings": { + "title": "User settings for [{{username}}]", + "form": { + "firstname": "First Name", + "firstname.placeholder": "Your first name", + "lastname": "Last Name", + "lastname.placeholder": "Your last name", + "language": "Language", + "button": "Save" + }, + "messages": { + "error": { + "fail": "An error has occurred! Settings could not be saved.", + "emailexists": "Email is already in use! Please choose another one." + }, + "success": "Settings saved!", + "validate": { + "firstname": { + "required": "Your first name is required.", + "minlength": "Your first name is required to be at least 1 character", + "maxlength": "Your first name cannot be longer than 50 characters" }, - "messages": { - "error": { - "fail": "An error has occurred! Settings could not be saved.", - "emailexists": "Email is already in use! Please choose another one." - }, - "success": "Settings saved!", - "validate": { - "firstname": { - "required": "Your first name is required.", - "minlength": "Your first name is required to be at least 1 character", - "maxlength": "Your first name cannot be longer than 50 characters" - }, - "lastname": { - "required": "Your last name is required.", - "minlength": "Your last name is required to be at least 1 character", - "maxlength": "Your last name cannot be longer than 50 characters" - } - } + "lastname": { + "required": "Your last name is required.", + "minlength": "Your last name is required to be at least 1 character", + "maxlength": "Your last name cannot be longer than 50 characters" } + } } + } } diff --git a/src/main/webapp/i18n/en/user-management.json b/src/main/webapp/i18n/en/user-management.json index 30c125b6d..8f4fb0ebe 100644 --- a/src/main/webapp/i18n/en/user-management.json +++ b/src/main/webapp/i18n/en/user-management.json @@ -1,30 +1,30 @@ { - "userManagement": { - "home": { - "title": "Users", - "createLabel": "Create a new user", - "createOrEditLabel": "Create or edit a user" - }, - "created": "A new user is created with identifier {{ param }}", - "updated": "An user is updated with identifier {{ param }}", - "deleted": "An user is deleted with identifier {{ param }}", - "delete": { - "question": "Are you sure you want to delete user {{ login }}?" - }, - "detail": { - "title": "User" - }, - "login": "Login", - "firstName": "First name", - "lastName": "Last name", - "email": "Email", - "activated": "Activated", - "deactivated": "Deactivated", - "profiles": "Profiles", - "langKey": "Language", - "createdBy": "Created by", - "createdDate": "Created date", - "lastModifiedBy": "Modified by", - "lastModifiedDate": "Modified date" - } + "userManagement": { + "home": { + "title": "Users", + "createLabel": "Create a new user", + "createOrEditLabel": "Create or edit a user" + }, + "created": "A new user is created with identifier {{ param }}", + "updated": "An user is updated with identifier {{ param }}", + "deleted": "An user is deleted with identifier {{ param }}", + "delete": { + "question": "Are you sure you want to delete user {{ login }}?" + }, + "detail": { + "title": "User" + }, + "login": "Login", + "firstName": "First name", + "lastName": "Last name", + "email": "Email", + "activated": "Activated", + "deactivated": "Deactivated", + "profiles": "Profiles", + "langKey": "Language", + "createdBy": "Created by", + "createdDate": "Created date", + "lastModifiedBy": "Modified by", + "lastModifiedDate": "Modified date" + } } diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index 4397069c2..d5bc467aa 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -1,7 +1,7 @@ - + jhipsterSampleApplication diff --git a/src/main/webapp/manifest.webapp b/src/main/webapp/manifest.webapp index a0541f116..f989b85f9 100644 --- a/src/main/webapp/manifest.webapp +++ b/src/main/webapp/manifest.webapp @@ -25,7 +25,7 @@ ], "theme_color": "#000000", "background_color": "#e0e0e0", - "start_url": "/index.html", + "start_url": ".", "display": "standalone", "orientation": "portrait" } diff --git a/src/test/gatling/user-files/simulations/BankAccountGatlingTest.scala b/src/test/gatling/user-files/simulations/BankAccountGatlingTest.scala index 4a4729e89..e5c704cb7 100644 --- a/src/test/gatling/user-files/simulations/BankAccountGatlingTest.scala +++ b/src/test/gatling/user-files/simulations/BankAccountGatlingTest.scala @@ -20,7 +20,7 @@ class BankAccountGatlingTest extends Simulation { val baseURL = Option(System.getProperty("baseURL")) getOrElse """http://localhost:8080""" val httpConf = http - .baseURL(baseURL) + .baseUrl(baseURL) .inferHtmlResources() .acceptHeader("*/*") .acceptEncodingHeader("gzip, deflate") @@ -53,8 +53,8 @@ class BankAccountGatlingTest extends Simulation { .exec(http("Authentication") .post("/api/authenticate") .headers(headers_http_authentication) - .body(StringBody("""{"username":"admin", "password":"admin"}""")).asJSON - .check(header.get("Authorization").saveAs("access_token"))).exitHereIfFailed + .body(StringBody("""{"username":"admin", "password":"admin"}""")).asJson + .check(header("Authorization").saveAs("access_token"))).exitHereIfFailed .pause(2) .exec(http("Authenticated request") .get("/api/account") @@ -74,7 +74,7 @@ class BankAccountGatlingTest extends Simulation { "id":null , "name":"SAMPLE_TEXT" , "balance":"0" - }""")).asJSON + }""")).asJson .check(status.is(201)) .check(headerRegex("Location", "(.*)").saveAs("new_bankAccount_url"))).exitHereIfFailed .pause(10) @@ -93,6 +93,6 @@ class BankAccountGatlingTest extends Simulation { val users = scenario("Users").exec(scn) setUp( - users.inject(rampUsers(Integer.getInteger("users", 100)) over (Integer.getInteger("ramp", 1) minutes)) + users.inject(rampUsers(Integer.getInteger("users", 100)) during (Integer.getInteger("ramp", 1) minutes)) ).protocols(httpConf) } diff --git a/src/test/gatling/user-files/simulations/LabelGatlingTest.scala b/src/test/gatling/user-files/simulations/LabelGatlingTest.scala index 6ae825a40..7762d3ca0 100644 --- a/src/test/gatling/user-files/simulations/LabelGatlingTest.scala +++ b/src/test/gatling/user-files/simulations/LabelGatlingTest.scala @@ -20,7 +20,7 @@ class LabelGatlingTest extends Simulation { val baseURL = Option(System.getProperty("baseURL")) getOrElse """http://localhost:8080""" val httpConf = http - .baseURL(baseURL) + .baseUrl(baseURL) .inferHtmlResources() .acceptHeader("*/*") .acceptEncodingHeader("gzip, deflate") @@ -53,8 +53,8 @@ class LabelGatlingTest extends Simulation { .exec(http("Authentication") .post("/api/authenticate") .headers(headers_http_authentication) - .body(StringBody("""{"username":"admin", "password":"admin"}""")).asJSON - .check(header.get("Authorization").saveAs("access_token"))).exitHereIfFailed + .body(StringBody("""{"username":"admin", "password":"admin"}""")).asJson + .check(header("Authorization").saveAs("access_token"))).exitHereIfFailed .pause(2) .exec(http("Authenticated request") .get("/api/account") @@ -73,7 +73,7 @@ class LabelGatlingTest extends Simulation { .body(StringBody("""{ "id":null , "label":"SAMPLE_TEXT" - }""")).asJSON + }""")).asJson .check(status.is(201)) .check(headerRegex("Location", "(.*)").saveAs("new_label_url"))).exitHereIfFailed .pause(10) @@ -92,6 +92,6 @@ class LabelGatlingTest extends Simulation { val users = scenario("Users").exec(scn) setUp( - users.inject(rampUsers(Integer.getInteger("users", 100)) over (Integer.getInteger("ramp", 1) minutes)) + users.inject(rampUsers(Integer.getInteger("users", 100)) during (Integer.getInteger("ramp", 1) minutes)) ).protocols(httpConf) } diff --git a/src/test/gatling/user-files/simulations/OperationGatlingTest.scala b/src/test/gatling/user-files/simulations/OperationGatlingTest.scala index 5a4ea6e53..dda6682cc 100644 --- a/src/test/gatling/user-files/simulations/OperationGatlingTest.scala +++ b/src/test/gatling/user-files/simulations/OperationGatlingTest.scala @@ -20,7 +20,7 @@ class OperationGatlingTest extends Simulation { val baseURL = Option(System.getProperty("baseURL")) getOrElse """http://localhost:8080""" val httpConf = http - .baseURL(baseURL) + .baseUrl(baseURL) .inferHtmlResources() .acceptHeader("*/*") .acceptEncodingHeader("gzip, deflate") @@ -53,8 +53,8 @@ class OperationGatlingTest extends Simulation { .exec(http("Authentication") .post("/api/authenticate") .headers(headers_http_authentication) - .body(StringBody("""{"username":"admin", "password":"admin"}""")).asJSON - .check(header.get("Authorization").saveAs("access_token"))).exitHereIfFailed + .body(StringBody("""{"username":"admin", "password":"admin"}""")).asJson + .check(header("Authorization").saveAs("access_token"))).exitHereIfFailed .pause(2) .exec(http("Authenticated request") .get("/api/account") @@ -75,7 +75,7 @@ class OperationGatlingTest extends Simulation { , "date":"2020-01-01T00:00:00.000Z" , "description":"SAMPLE_TEXT" , "amount":"0" - }""")).asJSON + }""")).asJson .check(status.is(201)) .check(headerRegex("Location", "(.*)").saveAs("new_operation_url"))).exitHereIfFailed .pause(10) @@ -94,6 +94,6 @@ class OperationGatlingTest extends Simulation { val users = scenario("Users").exec(scn) setUp( - users.inject(rampUsers(Integer.getInteger("users", 100)) over (Integer.getInteger("ramp", 1) minutes)) + users.inject(rampUsers(Integer.getInteger("users", 100)) during (Integer.getInteger("ramp", 1) minutes)) ).protocols(httpConf) } diff --git a/src/test/java/io/github/jhipster/sample/config/WebConfigurerTest.java b/src/test/java/io/github/jhipster/sample/config/WebConfigurerTest.java index 46ec27d28..d25eac254 100644 --- a/src/test/java/io/github/jhipster/sample/config/WebConfigurerTest.java +++ b/src/test/java/io/github/jhipster/sample/config/WebConfigurerTest.java @@ -3,14 +3,9 @@ import io.github.jhipster.config.JHipsterConstants; import io.github.jhipster.config.JHipsterProperties; import io.github.jhipster.web.filter.CachingHttpHeadersFilter; -import io.undertow.Undertow; -import io.undertow.Undertow.Builder; -import io.undertow.UndertowOptions; -import org.apache.commons.io.FilenameUtils; - import org.h2.server.web.WebServlet; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.http.HttpHeaders; import org.springframework.mock.env.MockEnvironment; @@ -18,9 +13,9 @@ import org.springframework.test.util.ReflectionTestUtils; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.xnio.OptionMap; import javax.servlet.*; +import java.io.File; import java.util.*; import static org.assertj.core.api.Assertions.assertThat; @@ -33,9 +28,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** - * Unit tests for the WebConfigurer class. - * - * @see WebConfigurer + * Unit tests for the {@link WebConfigurer} class. */ public class WebConfigurerTest { @@ -47,7 +40,7 @@ public class WebConfigurerTest { private JHipsterProperties props; - @Before + @BeforeEach public void setup() { servletContext = spy(new MockServletContext()); doReturn(mock(FilterRegistration.Dynamic.class)) @@ -88,24 +81,8 @@ public void testCustomizeServletContainer() { assertThat(container.getMimeMappings().get("html")).isEqualTo("text/html;charset=utf-8"); assertThat(container.getMimeMappings().get("json")).isEqualTo("text/html;charset=utf-8"); if (container.getDocumentRoot() != null) { - assertThat(container.getDocumentRoot().getPath()).isEqualTo(FilenameUtils.separatorsToSystem("target/www")); + assertThat(container.getDocumentRoot()).isEqualTo(new File("target/classes/static/")); } - - Builder builder = Undertow.builder(); - container.getBuilderCustomizers().forEach(c -> c.customize(builder)); - OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions"); - assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isNull(); - } - - @Test - public void testUndertowHttp2Enabled() { - props.getHttp().setVersion(JHipsterProperties.Http.Version.V_2_0); - UndertowServletWebServerFactory container = new UndertowServletWebServerFactory(); - webConfigurer.customize(container); - Builder builder = Undertow.builder(); - container.getBuilderCustomizers().forEach(c -> c.customize(builder)); - OptionMap.Builder serverOptions = (OptionMap.Builder) ReflectionTestUtils.getField(builder, "serverOptions"); - assertThat(serverOptions.getMap().get(UndertowOptions.ENABLE_HTTP2)).isTrue(); } @Test diff --git a/src/test/java/io/github/jhipster/sample/config/timezone/HibernateTimeZoneTest.java b/src/test/java/io/github/jhipster/sample/config/timezone/HibernateTimeZoneIT.java similarity index 96% rename from src/test/java/io/github/jhipster/sample/config/timezone/HibernateTimeZoneTest.java rename to src/test/java/io/github/jhipster/sample/config/timezone/HibernateTimeZoneIT.java index 4cd48b6ca..12287863b 100644 --- a/src/test/java/io/github/jhipster/sample/config/timezone/HibernateTimeZoneTest.java +++ b/src/test/java/io/github/jhipster/sample/config/timezone/HibernateTimeZoneIT.java @@ -3,14 +3,12 @@ import io.github.jhipster.sample.JhipsterSampleApplicationApp; import io.github.jhipster.sample.repository.timezone.DateTimeWrapper; import io.github.jhipster.sample.repository.timezone.DateTimeWrapperRepository; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.support.rowset.SqlRowSet; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import java.time.*; @@ -20,11 +18,10 @@ import static org.assertj.core.api.Assertions.assertThat; /** - * Unit tests for the UTC Hibernate configuration. + * Integration tests for the UTC Hibernate configuration. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) -public class HibernateTimeZoneTest { +public class HibernateTimeZoneIT { @Autowired private DateTimeWrapperRepository dateTimeWrapperRepository; @@ -36,7 +33,7 @@ public class HibernateTimeZoneTest { private DateTimeFormatter timeFormatter; private DateTimeFormatter dateFormatter; - @Before + @BeforeEach public void setup() { dateTimeWrapper = new DateTimeWrapper(); dateTimeWrapper.setInstant(Instant.parse("2014-11-12T05:50:00.0Z")); diff --git a/src/test/java/io/github/jhipster/sample/repository/CustomAuditEventRepositoryIntTest.java b/src/test/java/io/github/jhipster/sample/repository/CustomAuditEventRepositoryIT.java similarity index 92% rename from src/test/java/io/github/jhipster/sample/repository/CustomAuditEventRepositoryIntTest.java rename to src/test/java/io/github/jhipster/sample/repository/CustomAuditEventRepositoryIT.java index e6752dab6..382e78c33 100644 --- a/src/test/java/io/github/jhipster/sample/repository/CustomAuditEventRepositoryIntTest.java +++ b/src/test/java/io/github/jhipster/sample/repository/CustomAuditEventRepositoryIT.java @@ -4,20 +4,19 @@ import io.github.jhipster.sample.config.Constants; import io.github.jhipster.sample.config.audit.AuditEventConverter; import io.github.jhipster.sample.domain.PersistentAuditEvent; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.audit.AuditEvent; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpSession; import org.springframework.security.web.authentication.WebAuthenticationDetails; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpSession; import java.time.Instant; +import java.time.temporal.ChronoUnit; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -26,14 +25,11 @@ import static io.github.jhipster.sample.repository.CustomAuditEventRepository.EVENT_DATA_COLUMN_MAX_LENGTH; /** - * Test class for the CustomAuditEventRepository class. - * - * @see CustomAuditEventRepository + * Integration tests for {@link CustomAuditEventRepository}. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) @Transactional -public class CustomAuditEventRepositoryIntTest { +public class CustomAuditEventRepositoryIT { @Autowired private PersistenceAuditEventRepository persistenceAuditEventRepository; @@ -49,7 +45,7 @@ public class CustomAuditEventRepositoryIntTest { private PersistentAuditEvent testOldUserEvent; - @Before + @BeforeEach public void setup() { customAuditEventRepository = new CustomAuditEventRepository(persistenceAuditEventRepository, auditEventConverter); persistenceAuditEventRepository.deleteAll(); @@ -87,7 +83,8 @@ public void addAuditEvent() { assertThat(persistentAuditEvent.getAuditEventType()).isEqualTo(event.getType()); assertThat(persistentAuditEvent.getData()).containsKey("test-key"); assertThat(persistentAuditEvent.getData().get("test-key")).isEqualTo("test-value"); - assertThat(persistentAuditEvent.getAuditEventDate()).isEqualTo(event.getTimestamp()); + assertThat(persistentAuditEvent.getAuditEventDate().truncatedTo(ChronoUnit.MILLIS)) + .isEqualTo(event.getTimestamp().truncatedTo(ChronoUnit.MILLIS)); } @Test @@ -109,7 +106,8 @@ public void addAuditEventTruncateLargeData() { String actualData = persistentAuditEvent.getData().get("test-key"); assertThat(actualData.length()).isEqualTo(EVENT_DATA_COLUMN_MAX_LENGTH); assertThat(actualData).isSubstringOf(largeData); - assertThat(persistentAuditEvent.getAuditEventDate()).isEqualTo(event.getTimestamp()); + assertThat(persistentAuditEvent.getAuditEventDate().truncatedTo(ChronoUnit.MILLIS)) + .isEqualTo(event.getTimestamp().truncatedTo(ChronoUnit.MILLIS)); } @Test diff --git a/src/test/java/io/github/jhipster/sample/repository/timezone/DateTimeWrapperRepository.java b/src/test/java/io/github/jhipster/sample/repository/timezone/DateTimeWrapperRepository.java index 12629f704..3dd17b664 100644 --- a/src/test/java/io/github/jhipster/sample/repository/timezone/DateTimeWrapperRepository.java +++ b/src/test/java/io/github/jhipster/sample/repository/timezone/DateTimeWrapperRepository.java @@ -4,7 +4,7 @@ import org.springframework.stereotype.Repository; /** - * Spring Data JPA repository for the DateTimeWrapper entity. + * Spring Data JPA repository for the {@link DateTimeWrapper} entity. */ @Repository public interface DateTimeWrapperRepository extends JpaRepository { diff --git a/src/test/java/io/github/jhipster/sample/security/DomainUserDetailsServiceIntTest.java b/src/test/java/io/github/jhipster/sample/security/DomainUserDetailsServiceIT.java similarity index 86% rename from src/test/java/io/github/jhipster/sample/security/DomainUserDetailsServiceIntTest.java rename to src/test/java/io/github/jhipster/sample/security/DomainUserDetailsServiceIT.java index 774dc8a08..a310d70dd 100644 --- a/src/test/java/io/github/jhipster/sample/security/DomainUserDetailsServiceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/security/DomainUserDetailsServiceIT.java @@ -5,30 +5,26 @@ import io.github.jhipster.sample.repository.UserRepository; import org.apache.commons.lang3.RandomStringUtils; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import java.util.Locale; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; /** - * Test class for DomainUserDetailsService. - * - * @see DomainUserDetailsService + * Integrations tests for {@link DomainUserDetailsService}. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) @Transactional -public class DomainUserDetailsServiceIntTest { +public class DomainUserDetailsServiceIT { private static final String USER_ONE_LOGIN = "test-user-one"; private static final String USER_ONE_EMAIL = "test-user-one@localhost"; @@ -47,7 +43,7 @@ public class DomainUserDetailsServiceIntTest { private User userTwo; private User userThree; - @Before + @BeforeEach public void init() { userOne = new User(); userOne.setLogin(USER_ONE_LOGIN); @@ -104,10 +100,11 @@ public void assertThatUserCanBeFoundByEmail() { assertThat(userDetails.getUsername()).isEqualTo(USER_TWO_LOGIN); } - @Test(expected = UsernameNotFoundException.class) + @Test @Transactional public void assertThatUserCanNotBeFoundByEmailIgnoreCase() { - domainUserDetailsService.loadUserByUsername(USER_TWO_EMAIL.toUpperCase(Locale.ENGLISH)); + assertThatExceptionOfType(UsernameNotFoundException.class).isThrownBy( + () -> domainUserDetailsService.loadUserByUsername(USER_TWO_EMAIL.toUpperCase(Locale.ENGLISH))); } @Test @@ -118,10 +115,11 @@ public void assertThatEmailIsPrioritizedOverLogin() { assertThat(userDetails.getUsername()).isEqualTo(USER_ONE_LOGIN); } - @Test(expected = UserNotActivatedException.class) + @Test @Transactional public void assertThatUserNotActivatedExceptionIsThrownForNotActivatedUsers() { - domainUserDetailsService.loadUserByUsername(USER_THREE_LOGIN); + assertThatExceptionOfType(UserNotActivatedException.class).isThrownBy( + () -> domainUserDetailsService.loadUserByUsername(USER_THREE_LOGIN)); } } diff --git a/src/test/java/io/github/jhipster/sample/security/SecurityUtilsUnitTest.java b/src/test/java/io/github/jhipster/sample/security/SecurityUtilsUnitTest.java index 6d4c6e7b2..2dde35021 100644 --- a/src/test/java/io/github/jhipster/sample/security/SecurityUtilsUnitTest.java +++ b/src/test/java/io/github/jhipster/sample/security/SecurityUtilsUnitTest.java @@ -1,6 +1,6 @@ package io.github.jhipster.sample.security; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; @@ -14,14 +14,12 @@ import static org.assertj.core.api.Assertions.assertThat; /** - * Test class for the SecurityUtils utility class. - * - * @see SecurityUtils + * Test class for the {@link SecurityUtils} utility class. */ public class SecurityUtilsUnitTest { @Test - public void testgetCurrentUserLogin() { + public void testGetCurrentUserLogin() { SecurityContext securityContext = SecurityContextHolder.createEmptyContext(); securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("admin", "admin")); SecurityContextHolder.setContext(securityContext); diff --git a/src/test/java/io/github/jhipster/sample/security/jwt/JWTFilterTest.java b/src/test/java/io/github/jhipster/sample/security/jwt/JWTFilterTest.java index d474c4ec6..e541e007e 100644 --- a/src/test/java/io/github/jhipster/sample/security/jwt/JWTFilterTest.java +++ b/src/test/java/io/github/jhipster/sample/security/jwt/JWTFilterTest.java @@ -5,8 +5,8 @@ import io.jsonwebtoken.io.Decoders; import io.jsonwebtoken.security.Keys; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.http.HttpStatus; import org.springframework.mock.web.MockFilterChain; import org.springframework.mock.web.MockHttpServletRequest; @@ -26,7 +26,7 @@ public class JWTFilterTest { private JWTFilter jwtFilter; - @Before + @BeforeEach public void setup() { JHipsterProperties jHipsterProperties = new JHipsterProperties(); tokenProvider = new TokenProvider(jHipsterProperties); diff --git a/src/test/java/io/github/jhipster/sample/security/jwt/TokenProviderTest.java b/src/test/java/io/github/jhipster/sample/security/jwt/TokenProviderTest.java index bb49115b3..2ea049853 100644 --- a/src/test/java/io/github/jhipster/sample/security/jwt/TokenProviderTest.java +++ b/src/test/java/io/github/jhipster/sample/security/jwt/TokenProviderTest.java @@ -5,9 +5,8 @@ import java.security.Key; import java.util.*; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mockito; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; @@ -24,15 +23,14 @@ public class TokenProviderTest { - private final long ONE_MINUTE = 60000; + private static final long ONE_MINUTE = 60000; + private Key key; - private JHipsterProperties jHipsterProperties; private TokenProvider tokenProvider; - @Before + @BeforeEach public void setup() { - jHipsterProperties = Mockito.mock(JHipsterProperties.class); - tokenProvider = new TokenProvider(jHipsterProperties); + tokenProvider = new TokenProvider( new JHipsterProperties()); key = Keys.hmacShaKeyFor(Decoders.BASE64 .decode("fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8")); diff --git a/src/test/java/io/github/jhipster/sample/service/MailServiceIntTest.java b/src/test/java/io/github/jhipster/sample/service/MailServiceIT.java similarity index 97% rename from src/test/java/io/github/jhipster/sample/service/MailServiceIntTest.java rename to src/test/java/io/github/jhipster/sample/service/MailServiceIT.java index 9d3c926c1..3c28b03d9 100644 --- a/src/test/java/io/github/jhipster/sample/service/MailServiceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/service/MailServiceIT.java @@ -1,12 +1,12 @@ package io.github.jhipster.sample.service; + import io.github.jhipster.sample.config.Constants; import io.github.jhipster.sample.JhipsterSampleApplicationApp; import io.github.jhipster.sample.domain.User; import io.github.jhipster.config.JHipsterProperties; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.MockitoAnnotations; @@ -16,7 +16,6 @@ import org.springframework.context.MessageSource; import org.springframework.mail.MailSendException; import org.springframework.mail.javamail.JavaMailSenderImpl; -import org.springframework.test.context.junit4.SpringRunner; import org.thymeleaf.spring5.SpringTemplateEngine; import javax.mail.Multipart; @@ -29,9 +28,11 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.*; -@RunWith(SpringRunner.class) +/** + * Integration tests for {@link MailService}. + */ @SpringBootTest(classes = JhipsterSampleApplicationApp.class) -public class MailServiceIntTest { +public class MailServiceIT { @Autowired private JHipsterProperties jHipsterProperties; @@ -50,7 +51,7 @@ public class MailServiceIntTest { private MailService mailService; - @Before + @BeforeEach public void setup() { MockitoAnnotations.initMocks(this); doNothing().when(javaMailSender).send(any(MimeMessage.class)); diff --git a/src/test/java/io/github/jhipster/sample/service/UserServiceIntTest.java b/src/test/java/io/github/jhipster/sample/service/UserServiceIT.java similarity index 86% rename from src/test/java/io/github/jhipster/sample/service/UserServiceIntTest.java rename to src/test/java/io/github/jhipster/sample/service/UserServiceIT.java index 18d65f394..8ba5eac45 100644 --- a/src/test/java/io/github/jhipster/sample/service/UserServiceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/service/UserServiceIT.java @@ -8,9 +8,8 @@ import io.github.jhipster.sample.service.util.RandomUtil; import org.apache.commons.lang3.RandomStringUtils; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -18,7 +17,6 @@ import org.springframework.data.auditing.DateTimeProvider; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import java.time.Instant; @@ -31,14 +29,23 @@ import static org.mockito.Mockito.when; /** - * Test class for the UserResource REST controller. - * - * @see UserService + * Integration tests for {@link UserService}. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) @Transactional -public class UserServiceIntTest { +public class UserServiceIT { + + private static final String DEFAULT_LOGIN = "johndoe"; + + private static final String DEFAULT_EMAIL = "johndoe@localhost"; + + private static final String DEFAULT_FIRSTNAME = "john"; + + private static final String DEFAULT_LASTNAME = "doe"; + + private static final String DEFAULT_IMAGEURL = "http://placehold.it/50x50"; + + private static final String DEFAULT_LANGKEY = "en"; @Autowired private UserRepository userRepository; @@ -50,21 +57,21 @@ public class UserServiceIntTest { private AuditingHandler auditingHandler; @Mock - DateTimeProvider dateTimeProvider; + private DateTimeProvider dateTimeProvider; private User user; - @Before + @BeforeEach public void init() { user = new User(); - user.setLogin("johndoe"); + user.setLogin(DEFAULT_LOGIN); user.setPassword(RandomStringUtils.random(60)); user.setActivated(true); - user.setEmail("johndoe@localhost"); - user.setFirstName("john"); - user.setLastName("doe"); - user.setImageUrl("http://placehold.it/50x50"); - user.setLangKey("en"); + user.setEmail(DEFAULT_EMAIL); + user.setFirstName(DEFAULT_FIRSTNAME); + user.setLastName(DEFAULT_LASTNAME); + user.setImageUrl(DEFAULT_IMAGEURL); + user.setLangKey(DEFAULT_LANGKEY); when(dateTimeProvider.getNow()).thenReturn(Optional.of(LocalDateTime.now())); auditingHandler.setDateTimeProvider(dateTimeProvider); @@ -184,9 +191,9 @@ public void testRemoveNotActivatedUsers() { user.setActivated(false); userRepository.saveAndFlush(user); - assertThat(userRepository.findOneByLogin("johndoe")).isPresent(); + assertThat(userRepository.findOneByLogin(DEFAULT_LOGIN)).isPresent(); userService.removeNotActivatedUsers(); - assertThat(userRepository.findOneByLogin("johndoe")).isNotPresent(); + assertThat(userRepository.findOneByLogin(DEFAULT_LOGIN)).isNotPresent(); } } diff --git a/src/test/java/io/github/jhipster/sample/service/mapper/UserMapperTest.java b/src/test/java/io/github/jhipster/sample/service/mapper/UserMapperIT.java similarity index 86% rename from src/test/java/io/github/jhipster/sample/service/mapper/UserMapperTest.java rename to src/test/java/io/github/jhipster/sample/service/mapper/UserMapperIT.java index 5bf390640..079a4a4d6 100644 --- a/src/test/java/io/github/jhipster/sample/service/mapper/UserMapperTest.java +++ b/src/test/java/io/github/jhipster/sample/service/mapper/UserMapperIT.java @@ -5,12 +5,10 @@ import io.github.jhipster.sample.domain.User; import io.github.jhipster.sample.service.dto.UserDTO; import org.apache.commons.lang3.RandomStringUtils; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; import java.util.ArrayList; import java.util.HashSet; @@ -20,15 +18,13 @@ import static org.assertj.core.api.Assertions.assertThat; /** - * Test class for the UserMapper. - * - * @see UserMapper + * Integration tests for {@link UserMapper}. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) -public class UserMapperTest { +public class UserMapperIT { private static final String DEFAULT_LOGIN = "johndoe"; + private static final Long DEFAULT_ID = 1L; @Autowired private UserMapper userMapper; @@ -36,9 +32,7 @@ public class UserMapperTest { private User user; private UserDTO userDto; - private static final Long DEFAULT_ID = 1L; - - @Before + @BeforeEach public void init() { user = new User(); user.setLogin(DEFAULT_LOGIN); @@ -54,7 +48,7 @@ public void init() { } @Test - public void usersToUserDTOsShouldMapOnlyNonNullUsers(){ + public void usersToUserDTOsShouldMapOnlyNonNullUsers() { List users = new ArrayList<>(); users.add(user); users.add(null); @@ -66,7 +60,7 @@ public void usersToUserDTOsShouldMapOnlyNonNullUsers(){ } @Test - public void userDTOsToUsersShouldMapOnlyNonNullUsers(){ + public void userDTOsToUsersShouldMapOnlyNonNullUsers() { List usersDto = new ArrayList<>(); usersDto.add(userDto); usersDto.add(null); @@ -78,7 +72,7 @@ public void userDTOsToUsersShouldMapOnlyNonNullUsers(){ } @Test - public void userDTOsToUsersWithAuthoritiesStringShouldMapToUsersWithAuthoritiesDomain(){ + public void userDTOsToUsersWithAuthoritiesStringShouldMapToUsersWithAuthoritiesDomain() { Set authoritiesAsString = new HashSet<>(); authoritiesAsString.add("ADMIN"); userDto.setAuthorities(authoritiesAsString); @@ -96,7 +90,7 @@ public void userDTOsToUsersWithAuthoritiesStringShouldMapToUsersWithAuthoritiesD } @Test - public void userDTOsToUsersMapWithNullAuthoritiesStringShouldReturnUserWithEmptyAuthorities(){ + public void userDTOsToUsersMapWithNullAuthoritiesStringShouldReturnUserWithEmptyAuthorities() { userDto.setAuthorities(null); List usersDto = new ArrayList<>(); @@ -111,13 +105,11 @@ public void userDTOsToUsersMapWithNullAuthoritiesStringShouldReturnUserWithEmpty } @Test - public void userDTOToUserMapWithAuthoritiesStringShouldReturnUserWithAuthorities(){ + public void userDTOToUserMapWithAuthoritiesStringShouldReturnUserWithAuthorities() { Set authoritiesAsString = new HashSet<>(); authoritiesAsString.add("ADMIN"); userDto.setAuthorities(authoritiesAsString); - userDto.setAuthorities(authoritiesAsString); - User user = userMapper.userDTOToUser(userDto); assertThat(user).isNotNull(); @@ -127,7 +119,7 @@ public void userDTOToUserMapWithAuthoritiesStringShouldReturnUserWithAuthorities } @Test - public void userDTOToUserMapWithNullAuthoritiesStringShouldReturnUserWithEmptyAuthorities(){ + public void userDTOToUserMapWithNullAuthoritiesStringShouldReturnUserWithEmptyAuthorities() { userDto.setAuthorities(null); User user = userMapper.userDTOToUser(userDto); @@ -138,7 +130,7 @@ public void userDTOToUserMapWithNullAuthoritiesStringShouldReturnUserWithEmptyAu } @Test - public void userDTOToUserMapWithNullUserShouldReturnNull(){ + public void userDTOToUserMapWithNullUserShouldReturnNull() { assertThat(userMapper.userDTOToUser(null)).isNull(); } diff --git a/src/test/java/io/github/jhipster/sample/web/rest/AccountResourceIntTest.java b/src/test/java/io/github/jhipster/sample/web/rest/AccountResourceIT.java similarity index 99% rename from src/test/java/io/github/jhipster/sample/web/rest/AccountResourceIntTest.java rename to src/test/java/io/github/jhipster/sample/web/rest/AccountResourceIT.java index 54a8b6714..4b9a6fb7f 100644 --- a/src/test/java/io/github/jhipster/sample/web/rest/AccountResourceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/web/rest/AccountResourceIT.java @@ -16,9 +16,8 @@ import io.github.jhipster.sample.web.rest.vm.ManagedUserVM; import org.apache.commons.lang3.RandomStringUtils; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +26,6 @@ import org.springframework.http.converter.HttpMessageConverter; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.transaction.annotation.Transactional; @@ -43,13 +41,10 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; /** - * Test class for the AccountResource REST controller. - * - * @see AccountResource + * Integration tests for the {@link AccountResource} REST controller. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) -public class AccountResourceIntTest { +public class AccountResourceIT { @Autowired private UserRepository userRepository; @@ -79,7 +74,7 @@ public class AccountResourceIntTest { private MockMvc restUserMockMvc; - @Before + @BeforeEach public void setup() { MockitoAnnotations.initMocks(this); doNothing().when(mockMailService).sendActivationEmail(any()); diff --git a/src/test/java/io/github/jhipster/sample/web/rest/AuditResourceIntTest.java b/src/test/java/io/github/jhipster/sample/web/rest/AuditResourceIT.java similarity index 93% rename from src/test/java/io/github/jhipster/sample/web/rest/AuditResourceIntTest.java rename to src/test/java/io/github/jhipster/sample/web/rest/AuditResourceIT.java index c593f21d1..47c5d9a65 100644 --- a/src/test/java/io/github/jhipster/sample/web/rest/AuditResourceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/web/rest/AuditResourceIT.java @@ -4,18 +4,18 @@ import io.github.jhipster.sample.config.audit.AuditEventConverter; import io.github.jhipster.sample.domain.PersistentAuditEvent; import io.github.jhipster.sample.repository.PersistenceAuditEventRepository; + import io.github.jhipster.sample.service.AuditEventService; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; import org.springframework.format.support.FormattingConversionService; import org.springframework.http.MediaType; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.transaction.annotation.Transactional; @@ -28,14 +28,11 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; /** - * Test class for the AuditResource REST controller. - * - * @see AuditResource + * Integration tests for the {@link AuditResource} REST controller. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) @Transactional -public class AuditResourceIntTest { +public class AuditResourceIT { private static final String SAMPLE_PRINCIPAL = "SAMPLE_PRINCIPAL"; private static final String SAMPLE_TYPE = "SAMPLE_TYPE"; @@ -52,6 +49,7 @@ public class AuditResourceIntTest { private MappingJackson2HttpMessageConverter jacksonMessageConverter; @Autowired + @Qualifier("mvcConversionService") private FormattingConversionService formattingConversionService; @Autowired @@ -61,7 +59,7 @@ public class AuditResourceIntTest { private MockMvc restAuditMockMvc; - @Before + @BeforeEach public void setup() { MockitoAnnotations.initMocks(this); AuditEventService auditEventService = @@ -73,7 +71,7 @@ public void setup() { .setMessageConverters(jacksonMessageConverter).build(); } - @Before + @BeforeEach public void initTest() { auditEventRepository.deleteAll(); auditEvent = new PersistentAuditEvent(); @@ -112,7 +110,7 @@ public void getAuditsByDate() throws Exception { auditEventRepository.save(auditEvent); // Generate dates for selecting audits by date, making sure the period will contain the audit - String fromDate = SAMPLE_TIMESTAMP.minusSeconds(SECONDS_PER_DAY).toString().substring(0, 10); + String fromDate = SAMPLE_TIMESTAMP.minusSeconds(SECONDS_PER_DAY).toString().substring(0, 10); String toDate = SAMPLE_TIMESTAMP.plusSeconds(SECONDS_PER_DAY).toString().substring(0, 10); // Get the audit diff --git a/src/test/java/io/github/jhipster/sample/web/rest/BankAccountResourceIntTest.java b/src/test/java/io/github/jhipster/sample/web/rest/BankAccountResourceIT.java similarity index 96% rename from src/test/java/io/github/jhipster/sample/web/rest/BankAccountResourceIntTest.java rename to src/test/java/io/github/jhipster/sample/web/rest/BankAccountResourceIT.java index 7292ba7d3..cd8794dea 100644 --- a/src/test/java/io/github/jhipster/sample/web/rest/BankAccountResourceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/web/rest/BankAccountResourceIT.java @@ -1,21 +1,18 @@ package io.github.jhipster.sample.web.rest; import io.github.jhipster.sample.JhipsterSampleApplicationApp; - import io.github.jhipster.sample.domain.BankAccount; import io.github.jhipster.sample.repository.BankAccountRepository; import io.github.jhipster.sample.web.rest.errors.ExceptionTranslator; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; import org.springframework.http.MediaType; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.transaction.annotation.Transactional; @@ -25,7 +22,6 @@ import java.math.BigDecimal; import java.util.List; - import static io.github.jhipster.sample.web.rest.TestUtil.createFormattingConversionService; import static org.assertj.core.api.Assertions.assertThat; import static org.hamcrest.Matchers.hasItem; @@ -33,13 +29,10 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; /** - * Test class for the BankAccountResource REST controller. - * - * @see BankAccountResource + * Integration tests for the {@Link BankAccountResource} REST controller. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) -public class BankAccountResourceIntTest { +public class BankAccountResourceIT { private static final String DEFAULT_NAME = "AAAAAAAAAA"; private static final String UPDATED_NAME = "BBBBBBBBBB"; @@ -69,7 +62,7 @@ public class BankAccountResourceIntTest { private BankAccount bankAccount; - @Before + @BeforeEach public void setup() { MockitoAnnotations.initMocks(this); final BankAccountResource bankAccountResource = new BankAccountResource(bankAccountRepository); @@ -94,7 +87,7 @@ public static BankAccount createEntity(EntityManager em) { return bankAccount; } - @Before + @BeforeEach public void initTest() { bankAccount = createEntity(em); } @@ -137,6 +130,7 @@ public void createBankAccountWithExistingId() throws Exception { assertThat(bankAccountList).hasSize(databaseSizeBeforeCreate); } + @Test @Transactional public void checkNameIsRequired() throws Exception { @@ -268,7 +262,7 @@ public void deleteBankAccount() throws Exception { // Delete the bankAccount restBankAccountMockMvc.perform(delete("/api/bank-accounts/{id}", bankAccount.getId()) .accept(TestUtil.APPLICATION_JSON_UTF8)) - .andExpect(status().isOk()); + .andExpect(status().isNoContent()); // Validate the database is empty List bankAccountList = bankAccountRepository.findAll(); diff --git a/src/test/java/io/github/jhipster/sample/web/rest/ClientForwardControllerIT.java b/src/test/java/io/github/jhipster/sample/web/rest/ClientForwardControllerIT.java new file mode 100644 index 000000000..d5b3f1c9f --- /dev/null +++ b/src/test/java/io/github/jhipster/sample/web/rest/ClientForwardControllerIT.java @@ -0,0 +1,66 @@ +package io.github.jhipster.sample.web.rest; + +import io.github.jhipster.sample.JhipsterSampleApplicationApp; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.http.MediaType; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.ResultActions; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +/** + * Integration tests for the {@link ClientForwardController} REST controller. + */ +@SpringBootTest(classes = JhipsterSampleApplicationApp.class) +public class ClientForwardControllerIT { + + private MockMvc restMockMvc; + + @BeforeEach + public void setup() { + ClientForwardController clientForwardController = new ClientForwardController(); + this.restMockMvc = MockMvcBuilders + .standaloneSetup(clientForwardController, new TestController()) + .build(); + } + + @Test + public void getBackendEndpoint() throws Exception { + restMockMvc.perform(get("/test")) + .andExpect(status().isOk()) + .andExpect(content().contentTypeCompatibleWith(MediaType.TEXT_PLAIN_VALUE)) + .andExpect(content().string("test")); + } + + @Test + public void getClientEndpoint() throws Exception { + ResultActions perform = restMockMvc.perform(get("/non-existant-mapping")); + perform + .andExpect(status().isOk()) + .andExpect(forwardedUrl("/")); + } + + @Test + public void getNestedClientEndpoint() throws Exception { + restMockMvc.perform(get("/admin/user-management")) + .andExpect(status().isOk()) + .andExpect(forwardedUrl("/")); + } + + @RestController + public static class TestController { + + @RequestMapping(value = "/test") + public String test() { + return "test"; + } + } +} diff --git a/src/test/java/io/github/jhipster/sample/web/rest/LabelResourceIntTest.java b/src/test/java/io/github/jhipster/sample/web/rest/LabelResourceIT.java similarity index 96% rename from src/test/java/io/github/jhipster/sample/web/rest/LabelResourceIntTest.java rename to src/test/java/io/github/jhipster/sample/web/rest/LabelResourceIT.java index fcbab5fa5..8bd95dd13 100644 --- a/src/test/java/io/github/jhipster/sample/web/rest/LabelResourceIntTest.java +++ b/src/test/java/io/github/jhipster/sample/web/rest/LabelResourceIT.java @@ -1,21 +1,18 @@ package io.github.jhipster.sample.web.rest; import io.github.jhipster.sample.JhipsterSampleApplicationApp; - import io.github.jhipster.sample.domain.Label; import io.github.jhipster.sample.repository.LabelRepository; import io.github.jhipster.sample.web.rest.errors.ExceptionTranslator; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.web.PageableHandlerMethodArgumentResolver; import org.springframework.http.MediaType; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.transaction.annotation.Transactional; @@ -24,7 +21,6 @@ import javax.persistence.EntityManager; import java.util.List; - import static io.github.jhipster.sample.web.rest.TestUtil.createFormattingConversionService; import static org.assertj.core.api.Assertions.assertThat; import static org.hamcrest.Matchers.hasItem; @@ -32,13 +28,10 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; /** - * Test class for the LabelResource REST controller. - * - * @see LabelResource + * Integration tests for the {@Link LabelResource} REST controller. */ -@RunWith(SpringRunner.class) @SpringBootTest(classes = JhipsterSampleApplicationApp.class) -public class LabelResourceIntTest { +public class LabelResourceIT { private static final String DEFAULT_LABEL = "AAAAAAAAAA"; private static final String UPDATED_LABEL = "BBBBBBBBBB"; @@ -65,7 +58,7 @@ public class LabelResourceIntTest { private Label label; - @Before + @BeforeEach public void setup() { MockitoAnnotations.initMocks(this); final LabelResource labelResource = new LabelResource(labelRepository); @@ -89,7 +82,7 @@ public static Label createEntity(EntityManager em) { return label; } - @Before + @BeforeEach public void initTest() { label = createEntity(em); } @@ -131,6 +124,7 @@ public void createLabelWithExistingId() throws Exception { assertThat(labelList).hasSize(databaseSizeBeforeCreate); } + @Test @Transactional public void checkLabelIsRequired() throws Exception { @@ -240,7 +234,7 @@ public void deleteLabel() throws Exception { // Delete the label restLabelMockMvc.perform(delete("/api/labels/{id}", label.getId()) .accept(TestUtil.APPLICATION_JSON_UTF8)) - .andExpect(status().isOk()); + .andExpect(status().isNoContent()); // Validate the database is empty List