diff --git a/docs/esbuild.md b/docs/esbuild.md
index e1809c5..68b95b9 100755
--- a/docs/esbuild.md
+++ b/docs/esbuild.md
@@ -99,9 +99,9 @@
 **USAGE**
 
 <pre>
-esbuild(<a href="#esbuild-name">name</a>, <a href="#esbuild-args">args</a>, <a href="#esbuild-args_file">args_file</a>, <a href="#esbuild-define">define</a>, <a href="#esbuild-deps">deps</a>, <a href="#esbuild-entry_point">entry_point</a>, <a href="#esbuild-entry_points">entry_points</a>, <a href="#esbuild-external">external</a>, <a href="#esbuild-format">format</a>, <a href="#esbuild-launcher">launcher</a>,
-        <a href="#esbuild-link_workspace_root">link_workspace_root</a>, <a href="#esbuild-max_threads">max_threads</a>, <a href="#esbuild-minify">minify</a>, <a href="#esbuild-output">output</a>, <a href="#esbuild-output_css">output_css</a>, <a href="#esbuild-output_dir">output_dir</a>, <a href="#esbuild-output_map">output_map</a>,
-        <a href="#esbuild-platform">platform</a>, <a href="#esbuild-sourcemap">sourcemap</a>, <a href="#esbuild-sources_content">sources_content</a>, <a href="#esbuild-splitting">splitting</a>, <a href="#esbuild-srcs">srcs</a>, <a href="#esbuild-target">target</a>)
+esbuild(<a href="#esbuild-name">name</a>, <a href="#esbuild-args">args</a>, <a href="#esbuild-args_file">args_file</a>, <a href="#esbuild-config">config</a>, <a href="#esbuild-define">define</a>, <a href="#esbuild-deps">deps</a>, <a href="#esbuild-entry_point">entry_point</a>, <a href="#esbuild-entry_points">entry_points</a>, <a href="#esbuild-external">external</a>, <a href="#esbuild-format">format</a>,
+        <a href="#esbuild-launcher">launcher</a>, <a href="#esbuild-link_workspace_root">link_workspace_root</a>, <a href="#esbuild-max_threads">max_threads</a>, <a href="#esbuild-minify">minify</a>, <a href="#esbuild-output">output</a>, <a href="#esbuild-output_css">output_css</a>, <a href="#esbuild-output_dir">output_dir</a>,
+        <a href="#esbuild-output_map">output_map</a>, <a href="#esbuild-platform">platform</a>, <a href="#esbuild-sourcemap">sourcemap</a>, <a href="#esbuild-sources_content">sources_content</a>, <a href="#esbuild-splitting">splitting</a>, <a href="#esbuild-srcs">srcs</a>, <a href="#esbuild-target">target</a>)
 </pre>
 
 Runs the esbuild bundler under Bazel
@@ -126,7 +126,15 @@
 
 <h4 id="esbuild-args_file">args_file</h4>
 
-(*<a href="https://bazel.build/docs/build-ref.html#labels">Label</a>*): A JSON file containing additional arguments that are passed to esbuild. Note: only one of args or args_file may be set
+(*<a href="https://bazel.build/docs/build-ref.html#labels">Label</a>*): Internal use only
+
+Defaults to `None`
+
+<h4 id="esbuild-config">config</h4>
+
+(*<a href="https://bazel.build/docs/build-ref.html#labels">Label</a>*): Configuration file used for esbuild, from the esbuild_config macro. Note that options set in this file may get overwritten.
+See https://github.com/bazelbuild/rules_nodejs/tree/stable/packages/esbuild/test/plugins/BUILD.bazel for examples of using esbuild_config and plugins.  The dependencies of this attribute must provide: Unknown Provider
+
 
 Defaults to `None`
 
@@ -323,6 +331,50 @@
 
 
 
+## esbuild_config
+
+**USAGE**
+
+<pre>
+esbuild_config(<a href="#esbuild_config-name">name</a>, <a href="#esbuild_config-config_file">config_file</a>, <a href="#esbuild_config-srcs">srcs</a>, <a href="#esbuild_config-deps">deps</a>, <a href="#esbuild_config-kwargs">kwargs</a>)
+</pre>
+
+Macro for an esbuild configuration file and its assoicated dependencies
+
+**PARAMETERS**
+
+
+<h4 id="esbuild_config-name">name</h4>
+
+Unique name for this rule
+
+
+
+<h4 id="esbuild_config-config_file">config_file</h4>
+
+The configuration file / entrypoint
+
+
+
+<h4 id="esbuild_config-srcs">srcs</h4>
+
+List of source files referenced by the configuration
+
+Defaults to `[]`
+
+<h4 id="esbuild_config-deps">deps</h4>
+
+List of dependencies required for this configuration
+
+Defaults to `[]`
+
+<h4 id="esbuild_config-kwargs">kwargs</h4>
+
+Any other common attributes
+
+
+
+
 ## esbuild_repositories
 
 **USAGE**
diff --git a/package.json b/package.json
index b144fa8..0a40b1d 100644
--- a/package.json
+++ b/package.json
@@ -42,6 +42,7 @@
         "conventional-changelog-cli": "^2.0.21",
         "core-util-is": "^1.0.2",
         "date-fns": "1.30.1",
+        "esbuild-plugin-svg": "0.1.0",
         "google-protobuf": "^3.6.1",
         "grpc-web": "1.1.0",
         "hello": "file:./tools/npm_packages/hello",
diff --git a/packages/esbuild/BUILD.bazel b/packages/esbuild/BUILD.bazel
index 0eefa11..10be250 100644
--- a/packages/esbuild/BUILD.bazel
+++ b/packages/esbuild/BUILD.bazel
@@ -58,6 +58,7 @@
     name = "srcs",
     srcs = [
         "esbuild.bzl",
+        "esbuild_config.bzl",
         "esbuild_packages.bzl",
         "esbuild_repositories.bzl",
         "helpers.bzl",
diff --git a/packages/esbuild/esbuild.bzl b/packages/esbuild/esbuild.bzl
index c71bafd..3017923 100644
--- a/packages/esbuild/esbuild.bzl
+++ b/packages/esbuild/esbuild.bzl
@@ -152,6 +152,14 @@
         inputs.append(ctx.file.args_file)
         launcher_args.add("--user_args=%s" % ctx.file.args_file.path)
 
+    if ctx.attr.config:
+        configs = ctx.attr.config[JSEcmaScriptModuleInfo].sources.to_list()
+        if len(configs) != 1:
+            fail("Expected only one source file: the configuration entrypoint")
+
+        inputs.append(configs[0])
+        launcher_args.add("--config_file=%s" % configs[0].path)
+
     run_node(
         ctx = ctx,
         inputs = depset(inputs),
@@ -188,7 +196,7 @@
         "args_file": attr.label(
             allow_single_file = True,
             mandatory = False,
-            doc = "A JSON file containing additional arguments that are passed to esbuild. Note: only one of args or args_file may be set",
+            doc = "Internal use only",
         ),
         "define": attr.string_dict(
             default = {},
@@ -333,6 +341,13 @@
 See https://esbuild.github.io/api/#target for more details
             """,
         ),
+        "config": attr.label(
+            providers = [JSEcmaScriptModuleInfo],
+            mandatory = False,
+            doc = """Configuration file used for esbuild, from the esbuild_config macro. Note that options set in this file may get overwritten.
+See https://github.com/bazelbuild/rules_nodejs/tree/stable/packages/esbuild/test/plugins/BUILD.bazel for examples of using esbuild_config and plugins.
+            """,
+        ),
     },
     implementation = _esbuild_impl,
     toolchains = [
@@ -367,12 +382,12 @@
     deps = kwargs.pop("deps", []) + ["@esbuild_npm//esbuild"]
     entry_points = kwargs.get("entry_points", None)
 
-    args = kwargs.pop("args", {})
+    # TODO(mattem): remove `args` and `args_file` in 5.x and everything can go via `config`
     args_file = kwargs.pop("args_file", None)
+    if args_file:
+        fail("Setting 'args_file' is not supported, set 'config' instead")
 
-    if args and args_file:
-        fail("Both 'args' and 'args_file' attributes set, these are mutually exclusive")
-
+    args = kwargs.pop("args", {})
     if args:
         if type(args) != type(dict()):
             fail("Expected 'args' to be of type dict")
@@ -385,6 +400,11 @@
             data = deps + srcs,
         )
 
+    config = kwargs.pop("config", None)
+    if config:
+        kwargs.setdefault("config", config)
+        deps.append("%s_deps" % config)
+
     if output_dir == True or entry_points or splitting == True:
         esbuild(
             name = name,
diff --git a/packages/esbuild/esbuild_config.bzl b/packages/esbuild/esbuild_config.bzl
new file mode 100644
index 0000000..a19948e
--- /dev/null
+++ b/packages/esbuild/esbuild_config.bzl
@@ -0,0 +1,27 @@
+"esbuild configuration file helper macro"
+
+load("@build_bazel_rules_nodejs//:index.bzl", _js_library = "js_library")
+
+def esbuild_config(name, config_file, srcs = [], deps = [], **kwargs):
+    """Macro for an esbuild configuration file and its assoicated dependencies
+
+    Args:
+        name: Unique name for this rule
+        config_file: The configuration file / entrypoint
+        srcs: List of source files referenced by the configuration
+        deps: List of dependencies required for this configuration
+        **kwargs: Any other common attributes
+    """
+
+    _js_library(
+        name = name,
+        srcs = [config_file],
+        **kwargs
+    )
+
+    _js_library(
+        name = "%s_deps" % name,
+        srcs = srcs,
+        deps = deps,
+        **kwargs
+    )
diff --git a/packages/esbuild/index.bzl b/packages/esbuild/index.bzl
index 298d89d..6b8ba85 100644
--- a/packages/esbuild/index.bzl
+++ b/packages/esbuild/index.bzl
@@ -20,9 +20,14 @@
     _esbuild_macro = "esbuild_macro",
 )
 load(
+    "@build_bazel_rules_nodejs//packages/esbuild:esbuild_config.bzl",
+    _esbuild_config = "esbuild_config",
+)
+load(
     "@build_bazel_rules_nodejs//packages/esbuild/toolchain:toolchain.bzl",
     _configure_esbuild_toolchain = "configure_esbuild_toolchain",
 )
 
 esbuild = _esbuild_macro
+esbuild_config = _esbuild_config
 configure_esbuild_toolchain = _configure_esbuild_toolchain
diff --git a/packages/esbuild/index.docs.bzl b/packages/esbuild/index.docs.bzl
index 0a47606..1d514cf 100644
--- a/packages/esbuild/index.docs.bzl
+++ b/packages/esbuild/index.docs.bzl
@@ -93,6 +93,10 @@
     _esbuild = "esbuild",
 )
 load(
+    "@build_bazel_rules_nodejs//packages/esbuild:esbuild_config.bzl",
+    _esbuild_config = "esbuild_config",
+)
+load(
     "@build_bazel_rules_nodejs//packages/esbuild:esbuild_repositories.bzl",
     _esbuild_repositories = "esbuild_repositories",
 )
@@ -102,5 +106,6 @@
 )
 
 esbuild = _esbuild
+esbuild_config = _esbuild_config
 esbuild_repositories = _esbuild_repositories
 configure_esbuild_toolchain = _configure_esbuild_toolchain
diff --git a/packages/esbuild/launcher.js b/packages/esbuild/launcher.js
index 2bc0386..bb3dd79 100755
--- a/packages/esbuild/launcher.js
+++ b/packages/esbuild/launcher.js
@@ -1,4 +1,6 @@
 const {readFileSync, writeFileSync} = require('fs');
+const {pathToFileURL} = require('url');
+const {join} = require('path');
 const esbuild = require('esbuild');
 
 function getFlag(flag, required = true) {
@@ -22,22 +24,82 @@
   }
 }
 
+async function processConfigFile(configFilePath) {
+  const fullConfigFileUrl = pathToFileURL(join(process.cwd(), configFilePath));
+  let config;
+  try {
+    config = await import(fullConfigFileUrl);
+  } catch (e) {
+    console.error(`Error while loading configuration '${fullConfigFileUrl}':\n`, e);
+    process.exit(1);
+  }
+
+  if (!config.default) {
+    console.error(`Config file '${configFilePath}' was loaded, but did not export a configuration object as default`);
+    process.exit(1);
+  }
+
+  config = config.default;
+
+  // These keys of the config can not be overriden
+  const IGNORED_CONFIG_KEYS = [
+    'bundle',
+    'define',
+    'entryPoints',
+    'external',
+    'metafile',
+    'outdir',
+    'outfile',
+    'preserveSymlinks',
+    'sourcemap',
+    'splitting',
+    'tsconfig',
+  ];
+
+  return Object.entries(config).reduce((prev, [key, value]) => {
+    if (IGNORED_CONFIG_KEYS.includes(key)) {
+      console.error(`[WARNING] esbuild configuration property '${key}' from '${configFilePath}' will be ignored and overriden`);
+    } else {
+      prev[key] = value;
+    }
+    return prev;
+  }, {});
+}
+
 if (!process.env.ESBUILD_BINARY_PATH) {
   console.error('Expected enviournment variable ESBUILD_BINARY_PATH to be set', e);
   process.exit(1);
 }
 
-let args = getEsbuildArgs(getFlag('--esbuild_args'));
-
-const userArgsFile = getFlag("--user_args", false);
-if (userArgsFile) {
-  args = {
-    ...args,
-    ...getEsbuildArgs(userArgsFile)
-  };
+async function runOneBuild(args, userArgsFilePath, configFilePath) {
+  if (userArgsFilePath) {
+    args = {
+      ...args,
+      ...getEsbuildArgs(userArgsFilePath)
+    }
+  }
+  
+  if (configFilePath) {
+    const config = await processConfigFile(configFilePath);
+    args = {
+      ...args,
+      ...config
+    };
+  }
+  
+  const metafile = getFlag('--metafile');
+  
+  try {
+    const result = await esbuild.build(args);
+    writeFileSync(metafile, JSON.stringify(result.metafile));
+  } catch (e) {
+    console.error(e);
+    process.exit(1);
+  }
 }
 
-const metafile = getFlag('--metafile');
-
-const result = esbuild.buildSync(args);
-writeFileSync(metafile, JSON.stringify(result.metafile));
+runOneBuild(
+  getEsbuildArgs(getFlag("--esbuild_args")),
+  getFlag("--user_args", false),
+  getFlag("--config_file", false)
+);
diff --git a/packages/esbuild/test/plugins/BUILD.bazel b/packages/esbuild/test/plugins/BUILD.bazel
new file mode 100644
index 0000000..d2d8b16
--- /dev/null
+++ b/packages/esbuild/test/plugins/BUILD.bazel
@@ -0,0 +1,57 @@
+load("//:index.bzl", "generated_file_test", "js_library", "nodejs_binary", "npm_package_bin")
+load("//packages/esbuild:index.bzl", "esbuild")
+load("//packages/esbuild:esbuild_config.bzl", "esbuild_config")
+
+js_library(
+    name = "main",
+    srcs = [
+        "logo.svg",
+        "main.js",
+        "words.txt",
+    ],
+)
+
+js_library(
+    name = "txt_array_plugin",
+    srcs = [
+        "txt-array-plugin.js",
+    ],
+)
+
+esbuild_config(
+    name = "esbuild_config",
+    config_file = "esbuild.config.mjs",
+    deps = [
+        ":txt_array_plugin",
+        "@npm//esbuild-plugin-svg",
+    ],
+)
+
+esbuild(
+    name = "bundle",
+    config = ":esbuild_config",
+    entry_point = "main.js",
+    deps = [
+        ":main",
+    ],
+)
+
+nodejs_binary(
+    name = "bin",
+    data = [
+        ":bundle",
+    ],
+    entry_point = "bundle.js",
+)
+
+npm_package_bin(
+    name = "runner",
+    stdout = "out.txt",
+    tool = ":bin",
+)
+
+generated_file_test(
+    name = "test",
+    src = "out.golden.txt",
+    generated = "out.txt",
+)
diff --git a/packages/esbuild/test/plugins/esbuild.config.mjs b/packages/esbuild/test/plugins/esbuild.config.mjs
new file mode 100644
index 0000000..7284434
--- /dev/null
+++ b/packages/esbuild/test/plugins/esbuild.config.mjs
@@ -0,0 +1,9 @@
+import { default as txtArrayPlugin } from './txt-array-plugin.js';
+import { default as svgPlugin } from 'esbuild-plugin-svg';
+
+export default {
+    plugins: [
+        txtArrayPlugin,
+        svgPlugin(),
+    ],
+}
diff --git a/packages/esbuild/test/plugins/logo.svg b/packages/esbuild/test/plugins/logo.svg
new file mode 100644
index 0000000..2f64936
--- /dev/null
+++ b/packages/esbuild/test/plugins/logo.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="256px" height="256px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
+    <g>
+        <circle fill="#FFCF00" cx="128" cy="128" r="128"></circle>
+        <path d="M69.2852814,58.7147186 L138.570563,128 L69.2852814,197.285281 L52.3147186,180.314719 L104.629,128 L52.3147186,75.6852814 L69.2852814,58.7147186 Z M146.085281,58.7147186 L215.370563,128 L146.085281,197.285281 L129.114719,180.314719 L181.429,128 L129.114719,75.6852814 L146.085281,58.7147186 Z" fill="#191919"></path>
+    </g>
+</svg>
\ No newline at end of file
diff --git a/packages/esbuild/test/plugins/main.js b/packages/esbuild/test/plugins/main.js
new file mode 100644
index 0000000..a2f858e
--- /dev/null
+++ b/packages/esbuild/test/plugins/main.js
@@ -0,0 +1,10 @@
+// The example esbuild plugin loads the txt file and splits on each word.
+// 'words' results in an array of the words from the txt file.
+import { default as words } from './words.txt';
+
+// The SVG plugin loads the svg and sets the file contents to the 'logo' symbol
+import logo from './logo.svg';
+
+console.log(words);
+
+console.log(logo);
diff --git a/packages/esbuild/test/plugins/out.golden.txt b/packages/esbuild/test/plugins/out.golden.txt
new file mode 100644
index 0000000..bc45595
--- /dev/null
+++ b/packages/esbuild/test/plugins/out.golden.txt
@@ -0,0 +1,8 @@
+[ 'foo', 'bar', 'rules_nodejs' ]
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="256px" height="256px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
+    <g>
+        <circle fill="#FFCF00" cx="128" cy="128" r="128"></circle>
+        <path d="M69.2852814,58.7147186 L138.570563,128 L69.2852814,197.285281 L52.3147186,180.314719 L104.629,128 L52.3147186,75.6852814 L69.2852814,58.7147186 Z M146.085281,58.7147186 L215.370563,128 L146.085281,197.285281 L129.114719,180.314719 L181.429,128 L129.114719,75.6852814 L146.085281,58.7147186 Z" fill="#191919"></path>
+    </g>
+</svg>
diff --git a/packages/esbuild/test/plugins/txt-array-plugin.js b/packages/esbuild/test/plugins/txt-array-plugin.js
new file mode 100644
index 0000000..3bd85a8
--- /dev/null
+++ b/packages/esbuild/test/plugins/txt-array-plugin.js
@@ -0,0 +1,15 @@
+const fs = require('fs');
+
+module.exports = {
+    name: 'txt',
+    setup(build) {
+        // Load ".txt" files and return an array of words
+        build.onLoad({ filter: /\.txt$/ }, async (args) => {
+            const text = await fs.promises.readFile(args.path, 'utf8');
+            return {
+                contents: JSON.stringify(text.split(/\s+/)),
+                loader: 'json',
+            }
+        });
+    },
+};
diff --git a/packages/esbuild/test/plugins/words.txt b/packages/esbuild/test/plugins/words.txt
new file mode 100644
index 0000000..969afa9
--- /dev/null
+++ b/packages/esbuild/test/plugins/words.txt
@@ -0,0 +1 @@
+foo bar rules_nodejs
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 9afcfd2..c87295e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1707,6 +1707,11 @@
   resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
   integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==
 
+"@trysound/sax@0.1.1":
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.1.1.tgz#3348564048e7a2d7398c935d466c0414ebb6a669"
+  integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==
+
 "@types/babel__core@^7.1.7":
   version "7.1.7"
   resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89"
@@ -2453,6 +2458,11 @@
     raw-body "2.4.0"
     type-is "~1.6.17"
 
+boolbase@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+  integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
+
 boxen@^1.2.1:
   version "1.3.0"
   resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
@@ -2792,6 +2802,14 @@
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
+chalk@^4.1.0:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
 cherow@^1.6.8:
   version "1.6.9"
   resolved "https://registry.yarnpkg.com/cherow/-/cherow-1.6.9.tgz#7c5e34fce297f152a6f7853dcc9fe2f9e1b36ab8"
@@ -3062,6 +3080,11 @@
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9"
   integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg==
 
+commander@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+  integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
 commondir@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -3451,6 +3474,37 @@
   resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
   integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
 
+css-select@^4.1.3:
+  version "4.1.3"
+  resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067"
+  integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==
+  dependencies:
+    boolbase "^1.0.0"
+    css-what "^5.0.0"
+    domhandler "^4.2.0"
+    domutils "^2.6.0"
+    nth-check "^2.0.0"
+
+css-tree@^1.1.2:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+  integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+  dependencies:
+    mdn-data "2.0.14"
+    source-map "^0.6.1"
+
+css-what@^5.0.0:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad"
+  integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==
+
+csso@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+  integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+  dependencies:
+    css-tree "^1.1.2"
+
 cssom@^0.4.1:
   version "0.4.4"
   resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10"
@@ -3747,6 +3801,20 @@
     extend "^3.0.0"
     void-elements "^2.0.0"
 
+dom-serializer@^1.0.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
+  integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.2.0"
+    entities "^2.0.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
+  integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
+
 domexception@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
@@ -3754,6 +3822,22 @@
   dependencies:
     webidl-conversions "^4.0.2"
 
+domhandler@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
+  integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
+  dependencies:
+    domelementtype "^2.2.0"
+
+domutils@^2.6.0:
+  version "2.7.0"
+  resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442"
+  integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.2.0"
+    domhandler "^4.2.0"
+
 dot-prop@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
@@ -3885,6 +3969,11 @@
   resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
   integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0=
 
+entities@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
 env-paths@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
@@ -3947,6 +4036,13 @@
   dependencies:
     es6-promise "^4.0.3"
 
+esbuild-plugin-svg@0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/esbuild-plugin-svg/-/esbuild-plugin-svg-0.1.0.tgz#6c6e52abe08ae1714d236125b3e9c1572408d324"
+  integrity sha512-/9ZhvIpl+Ovl6glVK3BedvIwrOwSQnECw4Fy6ZwysWib3Ns7UkX6WNGjMOWtvQ1Cnm0uc7sptiKGm0BthKCAJA==
+  dependencies:
+    svgo "^2.2.2"
+
 escalade@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -6797,6 +6893,11 @@
   dependencies:
     object-visit "^1.0.0"
 
+mdn-data@2.0.14:
+  version "2.0.14"
+  resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+  integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
 meant@~1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/meant/-/meant-1.0.1.tgz#66044fea2f23230ec806fb515efea29c44d2115d"
@@ -7525,6 +7626,13 @@
     gauge "~2.7.3"
     set-blocking "~2.0.0"
 
+nth-check@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125"
+  integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
+  dependencies:
+    boolbase "^1.0.0"
+
 number-is-nan@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
@@ -9341,6 +9449,11 @@
   dependencies:
     figgy-pudding "^3.5.1"
 
+stable@^0.1.8:
+  version "0.1.8"
+  resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+  integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
 stack-utils@^1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
@@ -9581,6 +9694,19 @@
     has-flag "^4.0.0"
     supports-color "^7.0.0"
 
+svgo@^2.2.2:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.3.1.tgz#603a69ce50311c0e36791528f549644ec1b3f4bc"
+  integrity sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==
+  dependencies:
+    "@trysound/sax" "0.1.1"
+    chalk "^4.1.0"
+    commander "^7.1.0"
+    css-select "^4.1.3"
+    css-tree "^1.1.2"
+    csso "^4.2.0"
+    stable "^0.1.8"
+
 symbol-tree@^3.2.2:
   version "3.2.4"
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
