Skip to main content
Version: 2024.41.17

Aspect CLI Releases

2024.51.11 (latest)

December 17, 2024

Installation

For full install instructions see overview.

Bazelisk (macOS / Linux)

Configure bazelisk to use the Aspect CLI for all developers in a repository by adding the following to .bazeliskrc in the repository root:

BAZELISK_BASE_URL=https://static.aspect.build/aspect
USE_BAZEL_VERSION=aspect/2024.51.11

The underlying version of Bazel can be configured in your .bazelversion file or the BAZEL_VERSION environment variable.

Changes

Features:

  • (OSS) Add support for salting on the outputs verb. To add a salt value to hashes generated from the outputs verb, specify the --hash_salt flag when calling outputs
  • (OSS) Add support for # gazelle:js_tsconfig_file _tsconfig_json_ directory to specify the path tsconfig.json file, in case your TSConfig file has a different file name
  • Aspect CLI can now use the output from Stylelint
  • Orion target declaration attribute values can be a source file, automatically converting to the relative file path (the same as .path)
  • Orion extension property values are now inherited. Properties are almost always intended to be inherited by child BUILD files. Opt-out of this may be added in the future if/when necessary
  • If the folder given via lint_diagnostics_file does not exist, create it.

Performance:

  • Parse and cache orion queries on declaration to reduce locking during concurrent orion query execution

Fixes:

  • Add documentation for aspect explain
  • (OSS) Handle non @types imports from tsconfig compilerOptions.types
  • (OSS) Reflect the tsconfig "composite" and "incremental" setting into ts_project() rules
  • (OSS) Add generated ts sources to ts_project(srcs)
  • Orion plugin property declarations no longer require a default
  • Orion PrepareResult.sources can now be a single filter in addition to an array of filters
  • (OSS) Support aspect configure detecting dependencies from package.jsontypes|typings fields
  • (OSS) Workflows now supports faster build event transmission to Aspect CLI plugins by sending up to 10 build events in parallel via 10 concurrent BEPEventCallback calls. Plugins can opt-in to faster build event transmission by setting multi_threaded_build_events: true in their configuration in the .aspect/cli/config.yaml configuration file. Plugins that opt-in must handle multi-threaded BEPEventCallback. If plugins require build events to be processed in order they should buffering out-of-order build events and processing the build events in order of sequence number. The sequence number of a build event can be obtained via a new 2nd parameter of the BEPEventCallback function: BEPEventCallback(event *buildeventstream.BuildEvent, sequenceNumber int64)
  • aspect configure handles /// <reference lib="..." /> comments correctly

BREAKING CHANGES:

2024.46.33

November 13, 2024

Installation

For full install instructions see overview.

Bazelisk (macOS / Linux)

Configure bazelisk to use the Aspect CLI for all developers in a repository by adding the following to .bazeliskrc in the repository root:

BAZELISK_BASE_URL=https://static.aspect.build/aspect
USE_BAZEL_VERSION=aspect/2024.46.33

The underlying version of Bazel can be configured in your .bazelversion file or the BAZEL_VERSION environment variable.

Changes

Performance:

  • (OSS) aspect configure glob patterns are now validated once up front instead of per evaluation
  • (OSS) Minor reduction in memory allocation during aspect configure, especially parsing of source code
  • (OSS) Minor reduction in memory allocation during aspect configure
  • (OSS) Cache parsing of regex statements for aspect configure source code parsing
  • (OSS) Prevent extra fs lookup for aspect configure tsconfig extends
  • (OSS) Caching of aspect configure tree-sitter query metadata across query executions
  • (OSS) Reduce fs io of aspect configure during fs traversal (#7173)
  • Performance improvements to orion BUILD generator
  • (OSS) Memory improvements to js aspect configure
  • (OSS) aspect configure performance improvements
  • (OSS) Add experimental caching of source code analysis for aspect configure via ASPECT_CONFIGURE_CACHE environment variable pointing to a cache file path, normally in a temp or ignored file location

Fixes:

  • (OSS) Fix to flag handling when empty argument passed to CLI
  • (OSS) Comments similar to typescript triple-comment references should not output errors during aspect configure
  • (OSS) The go language in aspect configure will now work when rules_go is under bzlmod
  • (OSS) The ts_project preserve_jsx attribute is now generated by aspect configure
  • (OSS) aspect configure orion generated targets of rule kinds known to the configure js language should work across languages
  • (OSS) Increase linting BES completion timeout to 60 seconds
  • (OSS) Use localExecRoot if possible when constructing path to results files (https://github.com/aspect-build/aspect-cli/pull/768)
  • (OSS) Fix the use of cli empty-string arguments (https://github.com/aspect-build/aspect-cli/issues/771)

Refactors:

  • (OSS) Update configure directive suggestions to use aspect directives
  • (OSS) Remove query -> cquery guidance

2024.42.3

October 15, 2024

Installation

For full install instructions see overview.

Bazelisk (macOS / Linux)

Configure bazelisk to use the Aspect CLI for all developers in a repository by adding the following to .bazeliskrc in the repository root:

BAZELISK_BASE_URL=https://static.aspect.build/aspect
USE_BAZEL_VERSION=aspect/2024.42.3

The underlying version of Bazel can be configured in your .bazelversion file or the BAZEL_VERSION environment variable.

Changes

Features:

  • (OSS) configure generated package targets (npm_package or js_library) visibility is now set to public by default.
  • Support starzelle rule removal restricted by kind

Fixes:

  • (OSS) Pnpm workspace project dependencies resolved with aspect configure are now higher priority then resolving dependencies via tsconfig paths
  • Show correct paths in starzelle error stack traces
  • Use gazelle result.Empty API for target removal
  • Read+query source files concurrently across all plugins

Refactors:

  • Improve starzelle missing-property error message

2024.41.17

October 8, 2024

Installation

For full install instructions see overview.

Bazelisk (macOS / Linux)

Configure bazelisk to use the Aspect CLI for all developers in a repository by adding the following to .bazeliskrc in the repository root:

BAZELISK_BASE_URL=https://static.aspect.build/aspect
USE_BAZEL_VERSION=aspect/2024.41.17

The underlying version of Bazel can be configured in your .bazelversion file or the BAZEL_VERSION environment variable.

Changes

Fixes:

  • Dependencies from package.json main/types/exports fields no longer cause errors when aspect configure can not resolve the referenced files.

2024.41.9

October 7, 2024

Installation

For full install instructions see overview.

Bazelisk (macOS / Linux)

Configure bazelisk to use the Aspect CLI for all developers in a repository by adding the following to .bazeliskrc in the repository root:

BAZELISK_BASE_URL=https://static.aspect.build/aspect
USE_BAZEL_VERSION=aspect/2024.41.9

The underlying version of Bazel can be configured in your .bazelversion file or the BAZEL_VERSION environment variable.

Changes

Features:

  • (OSS) New --fixes flag added to lint command in the the Aspect CLI which defaults to true. Users can now set --nofixes to turn off requesting the lint patch output group (rules_lint_patch). Requesting the report outputs groups (rules_lint_human and rules_lint_machine) is still controlled by the --report and --machine flags

Fixes:

  • (OSS) rules_js gazelle plugin: support direct import of outputted dts files. Things like package.json might import both the .d.ts and .js version of a file. Those can come from source .d.ts or .ts.
  • (OSS) rules_js gazelle plugin: set npm_package(srcs) as mergeable gazelle attribute
  • (OSS) rules_js gazelle plugin: tsconfig rootdir filtering of source files
  • (OSS) rules_js gazelle plugin: generated npm package srcs vs deps attributes
  • (OSS) rules_js gazelle plugin: support package.json exports/main references to outputted .js/.d.ts
  • (OSS) gazelle: minor enhancement to support the .gitignore trailing-/ so it only matches directories

Refactors:

2024.39.54

September 28, 2024

Installation

For full install instructions see overview.

Bazelisk (macOS / Linux)

Configure bazelisk to use the Aspect CLI for all developers in a repository by adding the following to .bazeliskrc in the repository root:

BAZELISK_BASE_URL=https://static.aspect.build/aspect
USE_BAZEL_VERSION=aspect/2024.39.54

The underlying version of Bazel can be configured in your .bazelversion file or the BAZEL_VERSION environment variable.

Changes

Initial release of the Aspect CLI (standard).