diff --git a/WORKSPACE b/WORKSPACE index 74c23b7a9b..1773c250c4 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -88,6 +88,12 @@ yarn_install( yarn_lock = "//:yarn.lock", ) +# Load esbuild rules for bazel. +# https://bazelbuild.github.io/rules_nodejs/esbuild.html +load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories") + +esbuild_repositories(npm_repository = "npm") + http_archive( name = "io_bazel_rules_sass", sha256 = "ee6d527550d42af182673c3718da98bb9205cabdeb08eacc0e3767fa3f2b051a", diff --git a/package.json b/package.json index f786138816..940ee17bf0 100644 --- a/package.json +++ b/package.json @@ -32,13 +32,10 @@ "@angular/compiler": "^12.2.0", "@angular/compiler-cli": "^12.2.0", "@bazel/concatjs": "^4.6.1", + "@bazel/esbuild": "^4.6.2", "@bazel/ibazel": "^0.15.9", "@bazel/jasmine": "^4.6.1", - "@bazel/rollup": "^4.6.1", - "@bazel/terser": "^4.6.1", "@bazel/typescript": "^4.6.1", - "@rollup/plugin-commonjs": "^20.0.0", - "@rollup/plugin-node-resolve": "^13.0.4", "@types/d3": "5.7.2", "@types/jasmine": "^3.8.2", "@types/lodash": "^4.14.172", @@ -58,8 +55,6 @@ "prettier": "2.4.1", "prettier-plugin-organize-imports": "2.3.4", "requirejs": "^2.3.6", - "rollup": "^2.56.2", - "terser": "^5.14.2", "tslib": "^2.3.0", "typescript": "4.5.4", "yarn-deduplicate": "^5.0.0" diff --git a/tensorboard/defs/BUILD b/tensorboard/defs/BUILD index f6d8e83a0e..4cfb61ed28 100644 --- a/tensorboard/defs/BUILD +++ b/tensorboard/defs/BUILD @@ -42,11 +42,6 @@ tb_proto_library( ], ) -exports_files([ - "rollup_config.js", - "terser_config.json", -]) - ts_library( name = "strict_types", srcs = ["strict_type_check.d.ts"], diff --git a/tensorboard/defs/defs.bzl b/tensorboard/defs/defs.bzl index 0e991280c0..2112e72746 100644 --- a/tensorboard/defs/defs.bzl +++ b/tensorboard/defs/defs.bzl @@ -13,14 +13,11 @@ # limitations under the License. """External-only delegates for various BUILD rules.""" -load("@npm//@bazel/rollup:index.bzl", "rollup_bundle") +load("@io_bazel_rules_sass//:defs.bzl", "npm_sass_library", "sass_binary", "sass_library") load("@npm//@bazel/concatjs:index.bzl", "karma_web_test_suite") +load("@npm//@bazel/esbuild:index.bzl", "esbuild") load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_library") -load("@io_bazel_rules_sass//:defs.bzl", "npm_sass_library", "sass_binary", "sass_library") -load("@npm//@bazel/terser:index.bzl", "terser_minified") -load("//tensorboard/defs/internal:js.bzl", _tf_dev_js_binary = "tf_dev_js_binary") -tf_dev_js_binary = _tf_dev_js_binary def tensorboard_webcomponent_library(**kwargs): """Rules referencing this will be deleted from the codebase soon.""" @@ -29,7 +26,6 @@ def tensorboard_webcomponent_library(**kwargs): def tf_js_binary( name, compile, - deps, visibility = None, dev_mode_only = False, includes_polymer = False, @@ -39,61 +35,50 @@ def tf_js_binary( Args: name: Name of the target. compile: whether to compile when bundling. Only used internally. - deps: dependencies of the js_binary. visibility: visibility of the target. dev_mode_only: whether the binary is for development. When True, it will - omit the Terser. + omit the minification step. includes_polymer: whether this binary contains Polymer. Only used internally. - **kwargs: keyword arguments to rollup_bundle. Please refer to - https://bazelbuild.github.io/rules_nodejs/Built-ins.html#rollup_bundle + **kwargs: Other keyword arguments to esbuild(). Typically used for + entry_point and deps. Please refer to https://esbuild.github.io/api/ for more details. """ - # `compile` option is used internally but is not used by rollup_bundle. - # Discard it. - internal_rollup_name = name + "_rollup_internal_dbg" - rollup_bundle( - name = internal_rollup_name, - config_file = "//tensorboard/defs:rollup_config.js", - # Must pass `true` here specifically, else the input file argument to - # Rollup (appended by `rollup_binary`) is interpreted as a value for - # the preceding option. - args = ["--failAfterWarnings", "true", "--silent", "true"], - deps = deps + [ - "@npm//@rollup/plugin-commonjs", - "@npm//@rollup/plugin-node-resolve", - ], - format = "iife", - sourcemap = "false", - visibility = ["//visibility:private"], - **kwargs - ) - - if dev_mode_only: - internal_result_name = internal_rollup_name - else: - internal_result_name = name + "_terser_internal_min" - terser_minified( - name = internal_result_name, - src = internal_rollup_name, - # Notes about the terser config: - # compress.passes - this is set to '1' to workaround issue with - # terser and threejs. In practice it (surprisingly) generates - # smaller results than when it was previously set to '3'. - config_file = "//tensorboard/defs:terser_config.json", - visibility = ["//visibility:private"], - sourcemap = False, - ) - - # For some reason, terser_minified is not visible from other targets. Copy - # or re-export seems to work okay. - native.genrule( + # esbuild is a fast JavaScript bundler[1] appropriate for both production + # and development builds. + # + # Bazel documents[2] how to use esbuild bundling with ts_project but we use + # the not-quite-deprecated ts_library rule instead of ts_project. We've + # managed to get esbuild working with ts_library but its long-term support + # is unknown. + # + # [1]: https://esbuild.github.io/ + # [2]: https://www.npmjs.com/package/@bazel/esbuild + esbuild( name = name, - srcs = [internal_result_name], - outs = [name + ".js"], visibility = visibility, - cmd = "cat $(SRCS) > $@", + # Use "iife" format instead of "esm" because "esm" writes symbols at + # the global level and tends to overwrite `window` functions. "iife" is + # just a thin wrapper around "esm" (it adds 11 bytes) and doesn't + # suffer from the same overwriting problem. + format="iife", + minify= False if dev_mode_only else True, + args = { + # Must specify that 'mjs' extensions are preferred, since that is + # the extension that is used for es2015/esm code generated by + # ts_library. + # https://github.com/bazelbuild/rules_nodejs/issues/2691#issuecomment-846429871 + "resolveExtensions": [".mjs", ".js"], + # The reasoning for these particular mainFields values are lost to + # history. These come from the old rollup bundler configuration. + # We do know that the esbuild default values for mainFields do not + # work for us. In particular we ran into problems with + # esbuild pulling in "node"-specific versions of some libraries that + # are incompatible with browsers. + "mainFields": ["browser", "es2015", "module", "jsnext:main", "main"], + }, + **kwargs ) def tf_ts_config(**kwargs): diff --git a/tensorboard/defs/internal/js.bzl b/tensorboard/defs/internal/js.bzl deleted file mode 100644 index 88d1e79855..0000000000 --- a/tensorboard/defs/internal/js.bzl +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 2021 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""JavaScript related TensorBoard build rules.""" - -load("@bazel_skylib//lib:paths.bzl", "paths") -load("@build_bazel_rules_nodejs//:providers.bzl", "JSNamedModuleInfo", "NpmPackageInfo", "node_modules_aspect") - -def _tf_dev_js_binary_impl(ctx): - files_depsets = [] - - bootstrap_and_deps = ctx.attr._ambient_deps + ctx.attr.deps - for dep in bootstrap_and_deps: - if JSNamedModuleInfo in dep: - # Collect UMD modules compiled by tf_ts_library - files_depsets.append(dep[JSNamedModuleInfo].sources) - elif NpmPackageInfo not in dep and hasattr(dep, "files"): - # Collect manually specified files or File from npm dependencies. It omits - # package.json (i.e., ones in `NpmPackageInfo`). - files_depsets.append(dep.files) - - for target in ctx.attr._anonymous_umd_deps: - file = target.files.to_list()[0] - module_name = ctx.attr._anonymous_umd_deps[target] - named_file = ctx.actions.declare_file(file.path + ".named_umd.js") - - # Patch anonymous umd modules to have named in their declarations. For instance, - # it converts `define(['exports'], ...` to `define('d3', ['exports'], ...`. - # `define`'s argument behaves differently based on arity. For instance: - # 1: expects the argument to be a factory function to be invoked. Anonymous and - # no dependency. - # 2: expects an array then a function. First arguments define dependencies to be - # injected into the factory. Anonymous with dependencies. - # 3: expects string, an array, then, a function. First argument is name of the - # module. Named module with deps. - ctx.actions.expand_template( - template = file, - output = named_file, - substitutions = { - # d3, three, umap-js, and tfjs - "define([": "define('%s', [" % module_name, - # Lodash - "define(function()": "define('%s', function()" % module_name, - # Zone.js - "define(factory": "define('%s', factory" % module_name, - }, - is_executable = False, - ) - files_depsets.append(depset([named_file])) - - files = depset(transitive = files_depsets) - - file_list = files.to_list() - - concat_command = """ - output="$1" && shift - entry_point="$1" && shift - { - awk 'BEGINFILE { print "// file: " FILENAME } { print }' "$@" - printf ';require(["%s"]);\n' "${entry_point}" - } >"${output}" - """ - - entry_point_module_name = _get_module_name(ctx, ctx.file.entry_point) - - concat_args = ( - [ctx.outputs.js.path, entry_point_module_name] + - [file.path for file in file_list] - ) - - ctx.actions.run_shell( - mnemonic = "ConcatJs", - progress_message = "concatenating JavaScript files from dependencies", - inputs = file_list, - outputs = [ctx.outputs.js], - command = concat_command, - arguments = concat_args, - ) - -def _get_module_name(ctx, entry_point_file): - path_without_ext = paths.replace_extension(entry_point_file.short_path, "") - return ctx.workspace_name + "/" + path_without_ext - -tf_dev_js_binary = rule( - _tf_dev_js_binary_impl, - attrs = { - "deps": attr.label_list( - aspects = [node_modules_aspect], - doc = """Targets that produce JavaScript, such as tf_ts_library, are - dependencies of the application.""", - mandatory = True, - ), - "entry_point": attr.label( - allow_single_file = [".ts"], - doc = """A module that should be executed as script gets parsed. Generally - entry to the application.""", - mandatory = True, - ), - # Due to the nature of Angular and certain libraries, they assume presence of - # library in the bundle. Dependencies appearing in `_ambient_deps` are loaded - # before the `deps`. - "_ambient_deps": attr.label_list( - default = [ - "@npm//:node_modules/requirejs/require.js", - ":common_umd_lib", - "@npm//:node_modules/reflect-metadata/Reflect.js", - "@npm//:node_modules/@angular/localize/bundles/localize-init.umd.js", - ], - allow_files = True, - ), - # Libraries like d3 and lodash export UMD compatible bundled in their node_modules - # but they are using "anonymous module" of requirejs. Anonymous module is where - # you define a module without a name (e.g., `define(factory) or - # `define([dep1], factory)`). They are often intended to be loaded via - # ` + + diff --git a/yarn.lock b/yarn.lock index 0601ad7987..17c0a228c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -368,6 +368,11 @@ source-map-support "0.5.9" tsutils "3.21.0" +"@bazel/esbuild@^4.6.2": + version "4.6.2" + resolved "https://registry.yarnpkg.com/@bazel/esbuild/-/esbuild-4.6.2.tgz#1be88b6c4c07cabb2dd84a698d5be0f32de934f4" + integrity sha512-VqmeIlEDq7tVNpIk88zS3DZSAV1F1VN92IBPekKuQqIU6PTt3+iID/v4lkK80SwFBthF4pi/PG0PPaulIe/qGA== + "@bazel/ibazel@^0.15.9": version "0.15.10" resolved "https://registry.yarnpkg.com/@bazel/ibazel/-/ibazel-0.15.10.tgz#cf0cff1aec6d8e7bb23e1fc618d09fbd39b7a13f" @@ -381,18 +386,6 @@ c8 "~7.5.0" jasmine-reporters "~2.5.0" -"@bazel/rollup@^4.6.1": - version "4.6.2" - resolved "https://registry.yarnpkg.com/@bazel/rollup/-/rollup-4.6.2.tgz#7472a9bd4235c1d635f5f32682aac984ca9d95b4" - integrity sha512-QlEFdhzKwF40sDk6OfF6uE3za5YKAjbt/kO0Zz8fVmhQUv289lQ3cIf2MsbiUasWpQHJ4CBwWXOb4/hrVQypcw== - dependencies: - "@bazel/worker" "4.6.2" - -"@bazel/terser@^4.6.1": - version "4.6.2" - resolved "https://registry.yarnpkg.com/@bazel/terser/-/terser-4.6.2.tgz#d9d03c2dadca14b2d0ee399f5d81c41f5770f66a" - integrity sha512-3e4qJ7euVGvArMLdZa9+Gux7XotPEbSGgYnNbWHen7kRJf6jetNPbSd+BTFMAiXXmG+J9U7e/U+l8lUe3eW0Ag== - "@bazel/typescript@^4.6.1": version "4.6.2" resolved "https://registry.yarnpkg.com/@bazel/typescript/-/typescript-4.6.2.tgz#9f07b6f8cfb6b0a0e228e5971de412911c910a90" @@ -453,14 +446,6 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" @@ -1100,40 +1085,6 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@rollup/plugin-commonjs@^20.0.0": - version "20.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz#3246872dcbcb18a54aaa6277a8c7d7f1b155b745" - integrity sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" - -"@rollup/plugin-node-resolve@^13.0.4": - version "13.0.4" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.4.tgz#b10222f4145a019740acb7738402130d848660c0" - integrity sha512-eYq4TFy40O8hjeDs+sIxEH/jc9lyuI2k9DM557WN6rO5OpnC2qXMBNj4IKH1oHrnAazL49C5p0tgP0/VpqJ+/w== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.19.0" - -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - "@schematics/angular@12.2.17": version "12.2.17" resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-12.2.17.tgz#37628479650bfe6fe269905b7ca29f9e5baec7a6" @@ -1510,16 +1461,6 @@ "@types/d3-voronoi" "*" "@types/d3-zoom" "*" -"@types/estree@*": - version "0.0.47" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" - integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - "@types/geojson@*": version "7946.0.7" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.7.tgz#c8fa532b60a0042219cdf173ca21a975ef0666ad" @@ -1600,13 +1541,6 @@ resolved "https://registry.yarnpkg.com/@types/resize-observer-browser/-/resize-observer-browser-0.1.6.tgz#d8e6c2f830e2650dc06fe74464472ff64b54a302" integrity sha512-61IfTac0s9jvNtBCpyo86QeaN8qqpMGHdK0uGKCCIy2dt5/Yk84VduHIdWAcmkC5QvdkPL0p5eWYgUZtHKKUVg== -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - "@types/seedrandom@2.4.27": version "2.4.27" resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-2.4.27.tgz#9db563937dd86915f69092bc43259d2f48578e41" @@ -1753,11 +1687,6 @@ accepts@~1.3.4: mime-types "~2.1.24" negotiator "0.6.2" -acorn@^8.5.0: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -1956,11 +1885,6 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builtin-modules@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -2143,7 +2067,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@2, commander@^2.20.0: +commander@2: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2153,11 +2077,6 @@ commander@^9.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -2750,11 +2669,6 @@ debug@4.3.2: dependencies: ms "2.1.2" -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -2882,16 +2796,6 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - eventemitter3@^4.0.0: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" @@ -3327,11 +3231,6 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -3344,13 +3243,6 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" @@ -3588,7 +3480,7 @@ magic-string@0.25.7: dependencies: sourcemap-codec "^1.4.4" -magic-string@^0.25.0, magic-string@^0.25.7: +magic-string@^0.25.0: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== @@ -4078,7 +3970,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2: +picomatch@^2.0.4, picomatch@^2.2.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -4234,7 +4126,7 @@ resolve@1.20.0: is-core-module "^2.2.0" path-parse "^1.0.6" -resolve@^1.17.0, resolve@^1.19.0, resolve@^1.3.2: +resolve@^1.3.2: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -4268,13 +4160,6 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup@^2.56.2: - version "2.56.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.2.tgz#a045ff3f6af53ee009b5f5016ca3da0329e5470f" - integrity sha512-s8H00ZsRi29M2/lGdm1u8DJpJ9ML8SUOpVVBd33XNeEeL3NVaTiUcSBHzBdF3eAyR0l7VSpsuoVUGrRHq7aPwQ== - optionalDependencies: - fsevents "~2.3.2" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -4431,14 +4316,6 @@ source-map-support@0.5.9: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - source-map@0.7.3, source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" @@ -4544,16 +4421,6 @@ tar@^6.0.2, tar@^6.1.0, tar@^6.1.2: mkdirp "^1.0.3" yallist "^4.0.0" -terser@^5.14.2: - version "5.14.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" - integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"