Builds passing
This commit is contained in:
parent
115e8cfdb0
commit
118bb2ac66
15 changed files with 754 additions and 2745 deletions
6
.bazelrc
6
.bazelrc
|
|
@ -1,4 +1,8 @@
|
||||||
build --color=yes
|
build --color=yes
|
||||||
query --color=yes
|
query --color=yes
|
||||||
test --color=yes
|
test --color=yes
|
||||||
test --test_output=errors
|
test --test_output=errors
|
||||||
|
|
||||||
|
# passes an argument `--skipLibCheck` to *every* spawn of tsc
|
||||||
|
# Bazel 6.4 or greater: 'common' means 'any command that supports this flag'
|
||||||
|
common --@aspect_rules_ts//ts:skipLibCheck=always
|
||||||
|
|
@ -1 +1 @@
|
||||||
8.3.0
|
8.3.1
|
||||||
100
MODULE.bazel
100
MODULE.bazel
|
|
@ -3,14 +3,14 @@ module(
|
||||||
version = "0.1",
|
version = "0.1",
|
||||||
)
|
)
|
||||||
|
|
||||||
bazel_dep(name = "bazel_skylib", version = "1.7.1")
|
bazel_dep(name = "bazel_skylib", version = "1.8.1")
|
||||||
bazel_dep(name = "platforms", version = "0.0.11")
|
bazel_dep(name = "platforms", version = "0.0.11")
|
||||||
bazel_dep(name = "rules_shell", version = "0.4.0")
|
bazel_dep(name = "rules_shell", version = "0.4.0")
|
||||||
bazel_dep(name = "rules_oci", version = "2.2.6")
|
bazel_dep(name = "rules_oci", version = "2.2.6")
|
||||||
bazel_dep(name = "aspect_bazel_lib", version = "2.14.0")
|
bazel_dep(name = "aspect_bazel_lib", version = "2.14.0")
|
||||||
bazel_dep(name = "rules_rust", version = "0.61.0")
|
bazel_dep(name = "rules_rust", version = "0.61.0")
|
||||||
bazel_dep(name = "rules_proto", version = "7.0.2")
|
bazel_dep(name = "rules_proto", version = "7.0.2")
|
||||||
bazel_dep(name = "protobuf", version = "23.1", repo_name = "com_google_protobuf")
|
bazel_dep(name = "protobuf", version = "29.0", repo_name = "com_google_protobuf")
|
||||||
|
|
||||||
crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate")
|
crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate")
|
||||||
crate.spec(
|
crate.spec(
|
||||||
|
|
@ -124,3 +124,99 @@ crate.spec(
|
||||||
)
|
)
|
||||||
crate.from_specs()
|
crate.from_specs()
|
||||||
use_repo(crate, "crates")
|
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", dev_dependency = True)
|
||||||
|
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,
|
||||||
|
#)
|
||||||
|
#
|
||||||
|
|
|
||||||
3036
MODULE.bazel.lock
3036
MODULE.bazel.lock
File diff suppressed because one or more lines are too long
112
databuild/dashboard/BUILD.bazel
Normal file
112
databuild/dashboard/BUILD.bazel
Normal file
|
|
@ -0,0 +1,112 @@
|
||||||
|
load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild")
|
||||||
|
load("@aspect_rules_js//js:defs.bzl", "js_test")
|
||||||
|
load("@aspect_rules_ts//ts:defs.bzl", "ts_config", "ts_project")
|
||||||
|
load("@npm//:defs.bzl", "npm_link_all_packages")
|
||||||
|
|
||||||
|
npm_link_all_packages(name = "node_modules")
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "dist",
|
||||||
|
srcs = [
|
||||||
|
# To be added once we have one
|
||||||
|
# "favicon.svg",
|
||||||
|
"index.html",
|
||||||
|
":app_dist",
|
||||||
|
":css",
|
||||||
|
],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
genrule(
|
||||||
|
name = "css",
|
||||||
|
srcs = [
|
||||||
|
"index.css",
|
||||||
|
"index.html",
|
||||||
|
":node_modules/daisyui",
|
||||||
|
":app_dist",
|
||||||
|
],
|
||||||
|
outs = ["dist.css"],
|
||||||
|
cmd = """
|
||||||
|
# Must manually copy sources, because tailwind silently ignores symlinked files:
|
||||||
|
# https://github.com/tailwindlabs/tailwindcss/issues/13731
|
||||||
|
WORKDIR=$$(dirname $(location index.css))
|
||||||
|
find $$WORKDIR -type l -exec bash -c 'echo "> $${0}" && cp -fL "$${0}" "$${0}.tmp" && mv "$${0}.tmp" "$${0}"' {} \\;
|
||||||
|
# Copy over source from built TS app so that tailwind can see the used classes
|
||||||
|
for fpath in $(locations :app_dist); do
|
||||||
|
cp $$fpath $$WORKDIR
|
||||||
|
done
|
||||||
|
# Include daisyui plugin
|
||||||
|
cp -R $(@D)/node_modules/.aspect_rules_js/*/node_modules $$WORKDIR/node_modules
|
||||||
|
# Run tailwind build
|
||||||
|
$(location //tools/build_rules:tailwind) -i $(location index.css) -o $@
|
||||||
|
""",
|
||||||
|
tools = ["//tools/build_rules:tailwind"],
|
||||||
|
)
|
||||||
|
|
||||||
|
ts_config(
|
||||||
|
name = "ts_config_app",
|
||||||
|
src = ":tsconfig_app.json",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
ts_config(
|
||||||
|
name = "ts_config_test",
|
||||||
|
src = ":tsconfig_test.json",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
# Making modules of ts projects seems to be a rats nest.
|
||||||
|
# Hopefully we can figure this out in the future.
|
||||||
|
ts_project(
|
||||||
|
name = "app",
|
||||||
|
srcs = [
|
||||||
|
"index.ts",
|
||||||
|
],
|
||||||
|
allow_js = True,
|
||||||
|
resolve_json_module = True,
|
||||||
|
transpiler = "tsc",
|
||||||
|
tsconfig = ":ts_config_app",
|
||||||
|
deps = [
|
||||||
|
":node_modules/@types/mithril",
|
||||||
|
":node_modules/@types/node",
|
||||||
|
":node_modules/mithril",
|
||||||
|
":node_modules/whatwg-fetch",
|
||||||
|
"//databuild/client:typescript_client",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
esbuild(
|
||||||
|
name = "app_dist",
|
||||||
|
srcs = [":app"],
|
||||||
|
bazel_sandbox_plugin = True,
|
||||||
|
entry_point = "index.js",
|
||||||
|
# esbuild_log_level = "verbose",
|
||||||
|
# js_log_level = "debug",
|
||||||
|
metafile = True,
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
ts_project(
|
||||||
|
name = "test_app",
|
||||||
|
testonly = True,
|
||||||
|
srcs = ["index.test.ts"],
|
||||||
|
allow_js = True,
|
||||||
|
resolve_json_module = True,
|
||||||
|
transpiler = "tsc",
|
||||||
|
tsconfig = ":ts_config_test",
|
||||||
|
deps = [
|
||||||
|
":app",
|
||||||
|
":node_modules/@types/mithril",
|
||||||
|
":node_modules/@types/node",
|
||||||
|
":node_modules/@types/ospec",
|
||||||
|
":node_modules/mithril",
|
||||||
|
":node_modules/ospec",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
js_test(
|
||||||
|
name = "app_test",
|
||||||
|
chdir = package_name(),
|
||||||
|
data = [":test_app"],
|
||||||
|
entry_point = "index.test.js",
|
||||||
|
)
|
||||||
2
databuild/dashboard/index.css
Normal file
2
databuild/dashboard/index.css
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
@import "tailwindcss" source("./**/*.{js,html}");
|
||||||
|
@plugin "daisyui";
|
||||||
15
databuild/dashboard/index.html
Normal file
15
databuild/dashboard/index.html
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<link href="/dist.css" rel="stylesheet">
|
||||||
|
<script src="/app_dist.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1 class="text-3xl font-bold underline"> Hello world! </h1>
|
||||||
|
<div id="app">
|
||||||
|
Loading...
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
12
databuild/dashboard/index.test.ts
Normal file
12
databuild/dashboard/index.test.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
const { appName } = require('./index');
|
||||||
|
const o = require('ospec');
|
||||||
|
|
||||||
|
o.spec("appName", () => {
|
||||||
|
o("should be databuild", () => {
|
||||||
|
o(appName).equals("databuild") `Should be databuild`;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
// TODO - I think we can create an ospec target that invokes these with the ospec CLI?
|
||||||
|
// https://github.com/MithrilJS/ospec?tab=readme-ov-file#command-line-interface
|
||||||
|
o.run();
|
||||||
30
databuild/dashboard/index.ts
Normal file
30
databuild/dashboard/index.ts
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
import m from 'mithril';
|
||||||
|
// import * as foo from './typescript_client/apis/DefaultApi.ts';
|
||||||
|
|
||||||
|
export const appName = "databuild";
|
||||||
|
|
||||||
|
const ele = m("div", {class:"alert shadow-lg max-w-sm","role":"alert"},
|
||||||
|
[
|
||||||
|
m("svg", {class:"stroke-info h-6 w-6 shrink-0","xmlns":"http://www.w3.org/2000/svg","fill":"none","viewBox":"0 0 24 24"},
|
||||||
|
m("path", {"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2","d":"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})
|
||||||
|
),
|
||||||
|
m("div",
|
||||||
|
[
|
||||||
|
m("h3", {"class":"font-bold"},
|
||||||
|
"Beans!"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
if (typeof window !== "undefined") {
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
m.mount(
|
||||||
|
document.getElementById('app') as HTMLFormElement,
|
||||||
|
{ view: () => [
|
||||||
|
ele,
|
||||||
|
] }
|
||||||
|
);
|
||||||
|
})
|
||||||
|
}
|
||||||
16
databuild/dashboard/package.json
Normal file
16
databuild/dashboard/package.json
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"devDependencies": {
|
||||||
|
"typescript": "5.7.3",
|
||||||
|
"@types/node": "^22.12.0",
|
||||||
|
"mithril": "^2.2.7",
|
||||||
|
"@types/mithril": "^2.2.7",
|
||||||
|
"ospec": "^4.2.0",
|
||||||
|
"@types/ospec": "^4.2.0",
|
||||||
|
"whatwg-fetch": "^3.6.20",
|
||||||
|
"daisyui": "^5.0.0-beta.6"
|
||||||
|
},
|
||||||
|
"pnpm": {
|
||||||
|
"onlyBuiltDependencies": []
|
||||||
|
}
|
||||||
|
}
|
||||||
111
databuild/dashboard/pnpm-lock.yaml
Normal file
111
databuild/dashboard/pnpm-lock.yaml
Normal file
|
|
@ -0,0 +1,111 @@
|
||||||
|
lockfileVersion: '9.0'
|
||||||
|
settings:
|
||||||
|
autoInstallPeers: true
|
||||||
|
excludeLinksFromLockfile: false
|
||||||
|
importers:
|
||||||
|
.:
|
||||||
|
devDependencies:
|
||||||
|
'@types/mithril':
|
||||||
|
specifier: ^2.2.7
|
||||||
|
version: 2.2.7
|
||||||
|
'@types/node':
|
||||||
|
specifier: ^22.12.0
|
||||||
|
version: 22.12.0
|
||||||
|
'@types/ospec':
|
||||||
|
specifier: ^4.2.0
|
||||||
|
version: 4.2.0
|
||||||
|
daisyui:
|
||||||
|
specifier: ^5.0.0-beta.6
|
||||||
|
version: 5.0.0-beta.6
|
||||||
|
mithril:
|
||||||
|
specifier: ^2.2.7
|
||||||
|
version: 2.2.13
|
||||||
|
ospec:
|
||||||
|
specifier: ^4.2.0
|
||||||
|
version: 4.2.1
|
||||||
|
typescript:
|
||||||
|
specifier: ^5.7.3
|
||||||
|
version: 5.7.3
|
||||||
|
whatwg-fetch:
|
||||||
|
specifier: ^3.6.20
|
||||||
|
version: 3.6.20
|
||||||
|
packages:
|
||||||
|
'@types/mithril@2.2.7':
|
||||||
|
resolution: {integrity: sha512-uetxoYizBMHPELl6DSZUfO6Q/aOm+h0NUCv9bVAX2iAxfrdBSOvU9KKFl+McTtxR13F+BReYLY814pJsZvnSxg==}
|
||||||
|
'@types/node@22.12.0':
|
||||||
|
resolution: {integrity: sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==}
|
||||||
|
'@types/ospec@4.2.0':
|
||||||
|
resolution: {integrity: sha512-QgwAtrYYstU7otBXmQ2yjUWaYMWkF48EevmG+IfYzAWk39cwsTw7ZHp7dK2XyA3eJ2v5AvbMa5ijcLewklDRDA==}
|
||||||
|
balanced-match@1.0.2:
|
||||||
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
|
brace-expansion@2.0.1:
|
||||||
|
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
||||||
|
daisyui@5.0.0-beta.6:
|
||||||
|
resolution: {integrity: sha512-gwXHv6MApRBrvUayzg83vS6bfZ+y7/1VGLu0a8/cEAMviS4rXLCd4AndEdlVxhq+25wkAp0CZRkNQ7O4wIoFnQ==}
|
||||||
|
fs.realpath@1.0.0:
|
||||||
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||||
|
glob@9.3.5:
|
||||||
|
resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
|
lru-cache@10.4.3:
|
||||||
|
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
|
||||||
|
minimatch@8.0.4:
|
||||||
|
resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
|
minipass@4.2.8:
|
||||||
|
resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
minipass@7.1.2:
|
||||||
|
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
|
mithril@2.2.13:
|
||||||
|
resolution: {integrity: sha512-dfWFYmRJDXAROG6B1AsQXEwhSgFZ65Am/5Xj3oJ/R1wZtrC0W20P4sIAtFQB0SZsGwV7H2MiEJiFGmlUtXF1Ww==}
|
||||||
|
ospec@4.2.1:
|
||||||
|
resolution: {integrity: sha512-LsJw2WMaVlFDiaIPPH+LMtsxOABjFD29XQ12ENZM+8Cwgg5BEgW65CB+SPL1PceIun+HSfdw8hkf27C8iF/XFw==}
|
||||||
|
hasBin: true
|
||||||
|
path-scurry@1.11.1:
|
||||||
|
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.18'}
|
||||||
|
typescript@5.7.3:
|
||||||
|
resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
|
||||||
|
engines: {node: '>=14.17'}
|
||||||
|
hasBin: true
|
||||||
|
undici-types@6.20.0:
|
||||||
|
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
|
||||||
|
whatwg-fetch@3.6.20:
|
||||||
|
resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
|
||||||
|
snapshots:
|
||||||
|
'@types/mithril@2.2.7': {}
|
||||||
|
'@types/node@22.12.0':
|
||||||
|
dependencies:
|
||||||
|
undici-types: 6.20.0
|
||||||
|
'@types/ospec@4.2.0': {}
|
||||||
|
balanced-match@1.0.2: {}
|
||||||
|
brace-expansion@2.0.1:
|
||||||
|
dependencies:
|
||||||
|
balanced-match: 1.0.2
|
||||||
|
daisyui@5.0.0-beta.6: {}
|
||||||
|
fs.realpath@1.0.0: {}
|
||||||
|
glob@9.3.5:
|
||||||
|
dependencies:
|
||||||
|
fs.realpath: 1.0.0
|
||||||
|
minimatch: 8.0.4
|
||||||
|
minipass: 4.2.8
|
||||||
|
path-scurry: 1.11.1
|
||||||
|
lru-cache@10.4.3: {}
|
||||||
|
minimatch@8.0.4:
|
||||||
|
dependencies:
|
||||||
|
brace-expansion: 2.0.1
|
||||||
|
minipass@4.2.8: {}
|
||||||
|
minipass@7.1.2: {}
|
||||||
|
mithril@2.2.13: {}
|
||||||
|
ospec@4.2.1:
|
||||||
|
dependencies:
|
||||||
|
glob: 9.3.5
|
||||||
|
path-scurry@1.11.1:
|
||||||
|
dependencies:
|
||||||
|
lru-cache: 10.4.3
|
||||||
|
minipass: 7.1.2
|
||||||
|
typescript@5.7.3: {}
|
||||||
|
undici-types@6.20.0: {}
|
||||||
|
whatwg-fetch@3.6.20: {}
|
||||||
2
databuild/dashboard/pnpm-workspace.yaml
Normal file
2
databuild/dashboard/pnpm-workspace.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
packages:
|
||||||
|
- "databuild"
|
||||||
17
databuild/dashboard/tsconfig_app.json
Normal file
17
databuild/dashboard/tsconfig_app.json
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
|
||||||
|
"lib": ["es6","dom", "es2021"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
||||||
|
"module": "commonjs", /* Specify what module code is generated. */
|
||||||
|
"rootDir": "./", /* Specify the root folder within your source files. */
|
||||||
|
"moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
|
||||||
|
"resolveJsonModule": true, /* Enable importing .json files. */
|
||||||
|
"allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
|
||||||
|
"inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
|
||||||
|
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
|
||||||
|
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
|
||||||
|
"strict": true, /* Enable all strict type-checking options. */
|
||||||
|
"noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
|
||||||
|
"skipLibCheck": true /* Skip type checking all .d.ts files. */
|
||||||
|
}
|
||||||
|
}
|
||||||
17
databuild/dashboard/tsconfig_test.json
Normal file
17
databuild/dashboard/tsconfig_test.json
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
|
||||||
|
"lib": ["es6","dom"], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
||||||
|
"module": "commonjs", /* Specify what module code is generated. */
|
||||||
|
"rootDir": "./", /* Specify the root folder within your source files. */
|
||||||
|
"moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
|
||||||
|
"resolveJsonModule": true, /* Enable importing .json files. */
|
||||||
|
"allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
|
||||||
|
"inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
|
||||||
|
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
|
||||||
|
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
|
||||||
|
"strict": true, /* Enable all strict type-checking options. */
|
||||||
|
"noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
|
||||||
|
"skipLibCheck": true /* Skip type checking all .d.ts files. */
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tools/build_rules/BUILD.bazel
Normal file
21
tools/build_rules/BUILD.bazel
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
config_setting(
|
||||||
|
name = "is_linux",
|
||||||
|
constraint_values = ["@platforms//os:linux"],
|
||||||
|
)
|
||||||
|
|
||||||
|
config_setting(
|
||||||
|
name = "is_mac",
|
||||||
|
constraint_values = ["@platforms//os:macos"],
|
||||||
|
)
|
||||||
|
|
||||||
|
# tailwind
|
||||||
|
|
||||||
|
alias(
|
||||||
|
name = "tailwind",
|
||||||
|
actual = select({
|
||||||
|
":is_linux": "@tailwind_linux//file:downloaded",
|
||||||
|
":is_mac": "@tailwind_macos//file:downloaded",
|
||||||
|
"//conditions:default": None,
|
||||||
|
}),
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
Loading…
Reference in a new issue