Releases: amzn/style-dictionary
Releases · amzn/style-dictionary
v5.0.0-rc.0
Major Changes
- 2b2c154: No longer allow references to non-token leaf nodes. References only work when referencing a Design Token (its value).
Non-token nodes will also not make it to the output, because they are filtered out during the flattening process totokenMap
andtokenArray
.
Remove allowing references with.value
suffix. - 2b2c154: BREAKING: minimum NodeJS version required is now v22.0.0 (LTS, at time of writing this). This is to support
Set.prototype.union
which we utilize in our token reference resolution utility, and it's important to use the cheaper built-in versus doing a union manually.
Minor Changes
- 2b2c154: Support passing Token Map structure to
getReferences
andresolveReferences
utils.
v4.3.3
Patch Changes
- ea0ec73: Fix convertToDTCG for sets that are already (partially) DTCG.
- 1d4389a: -
'color/hex'
(colorHex
enum) built-in transform can now handle alpha channels properly by outputting hex8 format if needed. This also affects the transformGroupsless
andjs
which apply this transform.'color/hex8'
(colorHex8
enum) built-in transform is now deprecated, use'color/hex'
(colorHex
enum) instead.
- e77feb4: Move the tinycolor2 patch from a patch file to a 3-liner fix in our source code, so it gets correctly published and usable by consumers.
- 177c25e: Account for multiline comments in javascript/es6 format
v4.3.2
v4.3.1
v4.3.0
Minor Changes
- 302b466: Introduce a new entrypoint:
style-dictionary/enums
for most of the library's hard-coded string values. Most of these are built-in hooks names. This provides better type-safety for consumers as well as various maintainability related benefits for this library. See documentation for more info. - 5aad797: Add tailwind preset example, remove unused .editorconfig file
- bd8be17: Add support for native .TS token & config file processing.
- 209085d: Add
tokenMap
properties to Dictionary, which is a JavaScript Map structure of the tokens, which makes it easy to iterate as well as access tokens. Also addconvertTokenData
utility that allows to seemlessly convert between Map, Object or Array of tokens, and deprecate theflattenTokens
utility in favor of that one.
Patch Changes
- 2966cfd: handle DTCG-format tokens in typescript/es6-declarations formatter
- 4a7bca7: add accessControl field to Android Compose template
- f694f67: Fix Prettier imports, see https://prettier.io/docs/en/api#custom-parser-api-removed for more info.
- fd8cdb4: handle DTCG-format tokens in javascript/es6 formatter
- 6a6a409: Move prettier to dependencies since style-dictionary isn't really a prettier plugin and a direct dependency seems more accurate here.
- 8a9cfa0: Fix
outputReferencesTransformed
util, would returntrue
for tokens which original values were not strings. - 7a661bb: Fix font-style and font-weight logic for fonts.css.template.js
v4.2.0
Minor Changes
- 0fcf229: Add a new built-in format javascript/esm that outputs an ES module JS default export.
- d7b5836: Mark javascript/esm as nested, use Prettier on all JavaScript/TypeScript formats, use 3.x.x peerDependency so the user's installation is used when possible.
- 4bf68a3: Apply stripMeta from "json" format to the new "javascript/esm" as well.
- 8f1b4f0: Add new utility in
style-dictionary/utils
->stripMeta
for stripping metadata from tokens.
This utility is used now as an opt-in for the built-in'json'
format by usingoptions.stripMeta
, which if set totrue
will strip Style Dictionary meta props.
You can specifykeep
/strip
(allow/blocklist) for granular control about which properties to keep or strip.
Patch Changes
- 5e3a5af: Update .d.ts/js files type imports to use correct extensions rather than extensionless. This fixes some incompatibilities with latest TypeScript "NodeNext" moduleResolution.
v4.1.4
v4.1.3
Patch Changes
- 9376247: Make
defaultMessage
param in FileHeader type optional. - 43ccb42: (#1305): fix reference sorting in
sortByReference
function for DTCG token format, ensuring token references are declared after their targets - 26728b9: Fix
filterTokens
utility to deal with random metadata properties throughout token groups, without throwing errors.