npm / @terrazzo/parser
@terrazzo/parser
What changed in @terrazzo/parser 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.
7 breaking1 deprecations7 new APIs and options3 behavior and defaults9 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@terrazzo/parser 227 changes
Breaking changes 7
plugin-css now inherits alphabetize from options, a minor breaking change.
The listPermutations API is no longer provided for complex resolvers.
These token types now have stricter requirements that all properties be present; each behavior can be opted out of through lint rules.
build() and buildEnd() plugin hooks now execute in parallel; other hooks remain sequential.
DTCG 2nd Editors draft format now errors by default; colors and dimensions must use the new object format, and typography requires its minimum properties.
Plugin lint now runs once on the merged full set instead of on individual files; plugins using src must read from sources instead.
The transform API receives a Momoa node first and a context object second, and must return a Momoa node rather than raw JSON.
Deprecations 1
Soft-deprecated in favor of core/valid-typography.
New APIs and options 7
Add the resolveAliases option; setting it to false allows partial application of input using the sets and modifiers options.
The resolver API adds orthogonality detection, except for $extends.
A dependency-free package is used for generated JS plugin declarations so published token packages do not require consumers to install @terrazzo/parser.
Adds full support for the DTCG v2025.10 spec, including resolvers.
Adds first-class support for local and remote JSON references; DTCG aliases are transformed to JSON $refs and are interchangeable.
Adds support for the Token Listing format.
Adds typography shorthand support.
Behavior and default changes 3
Shadow token types and CSS processing now allow lists of aliases.
Validation is handled by lint rules, so token validation can be configured individually and optionally extended.
May be undefined for tokens created with $ref.
Fixes and other changes 9
Improves token aliases when the primitive or primary has a token but aliases do not, preventing tokens from being dropped in all plugins.
In legacy mode, modeSelectors now resolves to the requested mode instead of the default alias.
Fixes a runtime error when $extensions does not have a mode object.
Fixes cases where border tokens’ partial aliases referred to themselves.
Fixes border tokens not cascading correctly across modes.
Adds the missing $deprecated property to group types.
Improves CSS generation for extended typography properties.
Fixes unused-rule warnings for rules that are turned off.
Fixes strokeStyle partialAliasOf.