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 theoutputs
verb, specify the--hash_salt
flag when callingoutputs
- (OSS) Add support for
# gazelle:js_tsconfig_file _tsconfig_json_
directory to specify the pathtsconfig.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 tsconfigcompilerOptions.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 frompackage.json
types|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:
- (OSS) Aspect CLI no longer supported building and running a Workflows plugin from a target. Instead it is recommended to run it from a built binary during plugin development. For example, https://github.com/aspect-build/plugin-fix-visibility/blob/a8acbbd2bce5a6e5cf6990050e438acd505dafbc/.aspect/cli/config.yaml#L8.
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
tsconfigextends
- (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
viaASPECT_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 byaspect 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
orjs_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 whenaspect 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
andrules_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:
- (OSS) gazelle: upgrade tree-sitter json, kotlin, starlark, typescript grammars. Addresses https://github.com/aspect-build/aspect-cli/issues/530.
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).