Skip to main content
Glama
js.bzl3.5 kB
# Copyright (c) Meta Platforms, Inc. and affiliates. # # This source code is licensed under both the MIT license found in the # LICENSE-MIT file in the root directory of this source tree and the Apache # License, Version 2.0 found in the LICENSE-APACHE file in the root directory # of this source tree. load("@prelude//:genrule.bzl", "genrule_attributes") load("@prelude//android:build_only_native_code.bzl", "is_build_only_native_code") load("@prelude//decls:common.bzl", "buck") load("@prelude//decls:toolchains_common.bzl", "toolchains_common") load("@prelude//js:js_bundle.bzl", "js_bundle_impl") load("@prelude//js:js_bundle_genrule.bzl", "js_bundle_genrule_impl") load("@prelude//js:js_library.bzl", "js_library_impl") def _select_platform(): return select({ "DEFAULT": select({ "DEFAULT": "android", "config//os/constraints:iphoneos": "ios", "config//os/constraints:windows": "windows", }), "config//react-native:macos": "macos", "fbsource//tools/build_defs/js/constraints/metro_js_platform_override:android": "android", "fbsource//tools/build_defs/js/constraints/metro_js_platform_override:ios": "ios", "fbsource//tools/build_defs/js/constraints/metro_js_platform_override:macos": "macos", "fbsource//tools/build_defs/js/constraints/metro_js_platform_override:vr": "vr", "fbsource//tools/build_defs/js/constraints/metro_js_platform_override:windows": "windows", }) def _is_release(): return select({ "DEFAULT": select({ "DEFAULT": select({ "DEFAULT": False, "fbsource//tools/build_defs/android/config:build_mode_opt": True, }), "config//build_mode/constraints:release": True, }), "config//runtime:fbcode": select({ "DEFAULT": False, "config//build_mode/constraints:opt": True, }), }) def _select_asset_dest_path_resolver(): return select({ "DEFAULT": None, "fbsource//tools/build_defs/js/config:asset_dest_path_resolver_android": "android", "fbsource//tools/build_defs/js/config:asset_dest_path_resolver_generic": "generic", }) implemented_rules = { "js_bundle": js_bundle_impl, "js_bundle_genrule": js_bundle_genrule_impl, "js_library": js_library_impl, } extra_attributes = { "js_bundle": { "worker": attrs.exec_dep(), "_android_toolchain": toolchains_common.android(), "_is_release": attrs.bool( default = _is_release(), ), "_platform": attrs.string( default = _select_platform(), ), }, "js_bundle_genrule": genrule_attributes() | { "type": attrs.string( default = "js_bundle_genrule", ), "_exec_os_type": buck.exec_os_type_arg(), "_is_release": attrs.bool( default = _is_release(), ), "_platform": attrs.string( default = _select_platform(), ), }, "js_library": { "worker": attrs.exec_dep(), "_asset_dest_path_resolver": attrs.option( attrs.string(), default = _select_asset_dest_path_resolver(), ), "_build_only_native_code": attrs.bool(default = is_build_only_native_code()), "_is_release": attrs.bool( default = _is_release(), ), "_platform": attrs.string( default = _select_platform(), ), }, }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server