diff --git a/.circleci/config.yml b/.circleci/config.yml index 6cf54919399..01f55518f38 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -76,8 +76,8 @@ jobs: - *copy_bazel_config # TODO(jelbourn): Update this command to run all tests if the Bazel issues have been fixed. - - run: bazel build src/cdk:npm_package - - run: bazel test src/{cdk,lib}/schematics:unit_tests + - run: bazel build src/cdk/... + - run: bazel test src/cdk/... - *save_cache diff --git a/BUILD.bazel b/BUILD.bazel index c32432ab79f..ffd0fb0cdc5 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,39 +1 @@ package(default_visibility = ["//visibility:public"]) - -# Glob pattern that matches all Angular testing bundles. -ANGULAR_TESTING = [ - "node_modules/@angular/*/bundles/*-testing.umd.js", - # The compiler and the dynamic platform-browser should be visible only in tests - "node_modules/@angular/compiler/bundles/*.umd.js", - "node_modules/@angular/platform-browser-dynamic/bundles/*.umd.js", -] - -filegroup( - name = "angular_bundles", - srcs = glob(["node_modules/@angular/*/bundles/*.umd.js"], exclude = ANGULAR_TESTING), -) - -filegroup( - name = "angular_test_bundles", - testonly = 1, - srcs = glob(ANGULAR_TESTING), -) - -filegroup( - name = "tslib_bundle", - testonly = 1, - srcs = glob(["node_modules/tslib/tslib.js"]), -) - -# Files necessary for unit tests that use zonejs -filegroup( - name = "web_test_bootstrap_scripts", - # The order of these deps is important. - # Do not sort. - srcs = [ - "//:node_modules/reflect-metadata/Reflect.js", - "//:node_modules/zone.js/dist/zone.js", - "//:node_modules/zone.js/dist/zone-testing.js", - "//:node_modules/zone.js/dist/task-tracking.js", - ], -) diff --git a/WORKSPACE b/WORKSPACE index 024147bd0ae..6ce1dd9e6f9 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -82,3 +82,18 @@ rules_angular_dependencies() # Setup Angular workspace for building (Bazel managed node modules) load("@angular//:index.bzl", "ng_setup_workspace") ng_setup_workspace() + +# Setup Go toolchain (required for Bazel web testing rules) +load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains") +go_rules_dependencies() +go_register_toolchains() + +# Setup web testing. We need to setup a browser because the web testing rules for TypeScript need +# a reference to a registered browser (ideally that's a hermetic version of a browser) +load("@io_bazel_rules_webtesting//web:repositories.bzl", "browser_repositories", + "web_test_repositories") + +web_test_repositories() +browser_repositories( + chromium = True, +) diff --git a/package.json b/package.json index ad207bcd732..ac2d7a73ee8 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,8 @@ "@angular/router": "7.0.0-rc.0", "@angular/upgrade": "7.0.0-rc.0", "@bazel/ibazel": "0.3.1", - "@bazel/typescript": "^0.19.1", + "@bazel/karma": "0.20.2", + "@bazel/typescript": "0.20.2", "@firebase/app-types": "^0.3.2", "@google-cloud/storage": "^1.1.1", "@octokit/rest": "^15.9.4", diff --git a/src/BUILD.bazel b/src/BUILD.bazel new file mode 100644 index 00000000000..6cc8169637d --- /dev/null +++ b/src/BUILD.bazel @@ -0,0 +1,6 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "bazel-tsconfig-build.json", + "bazel-tsconfig-test.json", +]) diff --git a/src/bazel-tsconfig-build.json b/src/bazel-tsconfig-build.json new file mode 100644 index 00000000000..b4d1b104343 --- /dev/null +++ b/src/bazel-tsconfig-build.json @@ -0,0 +1,30 @@ +// TypeScript configuration that will be used to build entry-points of the CDK. To avoid +// duplicate logic, we decided to just have one package-wide tsconfig file that will be +// used by Bazel to build the sources for an entry-point. This means that we no longer +// need multiple tsconfig files (build & test) for each entry-point once Bazel replaces +// our gulp build system. +{ + "compilerOptions": { + "baseUrl": ".", + "declaration": true, + "stripInternal": false, + "experimentalDecorators": true, + "noUnusedParameters": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noImplicitAny": true, + "importHelpers": true, + "newLine": "lf", + "module": "es2015", + "moduleResolution": "node", + "sourceMap": true, + "inlineSources": true, + "target": "es2015", + "lib": ["es2015", "dom"], + "skipLibCheck": true, + "types": ["tslib"] + }, + "bazelOptions": { + "suppressTsconfigOverrideWarnings": true + } +} diff --git a/src/bazel-tsconfig-test.json b/src/bazel-tsconfig-test.json new file mode 100644 index 00000000000..ca588c3e2ce --- /dev/null +++ b/src/bazel-tsconfig-test.json @@ -0,0 +1,10 @@ +// TypeScript configuration that will be used to build the test sources for entry-points +// of the CDK. To avoid duplicate logic, we decided to just have one package-wide tsconfig +// file that will be used by Bazel to build the test sources for an entry-point. +{ + "extends": "./bazel-tsconfig-build.json", + "compilerOptions": { + "importHelpers": false, + "types": ["jasmine"] + } +} diff --git a/src/cdk/BUILD.bazel b/src/cdk/BUILD.bazel index 88a0304ea34..d7ff562ddcb 100644 --- a/src/cdk/BUILD.bazel +++ b/src/cdk/BUILD.bazel @@ -26,5 +26,8 @@ ng_package( globals = ROLLUP_GLOBALS, replacements = VERSION_PLACEHOLDER_REPLACEMENTS, deps = CDK_TARGETS, - tags = ["publish"], + # TODO(devversion): Use the npm package for publishing. Right now this is disabled because + # we build using AOT for serving & testing, but the `ng_package` rule should not include factory + # files. + tags = ["manual"], ) diff --git a/src/cdk/a11y/BUILD.bazel b/src/cdk/a11y/BUILD.bazel index 64318165bc4..6fda6ab3ec7 100644 --- a/src/cdk/a11y/BUILD.bazel +++ b/src/cdk/a11y/BUILD.bazel @@ -1,8 +1,7 @@ package(default_visibility=["//visibility:public"]) load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "a11y", @@ -17,8 +16,7 @@ ng_module( "//src/cdk/keycodes", "//src/cdk/observers", "//src/cdk/platform", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ] ) # TODO(jelbourn): remove this when sass_library acts like a filegroup @@ -32,35 +30,22 @@ sass_library( srcs = [":a11y_scss_partials"], ) -ts_library( +ng_test_library( name = "a11y_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":a11y", + "@angular//packages/platform-browser", + "@rxjs", + "@rxjs//operators", "//src/cdk/keycodes", "//src/cdk/observers", "//src/cdk/platform", "//src/cdk/testing", - "@rxjs", - "@rxjs//operators", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ":a11y", + ] ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - # TODO(mmalerba): re-enable once ngfactory issue is resolved. - tags = ["manual"], - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":a11y_test_sources", - ], + deps = [":a11y_test_sources"], ) diff --git a/src/cdk/accordion/BUILD.bazel b/src/cdk/accordion/BUILD.bazel index 1c09cd88d7f..8f42bab05b5 100644 --- a/src/cdk/accordion/BUILD.bazel +++ b/src/cdk/accordion/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ts_library", "ng_test_library", "ng_web_test_suite") ng_module( name = "accordion", @@ -12,30 +11,20 @@ ng_module( "@rxjs", "//src/cdk/coercion", "//src/cdk/collections", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ] ) -ts_library( +ng_test_library( name = "accordion_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ + "@angular//packages/platform-browser", + "@angular//packages/platform-browser/animations", ":accordion", - "@rxjs", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ] ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":accordion_test_sources", - ], + deps = [":accordion_test_sources"], ) diff --git a/src/cdk/bidi/BUILD.bazel b/src/cdk/bidi/BUILD.bazel index 7a109abc162..37216af91cb 100644 --- a/src/cdk/bidi/BUILD.bazel +++ b/src/cdk/bidi/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "bidi", @@ -10,29 +9,19 @@ ng_module( deps = [ "@angular//packages/common", "@angular//packages/core", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ] ) -ts_library( +ng_test_library( name = "bidi_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), - deps = [":bidi"], - tsconfig = "//src/cdk:tsconfig-build.json", + deps = [ + "@angular//packages/platform-browser", + ":bidi" + ], ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":bidi_test_sources", - ], + deps = [":bidi_test_sources"], ) diff --git a/src/cdk/coercion/BUILD.bazel b/src/cdk/coercion/BUILD.bazel index c3d848439b2..4ea7174890a 100644 --- a/src/cdk/coercion/BUILD.bazel +++ b/src/cdk/coercion/BUILD.bazel @@ -1,24 +1,25 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") +load("//tools:defaults.bzl", "ts_library", "jasmine_node_test") ts_library( name = "coercion", srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), module_name = "@angular/cdk/coercion", deps = ["@npm//tslib"], - tsconfig = "//src/cdk:tsconfig-build.json", ) ts_library( name = "coercion_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), - deps = [":coercion"], + deps = [ + "@npm//@types/jasmine", + ":coercion" + ], + testonly = 1, ) -ts_web_test( +jasmine_node_test( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], deps = [":coercion_test_sources"], ) diff --git a/src/cdk/collections/BUILD.bazel b/src/cdk/collections/BUILD.bazel index 23f87262424..662816de9c0 100644 --- a/src/cdk/collections/BUILD.bazel +++ b/src/cdk/collections/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ts_library", "jasmine_node_test") ng_module( name = "collections", @@ -11,29 +10,19 @@ ng_module( "@angular//packages/core", "@rxjs" ], - tsconfig = "//src/cdk:tsconfig-build.json", ) ts_library( name = "collections_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":collections", - "@rxjs", + "@npm//@types/jasmine", + ":collections" ], - tsconfig = "//src/cdk:tsconfig-build.json", + testonly = 1, ) -ts_web_test( +jasmine_node_test( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":collections_test_sources", - ], + deps = [":collections_test_sources"], ) diff --git a/src/cdk/drag-drop/BUILD.bazel b/src/cdk/drag-drop/BUILD.bazel index 30b5e49238f..960de9c543e 100644 --- a/src/cdk/drag-drop/BUILD.bazel +++ b/src/cdk/drag-drop/BUILD.bazel @@ -1,8 +1,7 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") load("@io_bazel_rules_sass//sass:sass.bzl", "sass_binary") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "drag-drop", @@ -18,35 +17,19 @@ ng_module( "//src/cdk/bidi", "//src/cdk/coercion", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) - -ts_library( - name = "drag_and_drop_test_sources", - testonly = 1, +ng_test_library( + name = "drag-drop_test_sources", srcs = glob(["**/*.spec.ts"]), deps = [ - ":drag-drop", "//src/cdk/testing", "//src/cdk/bidi", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ":drag-drop", + ] ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - tags = ["manual"], - - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":drag_and_drop_test_sources", - ], + deps = [":drag-drop_test_sources"], ) diff --git a/src/cdk/keycodes/BUILD.bazel b/src/cdk/keycodes/BUILD.bazel index f62749f5f0c..585c7e62365 100644 --- a/src/cdk/keycodes/BUILD.bazel +++ b/src/cdk/keycodes/BUILD.bazel @@ -1,11 +1,10 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library") +load("//tools:defaults.bzl", "ts_library") ts_library( name = "keycodes", - srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), module_name = "@angular/cdk/keycodes", + srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), deps = ["@npm//tslib"], - tsconfig = "//src/cdk:tsconfig-build.json", ) diff --git a/src/cdk/layout/BUILD.bazel b/src/cdk/layout/BUILD.bazel index 8ad0533177d..1452a703180 100644 --- a/src/cdk/layout/BUILD.bazel +++ b/src/cdk/layout/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "layout", @@ -14,30 +13,18 @@ ng_module( "//src/cdk/coercion", "//src/cdk/platform", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_library( +ng_test_library( name = "layout_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":layout", "//src/cdk/platform", - "@rxjs", + ":layout", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":layout_test_sources", - ], + deps = [":layout_test_sources"], ) diff --git a/src/cdk/observers/BUILD.bazel b/src/cdk/observers/BUILD.bazel index f98c4b1ddd5..f2110acb31b 100644 --- a/src/cdk/observers/BUILD.bazel +++ b/src/cdk/observers/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "observers", @@ -13,29 +12,15 @@ ng_module( "@rxjs//operators", "//src/cdk/coercion", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_library( +ng_test_library( name = "observers_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), - deps = [ - ":observers", - "@rxjs", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + deps = [":observers"], ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":observers_test_sources", - ], + deps = [":observers_test_sources"], ) diff --git a/src/cdk/overlay/BUILD.bazel b/src/cdk/overlay/BUILD.bazel index 6f4111a212b..b44d8e1757e 100644 --- a/src/cdk/overlay/BUILD.bazel +++ b/src/cdk/overlay/BUILD.bazel @@ -1,8 +1,7 @@ package(default_visibility=["//visibility:public"]) load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library") -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "overlay", @@ -20,7 +19,6 @@ ng_module( "//src/cdk/portal", "//src/cdk/scrolling", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) # TODO(jelbourn): replace this w/ sass_library when it supports acting like a filegroup @@ -34,39 +32,29 @@ sass_library( srcs = [":overlay_scss_partials"], ) -ts_library( +ng_test_library( name = "overlay_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":overlay", + "@angular//packages/common", + "@angular//packages/common/testing", + "@angular//packages/platform-browser", + "@rxjs", + "@rxjs//operators", "//src/cdk/bidi", "//src/cdk/keycodes", "//src/cdk/platform", "//src/cdk/portal", "//src/cdk/scrolling", "//src/cdk/testing", - "@rxjs", - "@rxjs//operators", + ":overlay", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - # TODO(jelbourn): re-enable this when we can specify browser flags - # in order to fix the window size. - tags = ["manual"], - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":overlay_test_sources", - ], + deps = [":overlay_test_sources"], + # TODO(devversion): Disabling this test until we found a way to set the screen resolution + # of the web test instance. Currently all positioning tests are not passing. + tags = ["manual"] ) diff --git a/src/cdk/platform/BUILD.bazel b/src/cdk/platform/BUILD.bazel index fb1b8176ea4..029b9072125 100644 --- a/src/cdk/platform/BUILD.bazel +++ b/src/cdk/platform/BUILD.bazel @@ -9,6 +9,5 @@ ng_module( deps = [ "@angular//packages/common", "@angular//packages/core", - ], - tsconfig = "//src/cdk:tsconfig-build.json", + ] ) diff --git a/src/cdk/portal/BUILD.bazel b/src/cdk/portal/BUILD.bazel index ae2b09363b3..3fed5eb31c0 100644 --- a/src/cdk/portal/BUILD.bazel +++ b/src/cdk/portal/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "portal", @@ -10,26 +9,18 @@ ng_module( deps = [ "@angular//packages/core", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_library( +ng_test_library( name = "portal_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), - deps = [":portal"], - tsconfig = "//src/cdk:tsconfig-build.json", -) - -ts_web_test( - name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # Do not sort deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":portal_test_sources", + "@angular//packages/common", + ":portal", ], ) + +ng_web_test_suite( + name = "unit_tests", + deps = [":portal_test_sources"], +) diff --git a/src/cdk/scrolling/BUILD.bazel b/src/cdk/scrolling/BUILD.bazel index cf14dcca06f..d9ec49b1166 100644 --- a/src/cdk/scrolling/BUILD.bazel +++ b/src/cdk/scrolling/BUILD.bazel @@ -1,8 +1,7 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") load("@io_bazel_rules_sass//sass:sass.bzl", "sass_binary") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "scrolling", @@ -18,7 +17,6 @@ ng_module( "//src/cdk/collections", "//src/cdk/platform", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) sass_binary( @@ -26,31 +24,19 @@ sass_binary( src = "virtual-scroll-viewport.scss", ) -ts_library( +ng_test_library( name = "scrolling_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":scrolling", + "@rxjs", "//src/cdk/bidi", "//src/cdk/collections", "//src/cdk/testing", - "@rxjs", + ":scrolling", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = [ - "//:web_test_bootstrap_scripts", - ], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":scrolling_test_sources", - ], + deps = [":scrolling_test_sources"], ) diff --git a/src/cdk/stepper/BUILD.bazel b/src/cdk/stepper/BUILD.bazel index 1110403f3c2..ef01aff6aff 100644 --- a/src/cdk/stepper/BUILD.bazel +++ b/src/cdk/stepper/BUILD.bazel @@ -17,5 +17,4 @@ ng_module( "//src/cdk/coercion", "//src/cdk/keycodes", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) diff --git a/src/cdk/table/BUILD.bazel b/src/cdk/table/BUILD.bazel index cdf2ffe5d31..49c5b05999a 100644 --- a/src/cdk/table/BUILD.bazel +++ b/src/cdk/table/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "table", @@ -17,32 +16,21 @@ ng_module( "//src/cdk/coercion", "//src/cdk/platform", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_library( +ng_test_library( name = "table_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":table", + "@rxjs", + "@rxjs//operators", "//src/cdk/bidi", "//src/cdk/collections", - "@rxjs", - "@rxjs//operators" + ":table", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":table_test_sources", - ], + deps = [":table_test_sources"], ) diff --git a/src/cdk/testing/BUILD.bazel b/src/cdk/testing/BUILD.bazel index 251d440461d..1c34083e7c7 100644 --- a/src/cdk/testing/BUILD.bazel +++ b/src/cdk/testing/BUILD.bazel @@ -6,7 +6,6 @@ ng_module( name = "testing", srcs = glob(["**/*.ts"], exclude=["**/*.spec.ts"]), module_name = "@angular/cdk/testing", - tsconfig = ":tsconfig-bazel.json", deps = [ "@angular//packages/core", ], diff --git a/src/cdk/testing/tsconfig-bazel.json b/src/cdk/testing/tsconfig-bazel.json deleted file mode 100644 index 0bda591fb46..00000000000 --- a/src/cdk/testing/tsconfig-bazel.json +++ /dev/null @@ -1,16 +0,0 @@ -// This file exists to be consumed by Bazel -// Note that there is no build tsconfig because the cdk/testing entry-point is internal-only. -{ - "extends": "../tsconfig-build", - "files": [ - "public-api.ts", - "../typings.d.ts" - ], - "angularCompilerOptions": { - "annotateForClosureCompiler": true, - "strictMetadataEmit": true, - "flatModuleOutFile": "index.js", - "flatModuleId": "@angular/cdk/testing", - "skipTemplateCodegen": true - } -} diff --git a/src/cdk/text-field/BUILD.bazel b/src/cdk/text-field/BUILD.bazel index 242e708d5aa..152e5b1e720 100644 --- a/src/cdk/text-field/BUILD.bazel +++ b/src/cdk/text-field/BUILD.bazel @@ -1,7 +1,7 @@ package(default_visibility=["//visibility:public"]) load("@io_bazel_rules_sass//sass:sass.bzl", "sass_library", "sass_binary") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "text-field", @@ -14,7 +14,6 @@ ng_module( "//src/cdk/coercion", "//src/cdk/platform", ], - tsconfig = "//src/lib:tsconfig-build.json", ) # TODO(jelbourn): replace this w/ sass_library when it supports acting like a filegroup @@ -33,3 +32,25 @@ sass_binary( src = "text-field-prebuilt.scss", deps = [":text_field_scss_lib"], ) + +ng_test_library( + name = "text-field_test_sources", + srcs = glob(["**/*.spec.ts"]), + deps = [ + "@angular//packages/forms", + "@angular//packages/platform-browser", + "@angular//packages/platform-browser/animations", + "@rxjs", + "//src/cdk/platform", + "//src/cdk/testing", + ":text-field" + ], +) + +ng_web_test_suite( + name = "unit_tests", + deps = [":text-field_test_sources"], + # TODO(devversion): Disabling this test until we found a way to set the screen resolution + # of the web test instance. Currently all positioning tests are not passing. + tags = ["manual"], +) diff --git a/src/cdk/tree/BUILD.bazel b/src/cdk/tree/BUILD.bazel index bf096f422aa..6328cbbedf0 100644 --- a/src/cdk/tree/BUILD.bazel +++ b/src/cdk/tree/BUILD.bazel @@ -1,7 +1,6 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library", "ts_web_test") -load("//tools:defaults.bzl", "ng_module") +load("//tools:defaults.bzl", "ng_module", "ng_test_library", "ng_web_test_suite") ng_module( name = "tree", @@ -17,33 +16,20 @@ ng_module( "//src/cdk/coercion", "//src/cdk/collections", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_library( +ng_test_library( name = "tree_test_sources", - testonly = 1, srcs = glob(["**/*.spec.ts"]), deps = [ - ":tree", - "//src/cdk/collections", "@rxjs", "@rxjs//operators", + "//src/cdk/collections", + ":tree", ], - tsconfig = "//src/cdk:tsconfig-build.json", ) -ts_web_test( +ng_web_test_suite( name = "unit_tests", - bootstrap = ["//:web_test_bootstrap_scripts"], - # TODO(tinagao): get these tests passing - tags = ["manual"], - # Do not sort - deps = [ - "//:tslib_bundle", - "//:angular_bundles", - "//:angular_test_bundles", - "//test:angular_test_init", - ":tree_test_sources", - ], + deps = [":tree_test_sources"], ) diff --git a/src/cdk/tsconfig-build.json b/src/cdk/tsconfig-build.json index ba7d8f9fdac..5e5720c7c0b 100644 --- a/src/cdk/tsconfig-build.json +++ b/src/cdk/tsconfig-build.json @@ -1,30 +1,17 @@ -// TypeScript config file that is used to compile the cdk's ES2015 package. +// TypeScript config file that is used to compile the cdk's ES2015 package through Gulp. As the +// long term goal is to switch to Bazel, and we already want to run tests with Bazel, we need to +// ensure the TypeScript build options are the same for Gulp and Bazel. We archive this by +// extending the generic Bazel build tsconfig which will be used for each entry-point. { + "extends": "../bazel-tsconfig-build.json", "compilerOptions": { "baseUrl": ".", - "declaration": true, - "stripInternal": false, - "experimentalDecorators": true, - "noUnusedParameters": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "noImplicitAny": true, - "importHelpers": true, - "newLine": "lf", - "module": "es2015", - "moduleResolution": "node", "outDir": "../../dist/packages/cdk", "rootDir": ".", "rootDirs": [ ".", "../../dist/packages/cdk" ], - "sourceMap": true, - "inlineSources": true, - "target": "es2015", - "lib": ["es2015", "dom"], - "skipLibCheck": true, - "types": ["tslib"], "paths": { "@angular/cdk/*": ["../../dist/packages/cdk/*"] } @@ -40,8 +27,5 @@ "flatModuleId": "@angular/cdk", "skipTemplateCodegen": true, "fullTemplateTypeCheck": true - }, - "bazelOptions": { - "suppressTsconfigOverrideWarnings": true } } diff --git a/src/cdk/tsconfig-tests.json b/src/cdk/tsconfig-tests.json index 271bb4b489a..a7d64bc5e88 100644 --- a/src/cdk/tsconfig-tests.json +++ b/src/cdk/tsconfig-tests.json @@ -26,7 +26,7 @@ // Unset options inherited from tsconfig-build "annotateForClosureCompiler": false, "flatModuleOutFile": null, - "flatModuleId": null, + "flatModuleId": null }, "include": [ // Include the index.ts for each secondary entry-point diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 9a66a5f0dd0..82cbc74a249 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -1,11 +1,16 @@ package(default_visibility=["//visibility:public"]) -load("@build_bazel_rules_typescript//:defs.bzl", "ts_library") +load("//tools:defaults.bzl", "ts_library") # Common set-up for all Angular Material and CDK tests. ts_library( name = "angular_test_init", - testonly = 1, + testonly = True, + deps = [ + "@angular//packages/core/testing", + "@angular//packages/platform-browser-dynamic/testing", + "@npm//@types/jasmine", + ], # This file *must* end with "spec" in order for ts_web_test to load it. srcs = ["angular-test-init-spec.ts"], ) diff --git a/test/angular-test-init-spec.ts b/test/angular-test-init-spec.ts index d57fc4f0e61..91e783d5bac 100644 --- a/test/angular-test-init-spec.ts +++ b/test/angular-test-init-spec.ts @@ -1,12 +1,12 @@ -import {TestBed} from '@angular/core/testing'; +import {ComponentFixture, TestBed} from '@angular/core/testing'; import { BrowserDynamicTestingModule, platformBrowserDynamicTesting, } from '@angular/platform-browser-dynamic/testing'; - -/* Common setup / initialization for all unit tests in Angular Material and CDK. */ - +/* + * Common setup / initialization for all unit tests in Angular Material and CDK. + */ const testBed = TestBed.initTestEnvironment( [BrowserDynamicTestingModule], platformBrowserDynamicTesting()); @@ -31,7 +31,7 @@ patchTestBedToDestroyFixturesAfterEveryTest(testBed); * aforementioned errors were thrown, they would be reported for the wrong test (the test that's * about to start, not the test that just finished). */ -function patchTestBedToDestroyFixturesAfterEveryTest(testBedInstance) { +function patchTestBedToDestroyFixturesAfterEveryTest(testBedInstance: TestBed) { // Original resetTestingModule function of the TestBed. const _resetTestingModule = testBedInstance.resetTestingModule; @@ -40,7 +40,7 @@ function patchTestBedToDestroyFixturesAfterEveryTest(testBedInstance) { // errors when destroying components are no longer causing Jasmine to fail. testBedInstance.resetTestingModule = function() { try { - this._activeFixtures.forEach(fixture => fixture.destroy()); + this._activeFixtures.forEach((fixture: ComponentFixture) => fixture.destroy()); } finally { this._activeFixtures = []; // Regardless of errors or not, run the original reset testing module function. diff --git a/tools/bazel.rc b/tools/bazel.rc index 0ced420a281..44b9c8f0fc3 100644 --- a/tools/bazel.rc +++ b/tools/bazel.rc @@ -47,6 +47,6 @@ build --workspace_status_command=./tools/bazel-stamp-vars.sh # running as daemons, and cache SourceFile AST's to reduce parse time. build --strategy=TypeScriptCompile=worker --strategy=AngularTemplateCompile=worker -# Use the new "ngtsc" compiler strategy. We don't want to compile with Ivy nor with the -# legacy compiler that doesn't handle `providedIn` properly. -build --define=compile=local +# Use the legacy AOT compiler strategy. We don't want to compile with Ivy nor with "ngtsc" which +# does not generate factory files which are needed for AOT. +build --define=compile=legacy diff --git a/tools/defaults.bzl b/tools/defaults.bzl index 832eab5aa0c..2156cb84a78 100644 --- a/tools/defaults.bzl +++ b/tools/defaults.bzl @@ -2,12 +2,32 @@ load("@angular//:index.bzl", _ng_module = "ng_module") load("@build_bazel_rules_nodejs//:defs.bzl", _jasmine_node_test = "jasmine_node_test") -load("@build_bazel_rules_typescript//:defs.bzl", _ts_library = "ts_library") +load("@build_bazel_rules_typescript//:defs.bzl", _ts_library = "ts_library", + _ts_web_test_suite = "ts_web_test_suite") -def ts_library(deps = [], **kwargs): - ts_library(**kwargs) +DEFAULT_TSCONFIG_BUILD = "//src:bazel-tsconfig-build.json" +DEFAULT_TSCONFIG_TEST = "//src:bazel-tsconfig-test.json" + +def _getDefaultTsConfig(testonly): + if testonly: + return DEFAULT_TSCONFIG_TEST + else: + return DEFAULT_TSCONFIG_BUILD + +def ts_library(tsconfig = None, testonly = False, **kwargs): + if not tsconfig: + tsconfig = _getDefaultTsConfig(testonly) + + _ts_library( + tsconfig = tsconfig, + testonly = testonly, + **kwargs + ) + +def ng_module(deps = [], tsconfig = None, testonly = False, **kwargs): + if not tsconfig: + tsconfig = _getDefaultTsConfig(testonly) -def ng_module(deps = [], **kwargs): local_deps = [ # Since we use the TypeScript import helpers (tslib) for each TypeScript configuration, # we declare TSLib as default dependency @@ -16,6 +36,8 @@ def ng_module(deps = [], **kwargs): _ng_module( deps = local_deps, + tsconfig = tsconfig, + testonly = testonly, **kwargs ) @@ -30,3 +52,31 @@ def jasmine_node_test(deps = [], **kwargs): deps = local_deps, **kwargs ) + +def ng_test_library(deps = [], tsconfig = None, **kwargs): + local_deps = [ + # We declare "@angular/core" and "@angular/core/testing" as default dependencies because + # all Angular component unit tests use the `TestBed` and `Component` exports. + "@angular//packages/core", + "@angular//packages/core/testing", + "@npm//@types/jasmine", + ] + deps; + + ts_library( + testonly = 1, + deps = local_deps, + **kwargs + ) + +def ng_web_test_suite(deps = [], srcs = [], **kwargs): + _ts_web_test_suite( + # Required for running the compiled ng modules that use TypeScript import helpers. + srcs = ["@npm//node_modules/tslib:tslib.js"] + srcs, + # Depend on our custom test initialization script. This needs to be the first dependency. + deps = ["//test:angular_test_init"] + deps, + bootstrap = [ + "@npm//node_modules/zone.js:dist/zone-testing-bundle.js", + "@npm//node_modules/reflect-metadata:Reflect.js", + ], + **kwargs + ) diff --git a/yarn.lock b/yarn.lock index a14dfc48007..e873cdb460c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -245,10 +245,26 @@ resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.3.1.tgz#5f02f208f138e581bbdb1534d5c013d7a0ac9799" integrity sha1-XwLyCPE45YG72xU01cAT16Csl5k= -"@bazel/typescript@^0.19.1": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.19.1.tgz#61dd57c0ab8a6c9930d2463d44e9522ec007fe3a" - integrity sha512-rNpNNRAQmtb+AdX5CvLzDGOADO2PRbZWoQfd7I2NXTuWk8BaJEb0D5W+WxQGcNim6qTUD1JLAknfOVYICf3OaQ== +"@bazel/karma@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-0.20.2.tgz#69b440e320eadce2b4c7de922f87c5fc539b6586" + integrity sha512-WQHPpAuu9jNqZ7J2tYkAJaccC9oQh5IjD0wJDnBq0iLxusLQkxJOPw5TmemHYVEMlkuj5+1w7UN8YeS0YRgAeg== + dependencies: + jasmine-core "2.8.0" + karma alexeagle/karma#fa1a84ac881485b5657cb669e9b4e5da77b79f0a + karma-chrome-launcher "2.2.0" + karma-firefox-launcher "1.1.0" + karma-jasmine "1.1.1" + karma-requirejs "1.1.0" + karma-sauce-launcher "1.2.0" + karma-sourcemap-loader "0.3.7" + requirejs "2.3.5" + tmp "0.0.33" + +"@bazel/typescript@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.20.2.tgz#7e31e2fe23458536e4917bf5ee130d55704c54f5" + integrity sha512-S54LqrCT3WpYdYgpOYEgtwdGX2kJfliSNombmmWmR3ZXYdXwU10PYhWR7s4k9eyakknitAt1RxPEvIHEHCucqQ== dependencies: protobufjs "5.0.0" source-map-support "0.5.9" @@ -914,6 +930,11 @@ add-stream@^1.0.0: resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= +addressparser@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746" + integrity sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y= + adm-zip@^0.4.11, adm-zip@^0.4.9, adm-zip@~0.4.3: version "0.4.11" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a" @@ -932,7 +953,7 @@ agent-base@2: extend "~3.0.0" semver "~5.0.1" -agent-base@4, agent-base@^4.1.0: +agent-base@4, agent-base@^4.1.0, agent-base@^4.2.0, agent-base@~4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== @@ -983,6 +1004,17 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= +amqplib@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/amqplib/-/amqplib-0.5.2.tgz#d2d7313c7ffaa4d10bcf1e6252de4591b6cc7b63" + integrity sha512-l9mCs6LbydtHqRniRwYkKdqxVa6XMz3Vw1fh+2gJaaVgTM6Jk3o8RccAKWKtlhT1US5sWrFh+KKxsVUALURSIA== + dependencies: + bitsyntax "~0.0.4" + bluebird "^3.4.6" + buffer-more-ints "0.0.2" + readable-stream "1.x >=1.1.9" + safe-buffer "^5.0.1" + ansi-align@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" @@ -1275,11 +1307,21 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ= + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +ast-types@0.x.x: + version "0.11.5" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.5.tgz#9890825d660c03c28339f315e9fa0a360e31ec28" + integrity sha512-oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw== + async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -1314,7 +1356,7 @@ async@2.6.0: dependencies: lodash "^4.14.0" -async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.3.0, async@^2.4.0, async@^2.5.0: +async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.3.0, async@^2.4.0, async@^2.5.0, async@~2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== @@ -1365,12 +1407,17 @@ autoprefixer@^9.0.0: postcss "^7.0.2" postcss-value-parser "^3.2.3" +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8= + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= -aws4@^1.6.0, aws4@^1.8.0: +aws4@^1.2.1, aws4@^1.6.0, aws4@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== @@ -1388,6 +1435,13 @@ axe-webdriverjs@^1.1.1: axe-core "^2.6.1" selenium-webdriver ">= 2.53.1" +axios@^0.15.3: + version "0.15.3" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.15.3.tgz#2c9d638b2e191a08ea1d6cc988eadd6ba5bdc053" + integrity sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM= + dependencies: + follow-redirects "1.0.0" + axios@^0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" @@ -1507,6 +1561,13 @@ binary@~0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" +bitsyntax@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/bitsyntax/-/bitsyntax-0.0.4.tgz#eb10cc6f82b8c490e3e85698f07e83d46e0cba82" + integrity sha1-6xDMb4K4xJDj6FaY8H6D1G4MuoI= + dependencies: + buffer-more-ints "0.0.2" + bl@^1.0.0: version "1.2.2" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" @@ -1515,6 +1576,13 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" +bl@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" + integrity sha1-/cqHGplxOqANGeO7ukHER4emU5g= + dependencies: + readable-stream "~2.0.5" + blob@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" @@ -1534,7 +1602,7 @@ blocking-proxy@^1.0.0: dependencies: minimist "^1.2.0" -bluebird@^3.3.0: +bluebird@^3.3.0, bluebird@^3.4.6: version "3.5.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== @@ -1586,6 +1654,13 @@ body@^5.1.0: raw-body "~1.1.0" safe-json-parse "~1.0.1" +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= + dependencies: + hoek "2.x.x" + boom@4.x.x: version "4.3.1" resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" @@ -1735,6 +1810,11 @@ buffer-indexof-polyfill@~1.0.0: resolved "https://registry.yarnpkg.com/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz#a9fb806ce8145d5428510ce72f278bb363a638bf" integrity sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8= +buffer-more-ints@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/buffer-more-ints/-/buffer-more-ints-0.0.2.tgz#26b3885d10fa13db7fc01aae3aab870199e0124c" + integrity sha1-JrOIXRD6E9t/wBquOquHAZngEkw= + buffer@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" @@ -1755,6 +1835,19 @@ bufferstreams@^1.1.0: dependencies: readable-stream "^2.0.2" +buildmail@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/buildmail/-/buildmail-4.0.1.tgz#877f7738b78729871c9a105e3b837d2be11a7a72" + integrity sha1-h393OLeHKYccmhBeO4N9K+EaenI= + dependencies: + addressparser "1.0.1" + libbase64 "0.1.0" + libmime "3.0.0" + libqp "1.1.0" + nodemailer-fetch "1.6.0" + nodemailer-shared "1.1.0" + punycode "1.4.1" + builtin-modules@^1.0.0, builtin-modules@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -1897,6 +1990,11 @@ capture-stack-trace@^1.0.0: resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + integrity sha1-cVuW6phBWTzDMGeSP17GDr2k99c= + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -2029,7 +2127,7 @@ chokidar@2.0.4, chokidar@^2.0.0, chokidar@^2.0.3: optionalDependencies: fsevents "^1.2.2" -chokidar@^1.4.2: +chokidar@^1.4.1, chokidar@^1.4.2: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= @@ -2060,7 +2158,7 @@ circular-json@^0.3.1: resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== -circular-json@^0.5.5: +circular-json@^0.5.4, circular-json@^0.5.5: version "0.5.7" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.7.tgz#b8be478d72ea58c7eeda26bf1cf1fba43d188842" integrity sha512-/pXoV1JA847qRKPrHbBK6YIBGFF8GOP4wzSgUOA7q0ew0vAv0iJswP+2/nZQ9uzA3Azi7eTrg9L2yzXc/7ZMIA== @@ -2307,7 +2405,7 @@ combined-stream@1.0.6: dependencies: delayed-stream "~1.0.0" -combined-stream@~1.0.5, combined-stream@~1.0.6: +combined-stream@^1.0.5, combined-stream@~1.0.5, combined-stream@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== @@ -2324,6 +2422,11 @@ commander@^2.12.1, commander@^2.8.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" integrity sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ== +commander@^2.9.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + compare-func@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" @@ -2748,6 +2851,13 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= + dependencies: + boom "2.x.x" + cryptiles@3.x.x: version "3.1.2" resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" @@ -2838,6 +2948,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +data-uri-to-buffer@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" + integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== + date-format@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/date-format/-/date-format-1.2.0.tgz#615e828e233dd1ab9bb9ae0950e0ceccfa6ecad8" @@ -2861,7 +2976,7 @@ dateformat@^3.0.0: resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -debug@2, debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: +debug@2, debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@~2.6.4, debug@~2.6.6: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -2982,6 +3097,15 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +degenerator@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-1.0.4.tgz#fcf490a37ece266464d9cc431ab98c5819ced095" + integrity sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU= + dependencies: + ast-types "0.x.x" + escodegen "1.x.x" + esprima "3.x.x" + del@^2.0.2, del@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" @@ -3185,6 +3309,11 @@ dot-prop@^4.1.0, dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" +double-ended-queue@^2.1.0-0: + version "2.1.0-0" + resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" + integrity sha1-ED01J/0xUo9AGIEwyEHv3XgmTlw= + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -3299,6 +3428,23 @@ end-of-stream@~0.1.5: dependencies: once "~1.3.0" +engine.io-client@~3.1.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.6.tgz#5bdeb130f8b94a50ac5cbeb72583e7a4a063ddfd" + integrity sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg== + dependencies: + 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" + engine.io-client@~3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36" @@ -3327,6 +3473,20 @@ engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: blob "0.0.4" has-binary2 "~1.0.2" +engine.io@~3.1.0: + version "3.1.5" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.5.tgz#0e7ef9d690eb0b35597f1d4ad02a26ca2dba3845" + integrity sha512-D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA== + dependencies: + 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" + optionalDependencies: + uws "~9.14.0" + engine.io@~3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.0.tgz#54332506f42f2edc71690d2f2a42349359f3bf7d" @@ -3455,7 +3615,7 @@ escodegen@1.8.x: optionalDependencies: source-map "~0.2.0" -escodegen@^1.6.1: +escodegen@1.x.x, escodegen@^1.6.1: version "1.11.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" integrity sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw== @@ -3477,7 +3637,7 @@ esprima@2.7.x, esprima@^2.7.1: resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= -esprima@^3.1.3: +esprima@3.x.x, esprima@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= @@ -3807,6 +3967,11 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" +file-uri-to-path@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -4026,6 +4191,13 @@ flatmap-stream@^0.1.0: resolved "https://registry.yarnpkg.com/flatmap-stream/-/flatmap-stream-0.1.1.tgz#d34f39ef3b9aa5a2fc225016bd3adf28ac5ae6ea" integrity sha512-lAq4tLbm3sidmdCN8G3ExaxH7cUCtP5mgDvrYowsx84dcYkJJ4I28N7gkxA6+YlSXzaGLJYIDEi9WGfXzMiXdw== +follow-redirects@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.0.0.tgz#8e34298cbd2e176f254effec75a1c78cc849fd37" + integrity sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc= + dependencies: + debug "^2.2.0" + follow-redirects@^1.0.0, follow-redirects@^1.3.0: version "1.5.8" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.8.tgz#1dbfe13e45ad969f813e86c00e5296f525c885a1" @@ -4062,7 +4234,16 @@ fork-stream@^0.0.4: resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70" integrity sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA= -form-data@~2.3.1, form-data@~2.3.2: +form-data@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.0.0.tgz#6f0aebadcc5da16c13e1ecc11137d85f9b883b25" + integrity sha1-bwrrrcxdoWwT4ezBETfYX5uIOyU= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +form-data@~2.3.0, form-data@~2.3.1, form-data@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" integrity sha1-SXBJi+YEwgwAXU9cI67NIda0kJk= @@ -4182,6 +4363,14 @@ fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: mkdirp ">=0.5 0" rimraf "2" +ftp@~0.3.10: + version "0.3.10" + resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" + integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= + dependencies: + readable-stream "1.1.x" + xregexp "2.0.0" + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" @@ -4243,6 +4432,20 @@ gcs-resumable-upload@^0.10.2: request "^2.85.0" stream-events "^1.0.3" +generate-function@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" + integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== + dependencies: + is-property "^1.0.2" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= + dependencies: + is-property "^1.0.0" + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -4274,6 +4477,18 @@ get-stream@3.0.0, get-stream@^3.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= +get-uri@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.2.tgz#5c795e71326f6ca1286f2fc82575cd2bab2af578" + integrity sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw== + dependencies: + data-uri-to-buffer "1" + debug "2" + extend "3" + file-uri-to-path "1" + ftp "~0.3.10" + readable-stream "2" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -5033,6 +5248,16 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + integrity sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0= + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + har-validator@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" @@ -5147,6 +5372,16 @@ hash-stream-validation@^0.2.1: dependencies: through2 "^2.0.0" +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + hawk@~6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" @@ -5175,6 +5410,19 @@ highlight.js@^9.11.0, highlight.js@^9.12.0: resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.12.0.tgz#e6d9dbe57cbefe60751f02af336195870c90c01e" integrity sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4= +hipchat-notifier@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hipchat-notifier/-/hipchat-notifier-1.1.0.tgz#b6d249755437c191082367799d3ba9a0f23b231e" + integrity sha1-ttJJdVQ3wZEII2d5nTupoPI7Ix4= + dependencies: + lodash "^4.0.0" + request "^2.0.0" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= + hoek@4.x.x: version "4.2.1" resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" @@ -5294,6 +5542,15 @@ http-rewrite-middleware@^0.1.6: resolved "https://registry.yarnpkg.com/http-rewrite-middleware/-/http-rewrite-middleware-0.1.6.tgz#cb2965aafa91ebd4c610b99580aa187812da107c" integrity sha1-yyllqvqR69TGELmVgKoYeBLaEHw= +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -5303,6 +5560,19 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +httpntlm@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/httpntlm/-/httpntlm-1.6.1.tgz#ad01527143a2e8773cfae6a96f58656bb52a34b2" + integrity sha1-rQFScUOi6Hc8+uapb1hla7UqNLI= + dependencies: + httpreq ">=0.4.22" + underscore "~1.7.0" + +httpreq@>=0.4.22: + version "0.4.24" + resolved "https://registry.yarnpkg.com/httpreq/-/httpreq-0.4.24.tgz#4335ffd82cd969668a39465c929ac61d6393627f" + integrity sha1-QzX/2CzZaWaKOUZckprGHWOTYn8= + https-proxy-agent@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" @@ -5325,6 +5595,11 @@ i@0.3.x: resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" integrity sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0= +iconv-lite@0.4.15: + version "0.4.15" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" + integrity sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es= + iconv-lite@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" @@ -5418,6 +5693,16 @@ infinity-agent@^2.0.0: resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216" integrity sha1-ReDi/3qesDCyfWK3SzdEt6esQhY= +inflection@~1.12.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" + integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY= + +inflection@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.3.8.tgz#cbd160da9f75b14c3cc63578d4f396784bf3014e" + integrity sha1-y9Fg2p91sUw8xjV41POWeEvzAU4= + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -5478,6 +5763,11 @@ invert-kv@^1.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= +ip@^1.1.2, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -5695,6 +5985,22 @@ is-module@^1.0.0: resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= +is-my-ip-valid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" + integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== + +is-my-json-valid@^2.12.4: + version "2.19.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz#8fd6e40363cd06b963fa877d444bfb5eddc62175" + integrity sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q== + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + is-my-ip-valid "^1.0.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -5780,6 +6086,11 @@ is-promise@^2.1: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-property@^1.0.0, is-property@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= + is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -5963,16 +6274,16 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" +jasmine-core@2.8.0, jasmine-core@~2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" + integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= + jasmine-core@^3.2.0: version "3.2.1" resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-3.2.1.tgz#8e4ff5b861603ee83343f2b49eee6a0ffe9650ce" integrity sha512-pa9tbBWgU0EE4SWgc85T4sa886ufuQdsgruQANhECYjwqgV4z7Vw/499aCaP8ZH79JDS4vhm8doDG9HO4+e4sA== -jasmine-core@~2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" - integrity sha1-vMl5rh+f0FcB5F5S5l06XWPxok4= - jasmine-diff@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/jasmine-diff/-/jasmine-diff-0.1.3.tgz#93ccc2dcc41028c5ddd4606558074839f2deeaa8" @@ -6104,7 +6415,7 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@5.0.x, json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -6140,6 +6451,11 @@ jsonparse@^1.2.0: resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + jsonschema@^1.0.2: version "1.2.4" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.4.tgz#a46bac5d3506a254465bc548876e267c6d0d6464" @@ -6223,7 +6539,7 @@ karma-browserstack-launcher@^1.3.0: browserstacktunnel-wrapper "~2.0.1" q "~1.5.0" -karma-chrome-launcher@^2.2.0: +karma-chrome-launcher@2.2.0, karma-chrome-launcher@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz#cf1b9d07136cc18fe239327d24654c3dbc368acf" integrity sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w== @@ -6242,17 +6558,27 @@ karma-coverage@^1.1.1: minimatch "^3.0.0" source-map "^0.5.1" -karma-firefox-launcher@^1.0.1: +karma-firefox-launcher@1.1.0, karma-firefox-launcher@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz#2c47030452f04531eb7d13d4fc7669630bb93339" integrity sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA== +karma-jasmine@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.1.tgz#6fe840e75a11600c9d91e84b33c458e1c46a3529" + integrity sha1-b+hA51oRYAydkehLM8RY4cRqNSk= + karma-jasmine@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.2.tgz#394f2b25ffb4a644b9ada6f22d443e2fd08886c3" integrity sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM= -karma-sauce-launcher@^1.2.0: +karma-requirejs@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/karma-requirejs/-/karma-requirejs-1.1.0.tgz#fddae2cb87d7ebc16fb0222893564d7fee578798" + integrity sha1-/driy4fX68FvsCIok1ZNf+5Xh5g= + +karma-sauce-launcher@1.2.0, karma-sauce-launcher@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/karma-sauce-launcher/-/karma-sauce-launcher-1.2.0.tgz#6f2558ddef3cf56879fa27540c8ae9f8bfd16bca" integrity sha512-lEhtGRGS+3Yw6JSx/vJY9iQyHNtTjcojrSwNzqNUOaDceKDu9dPZqA/kr69bUO9G2T6GKbu8AZgXqy94qo31Jg== @@ -6262,7 +6588,7 @@ karma-sauce-launcher@^1.2.0: saucelabs "^1.4.0" wd "^1.4.0" -karma-sourcemap-loader@^0.3.7: +karma-sourcemap-loader@0.3.7, karma-sourcemap-loader@^0.3.7: version "0.3.7" resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz#91322c77f8f13d46fed062b042e1009d4c4505d8" integrity sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg= @@ -6302,6 +6628,38 @@ karma@^3.0.0: tmp "0.0.33" useragent "2.2.1" +"karma@github:alexeagle/karma#fa1a84ac881485b5657cb669e9b4e5da77b79f0a": + version "1.7.1" + resolved "https://codeload.github.com/alexeagle/karma/tar.gz/fa1a84ac881485b5657cb669e9b4e5da77b79f0a" + dependencies: + bluebird "^3.3.0" + body-parser "^1.16.1" + chokidar "^1.4.1" + colors "^1.1.0" + combine-lists "^1.0.0" + connect "^3.6.0" + core-js "^2.2.0" + di "^0.0.1" + dom-serialize "^2.2.0" + expand-braces "^0.1.1" + glob "^7.1.1" + graceful-fs "^4.1.2" + http-proxy "^1.13.0" + isbinaryfile "^3.0.0" + lodash "^4.17.4" + log4js "^2.3.9" + mime "^1.3.4" + minimatch "^3.0.2" + optimist "^0.6.1" + qjobs "^1.1.4" + range-parser "^1.2.0" + rimraf "^2.6.0" + safe-buffer "^5.0.1" + socket.io "2.0.4" + source-map "^0.6.1" + tmp "0.0.33" + useragent "^2.1.12" + keyv@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" @@ -6391,6 +6749,25 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +libbase64@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/libbase64/-/libbase64-0.1.0.tgz#62351a839563ac5ff5bd26f12f60e9830bb751e6" + integrity sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY= + +libmime@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/libmime/-/libmime-3.0.0.tgz#51a1a9e7448ecbd32cda54421675bb21bc093da6" + integrity sha1-UaGp50SOy9Ms2lRCFnW7IbwJPaY= + dependencies: + iconv-lite "0.4.15" + libbase64 "0.1.0" + libqp "1.1.0" + +libqp@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/libqp/-/libqp-1.1.0.tgz#f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" + integrity sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g= + lie@~3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" @@ -6773,7 +7150,7 @@ lodash@^3.10.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= -lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.8.0, lodash@~4.17.10: +lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.0, lodash@^4.8.0, lodash@~4.17.10: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -6795,6 +7172,26 @@ log-symbols@^2.0.0: dependencies: chalk "^2.0.1" +log4js@^2.3.9: + version "2.11.0" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-2.11.0.tgz#bf3902eff65c6923d9ce9cfbd2db54160e34005a" + integrity sha512-z1XdwyGFg8/WGkOyF6DPJjivCWNLKrklGdViywdYnSKOvgtEBo2UyEMZS5sD2mZrQlU3TvO8wDWLc8mzE1ncBQ== + dependencies: + circular-json "^0.5.4" + date-format "^1.2.0" + debug "^3.1.0" + semver "^5.5.0" + streamroller "0.7.0" + optionalDependencies: + amqplib "^0.5.2" + axios "^0.15.3" + hipchat-notifier "^1.1.0" + loggly "^1.1.0" + mailgun-js "^0.18.0" + nodemailer "^2.5.0" + redis "^2.7.1" + slack-node "~0.2.0" + log4js@^3.0.0: version "3.0.5" resolved "https://registry.yarnpkg.com/log4js/-/log4js-3.0.5.tgz#b80146bfebad68b430d4f3569556d8a6edfef303" @@ -6806,6 +7203,15 @@ log4js@^3.0.0: rfdc "^1.1.2" streamroller "0.7.0" +loggly@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/loggly/-/loggly-1.1.1.tgz#0a0fc1d3fa3a5ec44fdc7b897beba2a4695cebee" + integrity sha1-Cg/B0/o6XsRP3HuJe+uipGlc6+4= + dependencies: + json-stringify-safe "5.0.x" + request "2.75.x" + timespan "2.3.x" + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -6866,7 +7272,7 @@ lru-cache@2.2.x: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.2.4.tgz#6c658619becf14031d0d0b594b16042ce4dc063d" integrity sha1-bGWGGb7PFAMdDQtZSxYELOTcBj0= -lru-cache@^4.0.1, lru-cache@^4.1.3: +lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.2, lru-cache@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== @@ -6900,6 +7306,29 @@ magic-string@^0.25.0: dependencies: sourcemap-codec "^1.4.1" +mailcomposer@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/mailcomposer/-/mailcomposer-4.0.1.tgz#0e1c44b2a07cf740ee17dc149ba009f19cadfeb4" + integrity sha1-DhxEsqB890DuF9wUm6AJ8Zyt/rQ= + dependencies: + buildmail "4.0.1" + libmime "3.0.0" + +mailgun-js@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/mailgun-js/-/mailgun-js-0.18.1.tgz#ee39aa18d7bb598a5ce9ede84afb681defc8a6b0" + integrity sha512-lvuMP14u24HS2uBsJEnzSyPMxzU2b99tQsIx1o6QNjqxjk8b3WvR+vq5oG1mjqz/IBYo+5gF+uSoDS0RkMVHmg== + dependencies: + async "~2.6.0" + debug "~3.1.0" + form-data "~2.3.0" + inflection "~1.12.0" + is-stream "^1.1.0" + path-proxy "~1.0.0" + promisify-call "^2.0.2" + proxy-agent "~3.0.0" + tsscmp "~1.0.0" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -7130,7 +7559,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" integrity sha512-L+xvyD9MkoYMXb1jAmzI/lWYAxAMCPvIBSWur0PZ5nOf5euahRLVqH//FKW9mWp2lkqUgYiXPgkzfMUFi4zVDw== -mime-types@^2.0.8, mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19: +mime-types@^2.0.8, mime-types@^2.1.11, mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.19, mime-types@~2.1.7: version "2.1.20" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19" integrity sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A== @@ -7142,7 +7571,7 @@ mime@1.4.1: resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== -mime@^1.4.1: +mime@^1.3.4, mime@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== @@ -7380,6 +7809,11 @@ nested-error-stacks@^1.0.0: dependencies: inherits "~2.0.1" +netmask@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" + integrity sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU= + next-tick@1: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -7491,6 +7925,67 @@ node-sass@^4.8.3, node-sass@^4.9.0, node-sass@^4.9.3: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" +node-uuid@~1.4.7: + version "1.4.8" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc= + +nodemailer-direct-transport@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/nodemailer-direct-transport/-/nodemailer-direct-transport-3.3.2.tgz#e96fafb90358560947e569017d97e60738a50a86" + integrity sha1-6W+vuQNYVglH5WkBfZfmBzilCoY= + dependencies: + nodemailer-shared "1.1.0" + smtp-connection "2.12.0" + +nodemailer-fetch@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz#79c4908a1c0f5f375b73fe888da9828f6dc963a4" + integrity sha1-ecSQihwPXzdbc/6IjamCj23JY6Q= + +nodemailer-shared@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz#cf5994e2fd268d00f5cf0fa767a08169edb07ec0" + integrity sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA= + dependencies: + nodemailer-fetch "1.6.0" + +nodemailer-smtp-pool@2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/nodemailer-smtp-pool/-/nodemailer-smtp-pool-2.8.2.tgz#2eb94d6cf85780b1b4725ce853b9cbd5e8da8c72" + integrity sha1-LrlNbPhXgLG0clzoU7nL1ejajHI= + dependencies: + nodemailer-shared "1.1.0" + nodemailer-wellknown "0.1.10" + smtp-connection "2.12.0" + +nodemailer-smtp-transport@2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/nodemailer-smtp-transport/-/nodemailer-smtp-transport-2.7.2.tgz#03d71c76314f14ac7dbc7bf033a6a6d16d67fb77" + integrity sha1-A9ccdjFPFKx9vHvwM6am0W1n+3c= + dependencies: + nodemailer-shared "1.1.0" + nodemailer-wellknown "0.1.10" + smtp-connection "2.12.0" + +nodemailer-wellknown@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz#586db8101db30cb4438eb546737a41aad0cf13d5" + integrity sha1-WG24EB2zDLRDjrVGc3pBqtDPE9U= + +nodemailer@^2.5.0: + version "2.7.2" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-2.7.2.tgz#f242e649aeeae39b6c7ed740ef7b061c404d30f9" + integrity sha1-8kLmSa7q45tsftdA73sGHEBNMPk= + dependencies: + libmime "3.0.0" + mailcomposer "4.0.1" + nodemailer-direct-transport "3.3.2" + nodemailer-shared "1.1.0" + nodemailer-smtp-pool "2.8.2" + nodemailer-smtp-transport "2.7.2" + socks "1.1.9" + "nopt@2 || 3", nopt@3.x: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -7604,7 +8099,7 @@ nunjucks@^3.0.1: resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" integrity sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ== -oauth-sign@~0.8.2: +oauth-sign@~0.8.1, oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= @@ -7863,6 +8358,31 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= +pac-proxy-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz#11d578b72a164ad74bf9d5bac9ff462a38282432" + integrity sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q== + dependencies: + agent-base "^4.2.0" + debug "^3.1.0" + get-uri "^2.0.0" + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.1" + pac-resolver "^3.0.0" + raw-body "^2.2.0" + socks-proxy-agent "^4.0.1" + +pac-resolver@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-3.0.0.tgz#6aea30787db0a891704deb7800a722a7615a6f26" + integrity sha512-tcc38bsjuE3XZ5+4vP96OfhOugrX+JcnpUbhfuc4LuXBLQhoTthOstZeoQJBDnQUDYzYmdImKsbz0xSl1/9qeA== + dependencies: + co "^4.6.0" + degenerator "^1.0.4" + ip "^1.1.5" + netmask "^1.0.6" + thunkify "^2.1.2" + package-json@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-1.2.0.tgz#c8ecac094227cdf76a316874ed05e27cc939a0e0" @@ -8035,6 +8555,13 @@ path-parse@^1.0.5: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== +path-proxy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path-proxy/-/path-proxy-1.0.0.tgz#18e8a36859fc9d2f1a53b48dee138543c020de5e" + integrity sha1-GOijaFn8nS8aU7SN7hOFQ8Ag3l4= + dependencies: + inflection "~1.3.0" + path-root-regex@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" @@ -8439,6 +8966,13 @@ promise@^8.0.1: dependencies: asap "~2.0.6" +promisify-call@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/promisify-call/-/promisify-call-2.0.4.tgz#d48c2d45652ccccd52801ddecbd533a6d4bd5fba" + integrity sha1-1IwtRWUszM1SgB3ey9UzptS9X7o= + dependencies: + with-callback "^1.0.2" + prompt@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz#8e57123c396ab988897fb327fd3aedc3e735e4fe" @@ -8525,6 +9059,25 @@ proxy-addr@~2.0.3: forwarded "~0.1.2" ipaddr.js "1.8.0" +proxy-agent@~3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.0.3.tgz#1c1a33db60ef5f2e9e35b876fd63c2bc681c611d" + integrity sha512-PXVVVuH9tiQuxQltFJVSnXWuDtNr+8aNBP6XVDDCDiUuDN8eRCm+ii4/mFWmXWEA0w8jjJSlePa4LXlM4jIzNA== + dependencies: + agent-base "^4.2.0" + debug "^3.1.0" + http-proxy-agent "^2.1.0" + https-proxy-agent "^2.2.1" + lru-cache "^4.1.2" + pac-proxy-agent "^3.0.0" + proxy-from-env "^1.0.0" + socks-proxy-agent "^4.0.1" + +proxy-from-env@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" + integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" @@ -8552,7 +9105,7 @@ pumpify@^1.4.0, pumpify@^1.5.1: inherits "^2.0.3" pump "^2.0.0" -punycode@^1.3.2, punycode@^1.4.1: +punycode@1.4.1, punycode@^1.3.2, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -8587,6 +9140,11 @@ qs@6.5.2, qs@^6.4.0, qs@~6.5.1, qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +qs@~6.2.0: + version "6.2.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" + integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= + qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -8630,7 +9188,7 @@ raw-body@2.3.2: iconv-lite "0.4.19" unpipe "1.0.0" -raw-body@2.3.3: +raw-body@2.3.3, raw-body@^2.2.0: version "2.3.3" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== @@ -8724,17 +9282,17 @@ read@1.0.x: dependencies: mute-stream "~0.0.4" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.32: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= +readable-stream@1.1.x, "readable-stream@1.x >=1.1.9", readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: +readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -8747,17 +9305,17 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.32: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@~2.0.0, readable-stream@~2.0.6: +readable-stream@~2.0.0, readable-stream@~2.0.5, readable-stream@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= @@ -8810,6 +9368,25 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +redis-commands@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/redis-commands/-/redis-commands-1.4.0.tgz#52f9cf99153efcce56a8f86af986bd04e988602f" + integrity sha512-cu8EF+MtkwI4DLIT0x9P8qNTLFhQD4jLfxLR0cCNkeGzs87FN6879JOJwNQR/1zD7aSYNbU0hgsV9zGY71Itvw== + +redis-parser@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-2.6.0.tgz#52ed09dacac108f1a631c07e9b69941e7a19504b" + integrity sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs= + +redis@^2.7.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/redis/-/redis-2.8.0.tgz#202288e3f58c49f6079d97af7a10e1303ae14b02" + integrity sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A== + dependencies: + double-ended-queue "^2.1.0-0" + redis-commands "^1.2.0" + redis-parser "^2.6.0" + reflect-metadata@^0.1.2: version "0.1.12" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.12.tgz#311bf0c6b63cd782f228a81abe146a2bfa9c56f2" @@ -8979,6 +9556,33 @@ replace-homedir@^1.0.0: is-absolute "^1.0.0" remove-trailing-separator "^1.1.0" +request@2.75.x: + version "2.75.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.75.0.tgz#d2b8268a286da13eaa5d01adf5d18cc90f657d93" + integrity sha1-0rgmiihtoT6qXQGt9dGMyQ9lfZM= + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.0.0" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + request@2.85.0: version "2.85.0" resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" @@ -9060,7 +9664,7 @@ request@2.87.0: tunnel-agent "^0.6.0" uuid "^3.1.0" -request@^2.55.0, request@^2.72.0, request@^2.74.0, request@^2.79.0, request@^2.81.0, request@^2.83.0, request@^2.85.0, request@^2.87.0: +request@^2.0.0, request@^2.55.0, request@^2.72.0, request@^2.74.0, request@^2.79.0, request@^2.81.0, request@^2.83.0, request@^2.85.0, request@^2.87.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -9086,6 +9690,16 @@ request@^2.55.0, request@^2.72.0, request@^2.74.0, request@^2.79.0, request@^2.8 tunnel-agent "^0.6.0" uuid "^3.3.2" +requestretry@^1.2.2: + version "1.13.0" + resolved "https://registry.yarnpkg.com/requestretry/-/requestretry-1.13.0.tgz#213ec1006eeb750e8b8ce54176283d15a8d55d94" + integrity sha512-Lmh9qMvnQXADGAQxsXHP4rbgO6pffCfuR8XUBdP9aitJcLQJxhp7YZK4xAVYXnPJ5E52mwrfiKQtKonPL8xsmg== + dependencies: + extend "^3.0.0" + lodash "^4.15.0" + request "^2.74.0" + when "^3.7.7" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -9096,6 +9710,11 @@ require-main-filename@^1.0.1: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= +requirejs@2.3.5: + version "2.3.5" + resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.3.5.tgz#617b9acbbcb336540ef4914d790323a8d4b861b0" + integrity sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw== + requires-port@1.x.x, requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -9557,6 +10176,13 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +slack-node@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/slack-node/-/slack-node-0.2.0.tgz#de4b8dddaa8b793f61dbd2938104fdabf37dfa30" + integrity sha1-3kuN3aqLeT9h29KTgQT9q/N9+jA= + dependencies: + requestretry "^1.2.2" + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -9574,6 +10200,24 @@ slide@^1.1.5: resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= +smart-buffer@^1.0.4: + version "1.1.15" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" + integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY= + +smart-buffer@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3" + integrity sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg== + +smtp-connection@2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/smtp-connection/-/smtp-connection-2.12.0.tgz#d76ef9127cb23c2259edb1e8349c2e8d5e2d74c1" + integrity sha1-1275EnyyPCJZ7bHoNJwujV4tdME= + dependencies: + httpntlm "1.6.1" + nodemailer-shared "1.1.0" + snake-case@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" @@ -9616,6 +10260,13 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= + dependencies: + hoek "2.x.x" + sntp@2.x.x: version "2.1.0" resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" @@ -9628,6 +10279,25 @@ socket.io-adapter@~1.1.0: resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs= +socket.io-client@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e" + integrity sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44= + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~2.6.4" + engine.io-client "~3.1.0" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.1.1" + to-array "0.1.4" + socket.io-client@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f" @@ -9648,6 +10318,16 @@ socket.io-client@2.1.1: socket.io-parser "~3.2.0" to-array "0.1.4" +socket.io-parser@~3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.3.tgz#ed2da5ee79f10955036e3da413bfd7f1e4d86c8e" + integrity sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g== + dependencies: + component-emitter "1.2.1" + debug "~3.1.0" + has-binary2 "~1.0.2" + isarray "2.0.1" + socket.io-parser@~3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077" @@ -9657,6 +10337,17 @@ socket.io-parser@~3.2.0: debug "~3.1.0" isarray "2.0.1" +socket.io@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014" + integrity sha1-waRZDO/4fs8TxyZS8Eb3FrKeYBQ= + dependencies: + debug "~2.6.6" + engine.io "~3.1.0" + socket.io-adapter "~1.1.0" + socket.io-client "2.0.4" + socket.io-parser "~3.1.1" + socket.io@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" @@ -9669,6 +10360,30 @@ socket.io@2.1.1: socket.io-client "2.1.1" socket.io-parser "~3.2.0" +socks-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.1.tgz#5936bf8b707a993079c6f37db2091821bffa6473" + integrity sha512-Kezx6/VBguXOsEe5oU3lXYyKMi4+gva72TwJ7pQY5JfqUx2nMk7NXA6z/mpNqIlfQjWYVfeuNvQjexiTaTn6Nw== + dependencies: + agent-base "~4.2.0" + socks "~2.2.0" + +socks@1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.9.tgz#628d7e4d04912435445ac0b6e459376cb3e6d691" + integrity sha1-Yo1+TQSRJDVEWsC25Fk3bLPm1pE= + dependencies: + ip "^1.1.2" + smart-buffer "^1.0.4" + +socks@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.2.1.tgz#68ad678b3642fbc5d99c64c165bc561eab0215f9" + integrity sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w== + dependencies: + ip "^1.1.5" + smart-buffer "^4.0.1" + sorcery@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/sorcery/-/sorcery-0.10.0.tgz#8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7" @@ -10009,7 +10724,7 @@ stringmap@^0.2.2: resolved "https://registry.yarnpkg.com/stringmap/-/stringmap-0.2.2.tgz#556c137b258f942b8776f5b2ef582aa069d7d1b1" integrity sha1-VWwTeyWPlCuHdvWy71gqoGnX0bE= -stringstream@~0.0.5: +stringstream@~0.0.4, stringstream@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA== @@ -10351,6 +11066,11 @@ through@2, "through@>=2.2.7 <3", through@X.X.X, through@^2.3.6, through@^2.3.8, resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +thunkify@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/thunkify/-/thunkify-2.1.2.tgz#faa0e9d230c51acc95ca13a361ac05ca7e04553d" + integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= + tildify@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" @@ -10381,6 +11101,11 @@ timers-ext@^0.1.5: es5-ext "~0.10.46" next-tick "1" +timespan@2.3.x: + version "2.3.0" + resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" + integrity sha1-SQLOBAvRPYRcj1myfp1ZutbzmSk= + tiny-lr@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" @@ -10463,7 +11188,7 @@ tough-cookie@^2.3.1, tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" -tough-cookie@~2.3.3: +tough-cookie@~2.3.0, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA== @@ -10626,6 +11351,11 @@ tslint@^5.11.0: tslib "^1.8.0" tsutils "^2.27.2" +tsscmp@~1.0.0: + version "1.0.6" + resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" + integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== + tsutils@2.27.2: version "2.27.2" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.27.2.tgz#60ba88a23d6f785ec4b89c6e8179cac9b431f1c7" @@ -10654,6 +11384,11 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -10739,6 +11474,11 @@ underscore@1.6.0: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= +underscore@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + integrity sha1-a7rwh3UA02vjTsqlhODbn+8DUgk= + unherit@^1.0.4: version "1.1.1" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.1.tgz#132748da3e88eab767e08fabfbb89c5e9d28628c" @@ -11006,6 +11746,14 @@ useragent@2.2.1: lru-cache "2.2.x" tmp "0.0.x" +useragent@^2.1.12: + version "2.3.0" + resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.3.0.tgz#217f943ad540cb2128658ab23fc960f6a88c9972" + integrity sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw== + dependencies: + lru-cache "4.1.x" + tmp "0.0.x" + util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -11043,6 +11791,11 @@ uuid@^3.0.0, uuid@^3.1.0, uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== +uws@~9.14.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/uws/-/uws-9.14.0.tgz#fac8386befc33a7a3705cbd58dc47b430ca4dd95" + integrity sha512-HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg== + v8flags@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" @@ -11264,7 +12017,7 @@ whatwg-url@^3.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -when@^3.7.5: +when@^3.7.5, when@^3.7.7: version "3.7.8" resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" integrity sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I= @@ -11367,6 +12120,11 @@ winston@^2.1.1: isstream "0.1.x" stack-trace "0.0.x" +with-callback@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/with-callback/-/with-callback-1.0.2.tgz#a09629b9a920028d721404fb435bdcff5c91bc21" + integrity sha1-oJYpuakgAo1yFAT7Q1vc/1yRvCE= + wordwrap@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" @@ -11479,6 +12237,11 @@ xmlhttprequest@1.8.0: resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= +xregexp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" + integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= + "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"