| 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", |
| ], |
| ) |