Skip to main content
Aspect maintains rules_py for Python, rules_js and rules_ts for JavaScript & TypeScript, and rules_lint for linting and formatting in any language under Bazel. This section documents those rulesets, from first build to advanced patterns, and has guides for getting more out of Bazel itself.
New to Bazel?
  • Start with Bazel 101 for a language-agnostic introduction.
  • Pick a language section below to get started quickly.
  • Sign up for commercial support, provided by Aspect as a shared Slack channel.

Languages and ecosystems

Python

Built and maintained by Aspect: rules_py. Hermetic Python interpreters, pinned dependencies via uv, and Gazelle-generated BUILD files. Covers testing, virtualenvs, containers, and cross-builds.

JavaScript and TypeScript

Built and maintained by Aspect: rules_js and rules_ts, with pnpm workspaces. Includes integrations for esbuild, webpack, Jest, Cypress, Vite, and Next.js.

Linting and formatting

Built and maintained by Aspect: rules_lint. Linting and formatting under Bazel for dozens of languages, incremental and cache-aware, with hold-the-line adoption.

Guides

Optimizing your build

Download less with Build without the Bytes, and find the non-determinism that lowers your cache hit rate.

Tuning test resource usage

Keep resource-hungry tests from running out of memory by limiting how many run at once.

More open source

Beyond these rulesets, Aspect maintains a broad portfolio of open-source Bazel tooling, including the Aspect CLI, aspect-gazelle, rules_lint, and bazel-lib. See Open-source projects for the full listing, and Contributing for how we prioritize community work.

Community

Join the Aspect Community Slack, Aspect’s free community support. Ask in #help for general support. Join the discussion and see what others are building with the Aspect CLI and Aspect Extension Language (AXL) in the #cli and #axl channels. For Bazel and the Bazel rulesets, Bazel Slack is the best place for support and discussion. Ask about Aspect’s rules_js in #javascript and rules_py in #python.