dispersa 0.4.2 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -40,7 +40,7 @@ Define tokens inline and build CSS -- no files needed:
40
40
  ```typescript
41
41
  import type { ResolverDocument } from 'dispersa'
42
42
  import { Dispersa, css } from 'dispersa'
43
- import { colorToHex, nameKebabCase } from 'dispersa/transforms'
43
+ import { colorToHex } from 'dispersa/transforms'
44
44
 
45
45
  const resolver: ResolverDocument = {
46
46
  version: '2025.10',
@@ -108,7 +108,7 @@ const result = await dispersa.build({
108
108
  name: 'css',
109
109
  preset: 'bundle',
110
110
  selector: ':root',
111
- transforms: [nameKebabCase(), colorToHex()],
111
+ transforms: [colorToHex()],
112
112
  }),
113
113
  ],
114
114
  })
@@ -275,7 +275,6 @@ Import from `dispersa/transforms`. All transforms are factory functions that ret
275
275
  | `nameSnakeCase()` | `color_brand_primary` |
276
276
  | `namePascalCase()` | `ColorBrandPrimary` |
277
277
  | `nameConstantCase()` | `COLOR_BRAND_PRIMARY` |
278
- | `nameCssVar()` | `--color-brand-primary` |
279
278
  | `namePrefix(prefix)` | `ds-color-brand-primary` |
280
279
  | `nameSuffix(suffix)` | `color-brand-primary-token` |
281
280
 
@@ -306,7 +305,7 @@ css({
306
305
  file: 'colors.css',
307
306
  preset: 'bundle',
308
307
  filters: [byType('color')],
309
- transforms: [nameKebabCase(), colorToHex()],
308
+ transforms: [colorToHex()],
310
309
  })
311
310
 
312
311
  css({
@@ -314,7 +313,7 @@ css({
314
313
  file: 'semantic.css',
315
314
  preset: 'modifier',
316
315
  filters: [isAlias()],
317
- transforms: [nameKebabCase(), colorToHex()],
316
+ transforms: [colorToHex()],
318
317
  })
319
318
  ```
320
319
 
@@ -570,7 +569,7 @@ Dispersa can run entirely without the filesystem. Pass a `ResolverDocument` obje
570
569
  ```typescript
571
570
  import type { ResolverDocument } from 'dispersa'
572
571
  import { Dispersa, css } from 'dispersa'
573
- import { colorToHex, nameKebabCase } from 'dispersa/transforms'
572
+ import { colorToHex } from 'dispersa/transforms'
574
573
 
575
574
  const resolver: ResolverDocument = {
576
575
  version: '2025.10',
@@ -599,7 +598,7 @@ const result = await dispersa.build({
599
598
  name: 'css',
600
599
  preset: 'bundle',
601
600
  selector: ':root',
602
- transforms: [nameKebabCase(), colorToHex()],
601
+ transforms: [colorToHex()],
603
602
  }),
604
603
  ],
605
604
  })
@@ -710,7 +709,7 @@ The CLI auto-discovers config files named `dispersa.config.(ts|js|mts|mjs|cts|cj
710
709
  // dispersa.config.ts
711
710
  import { defineConfig } from 'dispersa/config'
712
711
  import { css, json } from 'dispersa'
713
- import { colorToHex, nameKebabCase } from 'dispersa/transforms'
712
+ import { colorToHex } from 'dispersa/transforms'
714
713
 
715
714
  export default defineConfig({
716
715
  resolver: './tokens.resolver.json',
@@ -721,7 +720,7 @@ export default defineConfig({
721
720
  file: 'tokens.css',
722
721
  preset: 'bundle',
723
722
  selector: ':root',
724
- transforms: [nameKebabCase(), colorToHex()],
723
+ transforms: [colorToHex()],
725
724
  }),
726
725
  json({
727
726
  name: 'json',
package/dist/builders.cjs CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var changeCase = require('change-case');
3
4
  var culori = require('culori');
4
5
  var prettier = require('prettier');
5
6
 
@@ -132,7 +133,7 @@ function indentStr(width, level) {
132
133
  function buildGeneratedFileHeader() {
133
134
  return [
134
135
  "// Generated by Dispersa - do not edit manually",
135
- "// https://github.com/timges/dispersa"
136
+ "// https://github.com/dispersa-core/dispersa"
136
137
  ].join("\n");
137
138
  }
138
139
  function toSafeIdentifier(name, keywords, capitalize) {
@@ -490,6 +491,17 @@ var init_json = __esm({
490
491
  init_utils();
491
492
  }
492
493
  });
494
+ function nameKebabCase() {
495
+ return {
496
+ transform: (token) => {
497
+ const name = changeCase.kebabCase(token.path.join(" "));
498
+ return {
499
+ ...token,
500
+ name
501
+ };
502
+ }
503
+ };
504
+ }
493
505
  function isColorObject(value) {
494
506
  return typeof value === "object" && value !== null && "colorSpace" in value && "components" in value;
495
507
  }
@@ -3457,7 +3469,7 @@ function css(config) {
3457
3469
  file,
3458
3470
  renderer: cssRenderer(),
3459
3471
  options: { preset, ...rendererOptions },
3460
- transforms,
3472
+ transforms: [nameKebabCase(), ...transforms ?? []],
3461
3473
  filters,
3462
3474
  hooks
3463
3475
  };