blob: cec7736a2be1158d034d424ca7d32389af7b1899 [file] [log] [blame]
load("//infra-sk:index.bzl", "copy_file_from_npm_pkg", "sk_demo_page_server", "sk_element", "sk_element_puppeteer_test", "sk_page")
sk_demo_page_server(
name = "demo_page_server",
sk_page = ":shaders-app-sk-demo",
static_assets = {
"/dist": [
"//shaders/wasm_libs:canvaskit.js",
"//shaders/wasm_libs:canvaskit.wasm",
"//shaders/wasm_libs:version.js",
"//shaders/sources:mandrill_png",
"//shaders/sources:soccer_png",
],
},
)
# 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 = "shaders-app-sk",
sass_deps = [
"//shaders/modules/themes:themes_sass_lib",
"//elements-sk/modules/styles:buttons_sass_lib",
"//elements-sk/modules/styles:select_sass_lib",
],
sass_srcs = [
"codemirror_codemirror.css", # keep
"codemirror_ambiance.css", # keep
"codemirror_base16-light.css", # keep
"shaders-app-sk.scss",
],
sk_element_deps = [
"//infra-sk/modules/theme-chooser-sk",
"//infra-sk/modules/uniform-color-sk",
"//infra-sk/modules/uniform-dimensions-sk",
"//infra-sk/modules/uniform-fps-sk",
"//infra-sk/modules/uniform-generic-sk",
"//infra-sk/modules/uniform-imageresolution-sk",
"//infra-sk/modules/uniform-mouse-sk",
"//infra-sk/modules/uniform-slider-sk",
"//infra-sk/modules/uniform-time-sk",
"//shaders/modules/edit-child-shader-sk",
"//infra-sk/modules/app-sk",
"//elements-sk/modules/error-toast-sk",
"//elements-sk/modules/icons/add-icon-sk",
"//elements-sk/modules/icons/delete-icon-sk",
"//elements-sk/modules/icons/edit-icon-sk",
],
ts_deps = [
"//elements-sk/modules:define_ts_lib",
"//elements-sk/modules:errormessage_ts_lib",
"//infra-sk/modules:dom_ts_lib",
"//infra-sk/modules:hintable_ts_lib",
"//infra-sk/modules:statereflector_ts_lib",
"//infra-sk/modules/ElementSk:index_ts_lib",
"//infra-sk/modules/uniform:uniform_ts_lib",
"//shaders/modules/shadernode:index_ts_lib",
"//shaders/modules/window:window_ts_lib",
"//shaders/wasm_libs:canvaskit_types", # keep
"//:node_modules/@types/codemirror",
"//:node_modules/codemirror",
"//:node_modules/lit",
],
ts_srcs = [
"index.ts",
"shaders-app-sk.ts",
],
visibility = ["//visibility:public"],
)
sk_page(
name = "shaders-app-sk-demo",
html_file = "shaders-app-sk-demo.html",
sass_deps = ["//infra-sk:themes_sass_lib"],
scss_entry_point = "shaders-app-sk-demo.scss",
sk_element_deps = [":shaders-app-sk"],
ts_entry_point = "shaders-app-sk-demo.ts",
)
sk_element_puppeteer_test(
name = "shaders-app-sk_puppeteer_test",
src = "shaders-app-sk_puppeteer_test.ts",
sk_demo_page_server = ":demo_page_server",
deps = [
"//:node_modules/@types/chai",
"//:node_modules/chai",
"//puppeteer-tests:util_ts_lib",
],
)