Add copy_bootstrap_icons macro

This commit is contained in:
Henrik Giesel 2021-03-28 18:47:06 +02:00
parent 7dcb3ae678
commit 922ee56ce8
2 changed files with 20 additions and 16 deletions

View file

@ -2,7 +2,7 @@ load("@npm//@bazel/typescript:index.bzl", "ts_library")
load("//ts:prettier.bzl", "prettier_test")
load("//ts:eslint.bzl", "eslint_test")
load("//ts:esbuild.bzl", "esbuild")
load("//ts:vendor.bzl", "vendor_js_lib", "pkg_from_name")
load("//ts:vendor.bzl", "copy_bootstrap_icons")
load("@io_bazel_rules_sass//:defs.bzl", "sass_binary")
sass_binary(
@ -27,14 +27,9 @@ ts_library(
],
)
vendor_js_lib(
copy_bootstrap_icons(
name = "bootstrap-icons",
pkg = pkg_from_name("bootstrap-icons"),
include = [
"icons/pin-angle.svg",
],
strip_prefix = "icons/",
visibility = ["//visibility:public"],
icons = ["pin-angle.svg"],
)
esbuild(

View file

@ -26,7 +26,7 @@ vendor_js_lib = rule(
},
)
def pkg_from_name(name):
def _pkg_from_name(name):
return "@npm//{0}:{0}__files".format(name)
#
@ -37,7 +37,7 @@ def pkg_from_name(name):
def copy_jquery(name = "jquery", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name(name),
pkg = _pkg_from_name(name),
include = [
"dist/jquery.min.js",
],
@ -48,7 +48,7 @@ def copy_jquery(name = "jquery", visibility = ["//visibility:public"]):
def copy_jquery_ui(name = "jquery-ui", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name("jquery-ui-dist"),
pkg = _pkg_from_name("jquery-ui-dist"),
base = "external/npm/node_modules/jquery-ui-dist/",
include = [
"jquery-ui.min.js",
@ -59,7 +59,7 @@ def copy_jquery_ui(name = "jquery-ui", visibility = ["//visibility:public"]):
def copy_protobufjs(name = "protobufjs", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name(name),
pkg = _pkg_from_name(name),
include = [
"dist/protobuf.min.js",
],
@ -70,7 +70,7 @@ def copy_protobufjs(name = "protobufjs", visibility = ["//visibility:public"]):
def copy_mathjax(name = "mathjax", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name(name),
pkg = _pkg_from_name(name),
include = [
"es5/tex-chtml.js",
"es5/input/tex/extensions",
@ -88,7 +88,7 @@ def copy_mathjax(name = "mathjax", visibility = ["//visibility:public"]):
def copy_css_browser_selector(name = "css-browser-selector", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name(name),
pkg = _pkg_from_name(name),
include = [
"css_browser_selector.min.js",
],
@ -98,7 +98,7 @@ def copy_css_browser_selector(name = "css-browser-selector", visibility = ["//vi
def copy_bootstrap_js(name = "bootstrap-js", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name(name),
pkg = _pkg_from_name(name),
include = [
"dist/js/bootstrap.bundle.min.js",
],
@ -109,10 +109,19 @@ def copy_bootstrap_js(name = "bootstrap-js", visibility = ["//visibility:public"
def copy_bootstrap_css(name = "bootstrap-css", visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = pkg_from_name(name),
pkg = _pkg_from_name(name),
include = [
"dist/css/bootstrap.min.css",
],
strip_prefix = "dist/css/",
visibility = visibility,
)
def copy_bootstrap_icons(name = "bootstrap-icons", icons = [], visibility = ["//visibility:public"]):
vendor_js_lib(
name = name,
pkg = _pkg_from_name(name),
include = ["icons/{}".format(icon) for icon in icons],
strip_prefix = "icons/",
visibility = visibility,
)