Skip to content

alloy@0.17.0

Choose a tag to compare

@github-actions github-actions released this 27 May 20:59
· 120 commits to main since this release
a8c04be

@alloy-js/core

Features

  • #157 Add tracing for symbols. Tracing can be enabled by setting ALLOY_TRACE environment variable to a comma-separated list of symbol, scope, and/or resolve.
  • #157 Symbols and member scopes now support copy and move operations. These are used in combination with instantiate to model such things as instantiating and applying types to variables.
  • #157 New symbol flag Transient which is a symbol that is merely a placeholder. For example, symbols created by expressions are generally transient, and their useful parts are copied into a declaration symbol when appropriate.
  • #157 Symbols can now be aliased. Alias symbols will look up to their alias target when accessing things like instance or static members.

Breaking Changes

  • #157 Refactor symbols to drastically simplify and optimize their usage. Symbols and scopes are now classes, and languages subclass these to add additional behaviors. Many binder APIs which operated on scopes or symbols are now methods on scopes or symbols.
  • #157 New takeSymbol/emitSymbol APIs added for passing symbols up the render tree to components which accept them. This is a generalization of the pattern in AssignmentTargetContext, so that context has been deleted.

@alloy-js/java

No changes, version bump only.

@alloy-js/json

No changes, version bump only.

@alloy-js/csharp

No changes, version bump only.

@alloy-js/typescript

Bug Fixes

  • #163 Add index property to MemberExpression.Part to allow defining array indexes and treat numeric id props as array indexes.

Features

  • #153 Add support to createPackage for defining instance and static members.
  • #157 Variables will now get instance/static symbols based on the type prop or the children. This allows accessing members off of variable declarations when they are typed as a class or interface or assigned an object expression.
  • #157 Add new NewExpression component which will emit a symbol containing the instantiation of the given class reference.

@alloy-js/create

No changes, version bump only.

@alloy-js/markdown

No changes, version bump only.