load("@rules_shell//shell:sh_test.bzl", "sh_test") load("//bun:defs.bzl", "bun_build", "bun_bundle", "bun_compile") bun_bundle( name = "simple_bundle", entry_points = ["main.ts"], ) bun_bundle( name = "minified_bundle", entry_points = ["main.ts"], minify = True, ) bun_bundle( name = "external_bundle", entry_points = ["main.ts"], external = ["left-pad"], ) bun_bundle( name = "collision_bundle", entry_points = [ "collision_case/a/main.ts", "collision_case/b/main.ts", ], ) bun_build( name = "site_build", data = [ "site/main.ts", "site/styles.css", ], entry_points = ["site/index.html"], splitting = True, ) bun_build( name = "site_build_with_meta", data = [ "site/main.ts", "site/styles.css", ], entry_points = ["site/index.html"], metafile = True, metafile_md = True, ) bun_build( name = "advanced_site_build", asset_naming = "assets/[name]-[hash].[ext]", banner = "/* bundle banner */", build_flags = [ "--app", "--server-components", ], chunk_naming = "chunks/[name]-[hash].[ext]", conditions = [ "browser", "custom", ], css_chunking = True, data = [ "site/main.ts", "site/styles.css", ], define = [ "process.env.NODE_ENV:\"production\"", "__DEV__:false", ], drop = [ "console", "debugger", ], emit_dce_annotations = True, entry_naming = "entries/[name]-[hash].[ext]", entry_points = ["site/index.html"], env = "PUBLIC_*", external = [ "left-pad", "react", ], feature = [ "react_fast_refresh", "server_components", ], footer = "// bundle footer", format = "cjs", jsx_factory = "h", jsx_fragment = "Fragment", jsx_import_source = "preact", jsx_runtime = "automatic", jsx_side_effects = True, keep_names = True, loader = [ ".svg:file", ".txt:text", ], minify = True, minify_identifiers = True, minify_syntax = True, minify_whitespace = True, no_bundle = True, packages = "external", production = True, public_path = "/static/", react_fast_refresh = True, root = "tests/bundle_test/site", sourcemap = "linked", splitting = True, tags = ["manual"], target = "node", ) bun_compile( name = "compiled_cli", entry_point = "cli.ts", ) bun_compile( name = "compiled_cli_with_flags", bytecode = True, compile_autoload_bunfig = False, compile_autoload_dotenv = False, compile_autoload_package_json = True, compile_autoload_tsconfig = True, compile_exec_argv = [ "--smol", "--inspect-wait", ], compile_executable = "fake_cross_bun.bin", entry_point = "cli.ts", tags = ["manual"], windows_copyright = "(c) rules_bun", windows_description = "compile flag coverage", windows_hide_console = True, windows_icon = "branding/icon.ico", windows_publisher = "rules_bun", windows_title = "Rules Bun Test App", windows_version = "1.2.3.4", ) sh_test( name = "bundle_output_test", size = "small", srcs = ["verify_bundle.sh"], args = ["$(location :simple_bundle)"], data = [":simple_bundle"], ) sh_test( name = "bundle_minify_test", size = "small", srcs = ["verify_minify.sh"], args = [ "$(location :simple_bundle)", "$(location :minified_bundle)", ], data = [ ":minified_bundle", ":simple_bundle", ], ) sh_test( name = "bundle_hermetic_digest_test", size = "small", srcs = ["verify_hermetic_shape.sh"], args = ["$(location //internal:bun_bundle.bzl)"], data = ["//internal:bun_bundle.bzl"], ) sh_test( name = "bundle_external_exclusion_test", size = "small", srcs = ["verify_external_shape.sh"], args = [ "$(location //internal:bun_bundle.bzl)", "$(location //tests/bundle_test:BUILD.bazel)", ], data = [ "//internal:bun_bundle.bzl", "//tests/bundle_test:BUILD.bazel", ], ) sh_test( name = "bundle_collision_output_test", size = "small", srcs = ["verify_collision_outputs.sh"], args = ["$(locations :collision_bundle)"], data = [":collision_bundle"], ) sh_test( name = "bundle_sourcemap_shape_test", size = "small", srcs = ["verify_sourcemap_shape.sh"], data = [ "BUILD.bazel", "//:repo_runtime_files", "//bun:repo_runtime_files", "//internal:repo_runtime_files", "//tests/bundle_test/sourcemap_case:BUILD.bazel", "//tests/bundle_test/sourcemap_case:entry.ts", ], env_inherit = ["PATH"], ) sh_test( name = "bun_build_site_output_test", size = "small", srcs = ["verify_site_build.sh"], args = ["$(location :site_build)"], data = [":site_build"], ) sh_test( name = "bun_build_site_meta_test", size = "small", srcs = ["verify_site_build_meta.sh"], args = ["$(locations :site_build_with_meta)"], data = [":site_build_with_meta"], ) sh_test( name = "bun_compile_output_test", size = "small", srcs = ["run_compiled_binary.sh"], args = ["$(location :compiled_cli)"], data = [":compiled_cli"], ) sh_test( name = "bun_build_compile_flag_shape_test", size = "small", srcs = ["verify_flag_aquery.sh"], data = [ "BUILD.bazel", "cli.ts", "fake_cross_bun.bin", "site/index.html", "site/main.ts", "site/styles.css", "//:repo_runtime_files", "//bun:repo_runtime_files", "//internal:repo_runtime_files", ], env_inherit = ["PATH"], )