module( name = "databuild", version = "0.1", ) bazel_dep(name = "bazel_skylib", version = "1.8.1") bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "rules_shell", version = "0.4.0") bazel_dep(name = "rules_oci", version = "2.2.6") bazel_dep(name = "aspect_bazel_lib", version = "2.14.0") bazel_dep(name = "rules_rust", version = "0.61.0") bazel_dep(name = "rules_proto", version = "7.0.2") bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf") crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") crate.spec( features = ["derive"], package = "serde", version = "1.0", ) crate.spec( package = "serde_json", version = "1.0", ) crate.spec( package = "log", version = "0.4", ) crate.spec( features = ["stderr"], package = "simple_logger", version = "4.3", ) crate.spec( package = "crossbeam-channel", version = "0.5", ) crate.spec( package = "num_cpus", version = "1.16", ) crate.spec( default_features = False, features = [ "macros", "net", "rt-multi-thread", "sync", ], package = "tokio", version = "1.38", ) crate.spec( package = "prost", version = "0.13", ) crate.spec( package = "prost-types", version = "0.13", ) crate.spec( package = "prost-build", version = "0.13", ) crate.spec( package = "tempfile", version = "3.0", ) crate.spec( package = "async-trait", version = "0.1", ) crate.spec( features = ["v4"], package = "uuid", version = "1.0", ) crate.spec( features = ["bundled"], package = "rusqlite", version = "0.31", ) crate.spec( features = ["derive"], package = "clap", version = "4.0", ) crate.spec( features = ["json"], package = "axum", version = "0.7.2", ) crate.spec( package = "tower", version = "0.4", ) crate.spec( features = ["cors"], package = "tower-http", version = "0.5", ) crate.spec( features = ["full"], package = "hyper", version = "1.0", ) crate.spec( features = ["axum"], package = "aide", version = "0.13.0", ) crate.spec( features = [ "uuid1", "derive", ], package = "schemars", version = "0.8.16", ) crate.spec( features = ["aide"], package = "axum-jsonschema", version = "0.8.0", ) crate.spec( package = "thiserror", version = "1.0", ) crate.spec( features = ["debug-embed"], package = "rust-embed", version = "8.0", ) crate.from_specs() use_repo(crate, "crates") # TypeScript and Node.js dependencies for dashboard bazel_dep(name = "aspect_rules_ts", version = "3.6.3") bazel_dep(name = "aspect_rules_js", version = "2.0.0") rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext") rules_ts_ext.deps(ts_version_from = "//databuild/dashboard:package.json") use_repo(rules_ts_ext, "npm_typescript") #bazel_dep(name = "aspect_rules_ts", version = "3.4.0") #bazel_dep(name = "aspect_rules_js", version = "2.1.3") bazel_dep(name = "aspect_rules_esbuild", version = "0.21.0") npm = use_extension("@aspect_rules_js//npm:extensions.bzl", "npm") npm.npm_translate_lock( name = "npm", pnpm_lock = "//databuild/dashboard:pnpm-lock.yaml", # verify_node_modules_ignored = "//:.bazelignore", ) use_repo(npm, "npm") pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") # Allows developers to use the matching pnpm version, for example: # bazel run -- @pnpm --dir /home/runner/work/rules_js/rules_js install use_repo(pnpm, "pnpm") npm.npm_import( name = "mithril", package = "mithril", version = "2.2.2", ) npm.npm_import( name = "types_mithril", package = "@types/mithril", version = "2.2.7", ) use_repo(npm, "mithril", "types_mithril") #npm.npm_import( # name = "npm_typescript", # package = "typescript", # version = "5.8.3", #) #use_repo(npm, "mithril", "npm_typescript", "types_mithril") # Tailwind http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") http_file( name = "tailwind_macos", executable = True, sha256 = "8b0e5321ed7de33b8962410fa7e680f568366af8007bb9ebcb89cc68f70653f2", urls = [ "https://github.com/tailwindlabs/tailwindcss/releases/download/v4.0.0/tailwindcss-macos-arm64", ], ) http_file( name = "tailwind_linux", executable = True, sha256 = "09c1a5997d68f5e0127d9737593e7dc658fc96dc1851d782a78983d0d6a03c7c", urls = [ "https://github.com/tailwindlabs/tailwindcss/releases/download/v4.0.0/tailwindcss-linux-x64", ], ) #http_archive( # name = "aspect_rules_esbuild", # sha256 = "550e33ddeb86a564b22b2c5d3f84748c6639b1b2b71fae66bf362c33392cbed8", # strip_prefix = "rules_esbuild-0.21.0", # url = "https://github.com/aspect-build/rules_esbuild/releases/download/v0.21.0/rules_esbuild-v0.21.0.tar.gz", #) # ####################### ## rules_esbuild setup # ####################### # ## Fetches the rules_esbuild dependencies. ## If you want to have a different version of some dependency, ## you should fetch it *before* calling this. ## Alternatively, you can skip calling this function, so long as you've ## already fetched all the dependencies. #load("@aspect_rules_esbuild//esbuild:dependencies.bzl", "rules_esbuild_dependencies") # #rules_esbuild_dependencies() # #rules_js_register_toolchains(node_version = DEFAULT_NODE_VERSION) # ## Register a toolchain containing esbuild npm package and native bindings #load("@aspect_rules_esbuild//esbuild:repositories.bzl", "LATEST_ESBUILD_VERSION", "esbuild_register_toolchains") # #esbuild_register_toolchains( # name = "esbuild", # esbuild_version = LATEST_ESBUILD_VERSION, #) #