 +    defines += [ "U_COMBINED_IMPLEMENTATION" ]
 +  }
    deps = [
++    "//build/config:exe_and_shlib_deps",
      ":icudata",
    ]
+ 

     defines += [ "U_STATIC_IMPLEMENTATION" ]
   }
 
@@ -100,6 +101,9 @@ config("icu_code") {
 }
 
 component("icui18n") {
+  if (is_electron_build && !is_component_build) {
+    static_component_type = "shared_library"
+  }
   # find  source/i18n -maxdepth 1  ! -type d  | egrep  '\.(c|cpp|h)$' |\
   # sort | sed 's/^\(.*\)$/    "\1",/'
   sources = [
@@ -533,6 +534,9 @@ component("icui18n") {
   ]
 
   defines = [ "U_I18N_IMPLEMENTATION" ]

+    defines += [ "U_COMBINED_IMPLEMENTATION" ]
+  }
   deps = [
+    "//build/config:exe_and_shlib_deps",
     ":icuuc",
   ]
 
@@ -551,7 +556,7 @@ component("icui18n") {
   public_configs = [ ":icu_config" ]
 }
 
-component("icuuc") {
+target(component_electron, "icuuc") {
   # find  source/common -maxdepth 1  ! -type d  | egrep  '\.(c|cpp|h)$' |\
   # sort | sed 's/^\(.*\)$/    "\1",/'
   sources = [
@@ -941,7 +946,11 @@ component("icuuc") {
     "source/common/unicode/uversion.h",
   ]
   defines = [ "U_COMMON_IMPLEMENTATION" ]
