blob: a1ef2adfd56bc33d6293788c53afc34f50b46acf [file] [log] [blame]
load("//infra-sk:index.bzl", "copy_file_from_npm_pkg", "karma_test", "sk_element")
# Under rules_js (https://github.com/aspect-build/rules_js), we cannot refer to files inside NPM
# packages directly. Instead, we must create local copies of those files. See the
# copy_file_from_npm_pkg macro documentation for details.
copy_file_from_npm_pkg(
name = "codemirror_codemirror_css",
src = "lib/codemirror.css",
out = "codemirror_codemirror.css",
npm_package_name = "codemirror",
)
copy_file_from_npm_pkg(
name = "codemirror5_ambiance_css",
src = "theme/ambiance.css",
out = "codemirror_ambiance.css",
npm_package_name = "codemirror",
)
copy_file_from_npm_pkg(
name = "codemirror_base16-light_css",
src = "theme/base16-light.css",
out = "codemirror_base16-light.css",
npm_package_name = "codemirror",
)
sk_element(
name = "wasm-fiddle-sk",
sass_deps = [
"//infra-sk:themes_sass_lib",
"//elements-sk/modules/styles:buttons_sass_lib",
],
sass_srcs = [
"wasm-fiddle-sk.scss",
"codemirror_codemirror.css", # keep
"codemirror_ambiance.css", # keep
"codemirror_base16-light.css", # keep
],
sk_element_deps = ["//infra-sk/modules/theme-chooser-sk"],
ts_deps = [
"//infra-sk/modules/fps:fps_ts_lib",
"//elements-sk/modules:errormessage_ts_lib",
"//infra-sk/modules:dom_ts_lib",
"//infra-sk/modules:jsonorthrow_ts_lib",
"//:node_modules/@types/codemirror",
"//:node_modules/canvaskit-wasm",
"//:node_modules/codemirror",
"//:node_modules/lit-html",
],
ts_srcs = [
"index.ts",
"wasm-fiddle-sk.ts",
],
visibility = ["//visibility:public"],
)
karma_test(
name = "wasm-fiddle-sk_test",
src = "wasm-fiddle-sk_test.ts",
deps = [
":wasm-fiddle-sk",
"//:node_modules/@types/chai",
"//:node_modules/chai",
],
)