This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to v4, this PR will be updated.
⚠️⚠️⚠️⚠️⚠️⚠️
v4 is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on v4.
⚠️⚠️⚠️⚠️⚠️⚠️
Releases
style-dictionary@4.0.0-prerelease.19
Major Changes
79bb201: BREAKING: Logging has been redesigned a fair bit and is more configurable now.
Before:
{
"log": "error" // 'error' | 'warn' -> 'warn' is the default value
}
After:
{
"log": {
"warnings": "error", // 'error' | 'warn' -> 'warn' is the default value
"verbosity": "verbose" // 'default' | 'verbose' | 'silent' -> 'default' is the default value
}
}
Log is now and object and the old "log" option is now "warnings".
This configures whether the following five warnings will be thrown as errors instead of being logged as warnings:
Token value collisions (in the source)
Token name collisions (when exporting)
Missing "undo" function for Actions
File not created because no tokens found, or all of them filtered out
Broken references in file when using outputReferences, but referring to a token that's been filtered out
Verbosity configures whether the following warnings/errors should display in a verbose manner:
Token collisions of both types (value & name)
Broken references due to outputReferences & filters
Token reference errors
And it also configures whether success/neutral logs should be logged at all.
Using "silent" (or --silent in the CLI) means no logs are shown apart from fatal errors.
bcb5ef3: Remove reliance on CTI token structure across transforms, actions and formats.
Breaking changes:
Token type will now be determined by "type" (or "$type") property on the token, rather than by checking its CTI attributes. This change has been reflected in all of the format templates as well as transform "matcher" functions that were previously checking attributes.category as the token type indicator.
Types are mostly aligned with DTCG spec types, although a few additional ones have been added for compatibility reasons:
asset -> string type tokens where the value is a filepath to an asset
icon -> content type string tokens where the content resembles an icon, e.g. for icon fonts like Microsoft codicons
html -> HTML entity strings for unicode characters
content -> regular string content e.g. text content which sometimes needs to be wrapped in quotes
Built-in name transforms are now reliant only on the token path, and are renamed from name/cti/casing to just name/casing. name/ti/camel and name/ti/constant have been removed. For example name/cti/kebab transform is now name/kebab.
Transform content/icon has been renamed to html/icon since it targets HTML entity strings, not just any icon content.
font/objC/literal, font/swift/literal and font/flutter/literal have been removed in favor of font/objC/literal, font/swift/literal and font/flutter/literal, as they do he exact same transformations.
typescript/module-declarations format to be updated with current DesignToken type interface.
Before:
{
"color": {
"red": {
"value": "#FF0000"
}
}
}
After:
{
"color": {
// <-- this no longer needs to be "color" in order for the tokens inside this group to be considered of type "color"
"red": {
"value": "#FF0000",
"type": "color"
}
}
}
Patch Changes
8e297d6: Fix outputReferences for DTCG spec tokens, by using token.original.$value instead of token.original.value.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to v4, this PR will be updated.
⚠️⚠️⚠️⚠️⚠️⚠️
v4
is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exit
onv4
.⚠️⚠️⚠️⚠️⚠️⚠️
Releases
style-dictionary@4.0.0-prerelease.19
Major Changes
79bb201: BREAKING: Logging has been redesigned a fair bit and is more configurable now.
Before:
After:
Log is now and object and the old "log" option is now "warnings".
This configures whether the following five warnings will be thrown as errors instead of being logged as warnings:
Verbosity configures whether the following warnings/errors should display in a verbose manner:
And it also configures whether success/neutral logs should be logged at all. Using "silent" (or --silent in the CLI) means no logs are shown apart from fatal errors.
bcb5ef3: Remove reliance on CTI token structure across transforms, actions and formats.
Breaking changes:
attributes.category
as the token type indicator.name/cti/casing
to justname/casing
.name/ti/camel
andname/ti/constant
have been removed. For examplename/cti/kebab
transform is nowname/kebab
.content/icon
has been renamed tohtml/icon
since it targets HTML entity strings, not just any icon content.font/objC/literal
,font/swift/literal
andfont/flutter/literal
have been removed in favor offont/objC/literal
,font/swift/literal
andfont/flutter/literal
, as they do he exact same transformations.typescript/module-declarations
format to be updated with current DesignToken type interface.Before:
After:
Patch Changes