diff --git a/WORKSPACE b/WORKSPACE index 4a75fe8cd5bd..240fe14953e0 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -2,11 +2,11 @@ workspace(name = "angular_material") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -# Add NodeJS rules (explicitly used for sass bundle rules) +# Add NodeJS rules http_archive( name = "build_bazel_rules_nodejs", - sha256 = "1249a60f88e4c0a46d78de06be04d3d41e7421dcfa0c956de65309a7b7ecf6f4", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.38.0/rules_nodejs-0.38.0.tar.gz"], + sha256 = "1447312c8570e8916da0f5f415186e7098cdd4ce48e04b8e864f793c766959c3", + urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/0.38.2/rules_nodejs-0.38.2.tar.gz"], ) # Add sass rules @@ -39,7 +39,7 @@ yarn_install( # are executed in the Bazel sandbox. data = [ "//:angular-tsconfig.json", - "//:tools/bazel/angular_bazel_0.38.0.patch", + "//:tools/bazel/angular_bazel_0.38.2.patch", "//:tools/bazel/flat_module_factory_resolution.patch", "//:tools/bazel/manifest_externs_hermeticity.patch", "//:tools/bazel/postinstall-patches.js", diff --git a/package.json b/package.json index 1a8edce89077..e6a5afdc8731 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "devDependencies": { "@angular-devkit/core": "^9.0.0-next.5", "@angular-devkit/schematics": "^9.0.0-next.5", - "@angular/bazel": "^9.0.0-next.7", + "@angular/bazel": "^9.0.0-next.10", "@angular/compiler-cli": "^9.0.0-next.7", "@angular/platform-browser-dynamic": "^9.0.0-next.7", "@angular/platform-server": "^9.0.0-next.7", @@ -71,10 +71,10 @@ "@bazel/bazel": "^0.29.0", "@bazel/buildifier": "^0.29.0", "@bazel/ibazel": "^0.10.3", - "@bazel/jasmine": "^0.38.0", - "@bazel/karma": "^0.38.0", - "@bazel/typescript": "^0.38.0", - "@bazel/protractor": "^0.38.0", + "@bazel/jasmine": "^0.38.2", + "@bazel/karma": "^0.38.2", + "@bazel/typescript": "^0.38.2", + "@bazel/protractor": "^0.38.2", "@firebase/app-types": "^0.3.2", "@octokit/rest": "^16.28.7", "@schematics/angular": "^9.0.0-next.5", diff --git a/tools/bazel/angular_bazel_0.38.0.patch b/tools/bazel/angular_bazel_0.38.0.patch deleted file mode 100644 index c1c43545ae3e..000000000000 --- a/tools/bazel/angular_bazel_0.38.0.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git node_modules/@angular/bazel/src/esm5.bzl node_modules/@angular/bazel/src/esm5.bzl -index 98315468fb44..22903a9d772d 100644 ---- node_modules/@angular/bazel/src/esm5.bzl -+++ node_modules/@angular/bazel/src/esm5.bzl -@@ -30,7 +30,7 @@ ESM5Info = provider( - ) - - def _map_closure_path(file): -- result = file.short_path[:-len(".closure.js")] -+ result = file.short_path[:-len(".mjs")] - - # short_path is meant to be used when accessing runfiles in a binary, where - # the CWD is inside the current repo. Therefore files in external repo have a -diff --git node_modules/@angular/bazel/src/modify_tsconfig.js node_modules/@angular/bazel/src/modify_tsconfig.js -index 9d3c491598c3..3c997462b247 100644 ---- node_modules/@angular/bazel/src/modify_tsconfig.js -+++ node_modules/@angular/bazel/src/modify_tsconfig.js -@@ -44,7 +44,7 @@ function main(args) { - // ngc-wrapped is expecting POSIX paths and the TypeScript Bazel rules by default only pass - // POSIX paths as well. - angularCompilerOptions['expectedOut'] = angularCompilerOptions['expectedOut'].map( -- f => f.replace(/\.closure\.js$/, '.js').replace(binDir, newOutputBase)); -+ f => f.replace(/\.mjs$/, '.js').replace(binDir, newOutputBase)); - } - fs.writeFileSync(output, JSON.stringify(data)); - } -diff --git node_modules/@angular/bazel/src/ng_module.bzl node_modules/@angular/bazel/src/ng_module.bzl -index 9b88fbb51c2e..d2eb8aa135f4 100644 ---- node_modules/@angular/bazel/src/ng_module.bzl -+++ node_modules/@angular/bazel/src/ng_module.bzl -@@ -237,7 +237,7 @@ def _expected_outs(ctx): - continue - - filter_summaries = ctx.attr.filter_summaries -- closure_js = [f.replace(".js", ".closure.js") for f in devmode_js if not filter_summaries or not f.endswith(".ngsummary.js")] -+ closure_js = [f.replace(".js", ".mjs") for f in devmode_js if not filter_summaries or not f.endswith(".ngsummary.js")] - declarations = [f.replace(".js", ".d.ts") for f in devmode_js] - - devmode_js_files += [ctx.actions.declare_file(basename + ext) for ext in devmode_js] -@@ -262,7 +262,7 @@ def _expected_outs(ctx): - if _should_produce_flat_module_outs(ctx): - flat_module_out = _flat_module_out_file(ctx) - devmode_js_files.append(ctx.actions.declare_file("%s.js" % flat_module_out)) -- closure_js_files.append(ctx.actions.declare_file("%s.closure.js" % flat_module_out)) -+ closure_js_files.append(ctx.actions.declare_file("%s.mjs" % flat_module_out)) - bundle_index_typings = ctx.actions.declare_file("%s.d.ts" % flat_module_out) - declaration_files.append(bundle_index_typings) - if is_legacy_ngc: diff --git a/tools/bazel/angular_bazel_0.38.2.patch b/tools/bazel/angular_bazel_0.38.2.patch new file mode 100644 index 000000000000..b7949bf860b4 --- /dev/null +++ b/tools/bazel/angular_bazel_0.38.2.patch @@ -0,0 +1,146 @@ +diff --git node_modules/@angular/bazel/src/external.bzl node_modules/@angular/bazel/src/external.bzl +index 9cdb543..8b8d4d6 100755 +--- node_modules/@angular/bazel/src/external.bzl ++++ node_modules/@angular/bazel/src/external.bzl +@@ -14,9 +14,9 @@ load( + _ts_providers_dict_to_struct = "ts_providers_dict_to_struct", + ) + load( +- "@build_bazel_rules_nodejs//internal/common:node_module_info.bzl", +- _NodeModuleSources = "NodeModuleSources", +- _collect_node_modules_aspect = "collect_node_modules_aspect", ++ "@build_bazel_rules_nodejs//internal/common:npm_package_info.bzl", ++ _NpmPackageInfo = "NpmPackageInfo", ++ _node_modules_aspect = "node_modules_aspect", + ) + load( + "@npm_bazel_typescript//internal:ts_config.bzl", +@@ -24,11 +24,12 @@ load( + ) + load( + "@build_bazel_rules_nodejs//:providers.bzl", +- _transitive_js_ecma_script_module_info = "transitive_js_ecma_script_module_info", ++ _js_ecma_script_module_info = "js_ecma_script_module_info", ++ _js_named_module_info = "js_named_module_info", + ) + +-NodeModuleSources = _NodeModuleSources +-collect_node_modules_aspect = _collect_node_modules_aspect ++NpmPackageInfo = _NpmPackageInfo ++node_modules_aspect = _node_modules_aspect + + tsc_wrapped_tsconfig = _tsc_wrapped_tsconfig + COMMON_ATTRIBUTES = _COMMON_ATTRIBUTES +@@ -42,4 +43,5 @@ DEFAULT_NG_COMPILER = "@npm//@angular/bazel/bin:ngc-wrapped" + DEFAULT_NG_XI18N = "@npm//@angular/bazel/bin:xi18n" + FLAT_DTS_FILE_SUFFIX = ".bundle.d.ts" + TsConfigInfo = _TsConfigInfo +-transitive_js_ecma_script_module_info = _transitive_js_ecma_script_module_info ++js_ecma_script_module_info = _js_ecma_script_module_info ++js_named_module_info = _js_named_module_info +diff --git node_modules/@angular/bazel/src/ng_module.bzl node_modules/@angular/bazel/src/ng_module.bzl +index 2b31963..98479f7 100755 +--- node_modules/@angular/bazel/src/ng_module.bzl ++++ node_modules/@angular/bazel/src/ng_module.bzl +@@ -13,11 +13,12 @@ load( + "DEFAULT_NG_COMPILER", + "DEFAULT_NG_XI18N", + "DEPS_ASPECTS", +- "NodeModuleSources", ++ "NpmPackageInfo", + "TsConfigInfo", +- "collect_node_modules_aspect", ++ "node_modules_aspect", + "compile_ts", +- "transitive_js_ecma_script_module_info", ++ "js_ecma_script_module_info", ++ "js_named_module_info", + "ts_providers_dict_to_struct", + "tsc_wrapped_tsconfig", + ) +@@ -527,11 +528,11 @@ def _compile_action( + file_inputs += ctx.attr.tsconfig[TsConfigInfo].deps + + # Also include files from npm fine grained deps as action_inputs. +- # These deps are identified by the NodeModuleSources provider. ++ # These deps are identified by the NpmPackageInfo provider. + for d in ctx.attr.deps: +- if NodeModuleSources in d: ++ if NpmPackageInfo in d: + # Note: we can't avoid calling .to_list() on sources +- file_inputs.extend(_filter_ts_inputs(d[NodeModuleSources].sources.to_list())) ++ file_inputs.extend(_filter_ts_inputs(d[NpmPackageInfo].sources.to_list())) + + # Collect the inputs and summary files from our deps + action_inputs = depset( +@@ -617,7 +618,11 @@ def _ng_module_impl(ctx): + + # Add in new JS providers + ts_providers["providers"].extend([ +- transitive_js_ecma_script_module_info( ++ js_named_module_info( ++ sources = ts_providers["typescript"]["es5_sources"], ++ deps = ctx.attr.deps, ++ ), ++ js_ecma_script_module_info( + sources = ts_providers["typescript"]["es6_sources"], + deps = ctx.attr.deps, + ), +@@ -625,7 +630,7 @@ def _ng_module_impl(ctx): + + return ts_providers_dict_to_struct(ts_providers) + +-local_deps_aspects = [collect_node_modules_aspect, _collect_summaries_aspect] ++local_deps_aspects = [node_modules_aspect, _collect_summaries_aspect] + + # Workaround skydoc bug which assumes DEPS_ASPECTS is a str type + [local_deps_aspects.append(a) for a in DEPS_ASPECTS] +diff --git node_modules/@angular/bazel/src/ng_package/ng_package.bzl node_modules/@angular/bazel/src/ng_package/ng_package.bzl +index 2eb79b1..bde9e0d 100755 +--- node_modules/@angular/bazel/src/ng_package/ng_package.bzl ++++ node_modules/@angular/bazel/src/ng_package/ng_package.bzl +@@ -14,8 +14,8 @@ specification of this format at https://goo.gl/jB3GVv + """ + + load("@build_bazel_rules_nodejs//internal/common:collect_es6_sources.bzl", "collect_es6_sources") +-load("@build_bazel_rules_nodejs//internal/common:node_module_info.bzl", "NodeModuleSources") +-load("@build_bazel_rules_nodejs//internal/common:sources_aspect.bzl", "sources_aspect") ++load("@build_bazel_rules_nodejs//:providers.bzl", "JSNamedModuleInfo") ++load("@build_bazel_rules_nodejs//internal/common:npm_package_info.bzl", "NpmPackageInfo") + load( + "@build_bazel_rules_nodejs//internal/rollup:rollup_bundle.bzl", + "ROLLUP_ATTRS", +@@ -347,9 +347,9 @@ def _ng_package_impl(ctx): + node_modules_files = _filter_js_inputs(ctx.files.node_modules) + + # Also include files from npm fine grained deps as inputs. +- # These deps are identified by the NodeModuleSources provider. ++ # These deps are identified by the NpmPackageInfo provider. + for d in ctx.attr.deps: +- if NodeModuleSources in d: ++ if NpmPackageInfo in d: + node_modules_files += _filter_js_inputs(d.files) + esm5_rollup_inputs = depset(node_modules_files, transitive = [esm5_sources]) + +@@ -455,9 +455,9 @@ def _ng_package_impl(ctx): + + devfiles = depset() + if ctx.attr.include_devmode_srcs: +- for d in ctx.attr.deps: +- if hasattr(d, "node_sources"): +- devfiles = depset(transitive = [devfiles, d.node_sources]) ++ for dep in ctx.attr.deps: ++ if JSNamedModuleInfo in dep: ++ devfiles = depset(transitive = [devfiles, dep[JSNamedModuleInfo].sources]) + + # Re-use the create_package function from the nodejs npm_package rule. + package_dir = create_package( +@@ -469,7 +469,7 @@ def _ng_package_impl(ctx): + files = depset([package_dir]), + )] + +-DEPS_ASPECTS = [esm5_outputs_aspect, sources_aspect] ++DEPS_ASPECTS = [esm5_outputs_aspect] + + # Workaround skydoc bug which assumes ROLLUP_DEPS_ASPECTS is a str type + [DEPS_ASPECTS.append(a) for a in ROLLUP_DEPS_ASPECTS] diff --git a/tools/bazel/postinstall-patches.js b/tools/bazel/postinstall-patches.js index c123e3378391..8aa4e4ca3804 100644 --- a/tools/bazel/postinstall-patches.js +++ b/tools/bazel/postinstall-patches.js @@ -101,9 +101,9 @@ shelljs.cat(path.join(__dirname, './manifest_externs_hermeticity.patch')).exec(' // Patches https://github.com/angular/angular/pull/32889 into our "@angular/bazel" // installation. We need to patch it because otherwise the @angular/bazel PR cannot land -// as the "component-unit-tests" job will fail due to not being updated to 0.38.0. Either +// as the "component-unit-tests" job will fail due to not being updated to 0.38.2. Either // the framework or component repo needs to be patched to unblock the cyclic dependency. -shelljs.cat(path.join(__dirname, './angular_bazel_0.38.0.patch')).exec('patch -p0'); +shelljs.cat(path.join(__dirname, './angular_bazel_0.38.2.patch')).exec('patch -p0'); /** * Reads the specified file and replaces matches of the search expression diff --git a/tools/dev-server/index.bzl b/tools/dev-server/index.bzl index dbf157f41265..c42255e8f133 100644 --- a/tools/dev-server/index.bzl +++ b/tools/dev-server/index.bzl @@ -1,4 +1,4 @@ -load("@build_bazel_rules_nodejs//internal/common:sources_aspect.bzl", "sources_aspect") +load("@build_bazel_rules_nodejs//:providers.bzl", "JSNamedModuleInfo") """Gets the workspace name of the given rule context.""" @@ -27,16 +27,12 @@ def _dev_server_rule_impl(ctx): # Walk through all dependencies specified in the "deps" attribute. These labels need to be # unwrapped in case there are built using TypeScript-specific rules. This is because targets # built using "ts_library" or "ng_module" do not declare the generated JS files as default - # rule output. The output aspect that is applied to the "deps" attribute, provides two struct - # fields which resolve to the unwrapped JS output files. - # https://github.com/bazelbuild/rules_nodejs/blob/e04c8c31f3cb859754ea5c5e97f331a3932b725d/internal/common/sources_aspect.bzl#L53-L55 + # rule output. for d in ctx.attr.deps: - if hasattr(d, "node_sources"): - files = depset(transitive = [files, d.node_sources]) + if JSNamedModuleInfo in d: + files = depset(transitive = [files, d[JSNamedModuleInfo].sources]) elif hasattr(d, "files"): files = depset(transitive = [files, d.files]) - if hasattr(d, "dev_scripts"): - files = depset(transitive = [files, d.dev_scripts]) workspace_name = _get_workspace_name(ctx) root_paths = ["", "/".join([workspace_name, ctx.label.package])] + ctx.attr.additional_root_paths @@ -95,7 +91,6 @@ dev_server_rule = rule( ), "deps": attr.label_list( allow_files = True, - aspects = [sources_aspect], doc = """ Dependencies that need to be available to the dev-server. This attribute can be used for TypeScript targets which provide multiple flavors of output. diff --git a/yarn.lock b/yarn.lock index 0cbe9176f023..d322147763f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -55,10 +55,10 @@ dependencies: tslib "^1.9.0" -"@angular/bazel@^9.0.0-next.7": - version "9.0.0-next.7" - resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-9.0.0-next.7.tgz#abc118c2f993819c8ac80d314df66be824f1a6fa" - integrity sha512-X1nUo/KzQNqUUw6sw2In/2iC9IFdiWRZQ3zb4p35YmMUTzBSC12TbqLMq6/FHkQ/uqoEKR1YUoC7++3xbv8Wgw== +"@angular/bazel@^9.0.0-next.10": + version "9.0.0-next.10" + resolved "https://registry.yarnpkg.com/@angular/bazel/-/bazel-9.0.0-next.10.tgz#6a30723b78dfcc01786d6bbb05c26f6a0161a1c4" + integrity sha512-tCH2JAETf0oxkBtY1kGZuolP9qBwg8g+WdJZ7Pm9xxvbGRBxlViXqPvMDytZ4HVKd5s/bxoHBdkYgJv6xHK3+A== dependencies: "@angular-devkit/architect" "^0.800.0-beta.15" "@angular-devkit/core" "^8.0.0-beta.15" @@ -340,22 +340,22 @@ resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.10.3.tgz#2e2b8a1d3e885946eac41db2b1aa6801fb319887" integrity sha512-v1nXbMTHVlMM4z4uWp6XiRoHAyUlYggF1SOboLLWRp0+D22kWixqArWqnozLw2mOtnxr97BdLjluWiho6A8Hjg== -"@bazel/jasmine@^0.38.0": - version "0.38.0" - resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-0.38.0.tgz#d40bc3fa5b9cdaf9125ff422a1ed5fc25c41203e" - integrity sha512-p4faogKschhMiZ4+g5z0On0VkhQzjsa4gCg8WMbHbxwSrjMYVQmiwqwEtNN2jBV0mqRRKOvRrH7O1snD2MyihA== +"@bazel/jasmine@^0.38.2": + version "0.38.2" + resolved "https://registry.yarnpkg.com/@bazel/jasmine/-/jasmine-0.38.2.tgz#567a7b5f9639d8c0b757f8ab41bfff6b84029484" + integrity sha512-O5J/vSQBUwsUqV5dTqOg9SJUuQgLlYAY2NPkC6asYQ+IgtmrtZV+IxWoCC8eZEiu0ZWhV/EwgzXS1FjXI9GR0Q== dependencies: jasmine "~3.4.0" jasmine-core "~3.4.0" v8-coverage "1.0.9" -"@bazel/karma@^0.38.0": - version "0.38.0" - resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-0.38.0.tgz#c738f769691196884f985c18a903b326c152854f" - integrity sha512-toDlcQy6z69D/aZfzzkWjWd4eAn0gxwJmfCnomsC/P56mWEsFNj1BBjuINEd8xcQhXyBi8q1zHa9MyAoDqrYWQ== +"@bazel/karma@^0.38.2": + version "0.38.2" + resolved "https://registry.yarnpkg.com/@bazel/karma/-/karma-0.38.2.tgz#13c0eb8f09fdc579ef3a2493d6014d77cdc03670" + integrity sha512-pTeHciOyg5ViCCl8Vn5N/wSJSTrxh+26+drlh0GBW8gzUTGIfWDVnma3oA6lLp8zyaCzkpoMP2ukrwBky3nk1Q== dependencies: jasmine-core "2.8.0" - karma "^4.0.0" + karma "~4.1.0" karma-chrome-launcher "2.2.0" karma-firefox-launcher "1.1.0" karma-jasmine "2.0.1" @@ -366,17 +366,17 @@ semver "5.6.0" tmp "0.0.33" -"@bazel/protractor@^0.38.0": - version "0.38.0" - resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-0.38.0.tgz#08be006d29543fc3c417c4d9f59e1eb927bb2fa6" - integrity sha512-omvQwYjvMTd6/xI9WNDfscl9GVhuaXs+lahhv2b7D3DGUuVStihQp4Ux4/xT6jlmOkru2uk38nfes/jfOoalkQ== +"@bazel/protractor@^0.38.2": + version "0.38.2" + resolved "https://registry.yarnpkg.com/@bazel/protractor/-/protractor-0.38.2.tgz#be0804c246d412f8b285fc22a320ab9b471c7a5d" + integrity sha512-bo5v7CpG9TlPX2lx/XueviMt8KY7KDaL7rcw5SR3uU+4w+gX6bTjdnSsVXCUH2YrTTz6VgZaBZO3O0GTbjDP+w== dependencies: protractor "^5.4.2" -"@bazel/typescript@^0.38.0": - version "0.38.0" - resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.38.0.tgz#0fce6ac5618a11bf7a9803455c24dbdcdf4a85cd" - integrity sha512-3xZNQ1aHBRMPvxyDUR7yHxT5o/2IUkZh0s/eMMBB9GvU/uit0HpxOOdEADHqoID/8afU0SPYX0LKw+jDn6tfFA== +"@bazel/typescript@^0.38.2": + version "0.38.2" + resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-0.38.2.tgz#d07e20c910e0e7250ebbdf64f3ef3014ad8e3039" + integrity sha512-KATYNcRaF5JxtmEAczpr1CRZwmPSTAWUA/3Ogp8R17SA7ts9P+K8WPr3eml1b9JkiUzmNvERMU8HNEslDMuhvg== dependencies: protobufjs "6.8.8" semver "5.6.0" @@ -2079,6 +2079,13 @@ async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.3.0, async@^2.4.0, async@^2.5 dependencies: lodash "^4.17.10" +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + async@~0.9.0: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" @@ -3675,6 +3682,11 @@ date-format@^1.2.0: resolved "https://registry.yarnpkg.com/date-format/-/date-format-1.2.0.tgz#615e828e233dd1ab9bb9ae0950e0ceccfa6ecad8" integrity sha1-YV6CjiM90aubua4JUODOzPpuytg= +date-format@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf" + integrity sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA== + dateformat@^1.0.7-1.2.3: version "1.0.12" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" @@ -3714,7 +3726,7 @@ debug@=3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" -debug@^3.0.0, debug@^3.1.0: +debug@^3.0.0, debug@^3.1.0, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -5106,7 +5118,7 @@ fs-extra@^5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@~7.0.1: +fs-extra@^7.0.1, fs-extra@~7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== @@ -7168,28 +7180,27 @@ karma@^3.1.4: tmp "0.0.33" useragent "2.3.0" -karma@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/karma/-/karma-4.0.0.tgz#f28e38a2b66243fde3f98e12a8dcaa2c6ff8ca9c" - integrity sha512-EFoFs3F6G0BcUGPNOn/YloGOb3h09hzTguyXlg6loHlKY76qbJikkcyPk43m2kfRF65TUGda/mig29QQtyhm1g== +karma@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/karma/-/karma-4.1.0.tgz#d07387c9743a575b40faf73e8a3eb5421c2193e1" + integrity sha512-xckiDqyNi512U4dXGOOSyLKPwek6X/vUizSy2f3geYevbLj+UIdvNwbn7IwfUIL2g1GXEPWt/87qFD1fBbl/Uw== dependencies: bluebird "^3.3.0" body-parser "^1.16.1" + braces "^2.3.2" chokidar "^2.0.3" colors "^1.1.0" - combine-lists "^1.0.0" connect "^3.6.0" core-js "^2.2.0" di "^0.0.1" dom-serialize "^2.2.0" - expand-braces "^0.1.1" flatted "^2.0.0" glob "^7.1.1" graceful-fs "^4.1.2" http-proxy "^1.13.0" isbinaryfile "^3.0.0" - lodash "^4.17.5" - log4js "^3.0.0" + lodash "^4.17.11" + log4js "^4.0.0" mime "^2.3.1" minimatch "^3.0.2" optimist "^0.6.1" @@ -7718,16 +7729,16 @@ lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.16.6, lodash@^4.17.10, resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +lodash@^4.17.14, lodash@~4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + lodash@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= -lodash@~4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - log-driver@1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" @@ -7758,6 +7769,17 @@ log4js@^3.0.0: rfdc "^1.1.2" streamroller "0.7.0" +log4js@^4.0.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-4.5.1.tgz#e543625e97d9e6f3e6e7c9fc196dd6ab2cae30b5" + integrity sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw== + dependencies: + date-format "^2.0.0" + debug "^4.1.1" + flatted "^2.0.0" + rfdc "^1.1.4" + streamroller "^1.0.6" + long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -10278,6 +10300,11 @@ rfdc@^1.1.2: resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.2.tgz#e6e72d74f5dc39de8f538f65e00c36c18018e349" integrity sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA== +rfdc@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" + integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== + right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -11156,6 +11183,17 @@ streamroller@0.7.0: mkdirp "^0.5.1" readable-stream "^2.3.0" +streamroller@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-1.0.6.tgz#8167d8496ed9f19f05ee4b158d9611321b8cacd9" + integrity sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg== + dependencies: + async "^2.6.2" + date-format "^2.0.0" + debug "^3.2.6" + fs-extra "^7.0.1" + lodash "^4.17.14" + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"