synthesisui 0.16.133 → 0.16.134

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.
@@ -1509,6 +1509,20 @@ export async function takeCensus(root, opts) {
1509
1509
  skipped: skips
1510
1510
  .slice(0, 400)
1511
1511
  .map(({ name, why, because }) => ({ name, why, because })),
1512
+ /**
1513
+ * OS NÚMEROS VERDADEIROS DO PORTÃO, porque a lista acima é cortada em 400 e num
1514
+ * monorepo real o corte estoura (712 recusados, 400 gravados). Contar a lista daria
1515
+ * 400 e pareceria completo.
1516
+ */
1517
+ gate: {
1518
+ admitted: scoped.length,
1519
+ refused: skips.length,
1520
+ groups: groupSkips(skips).map((g) => ({
1521
+ why: g.why,
1522
+ label: g.label,
1523
+ count: g.names.length,
1524
+ })),
1525
+ },
1512
1526
  }
1513
1527
  : {}),
1514
1528
  ...((opts?.usage ?? []).length > 0
@@ -35,6 +35,20 @@ const SHAPES = [
35
35
  "styled",
36
36
  "runtime",
37
37
  ];
38
+ /**
39
+ * Como cada forma se chama no terminal. É cópia do RELATÓRIO, não do contrato: a tela da
40
+ * plataforma escreve a sua própria (o dado que viaja é a chave da forma), porque uma linha de
41
+ * terminal alinhada em coluna e um rótulo de painel não são o mesmo texto.
42
+ */
43
+ const SHAPE_LABEL = {
44
+ class: "class lists",
45
+ template: "template strings",
46
+ inline: "style={{ }}",
47
+ css: "stylesheet declarations",
48
+ sx: "sx props",
49
+ styled: "styled-components",
50
+ runtime: "classes built at runtime",
51
+ };
38
52
  const BECAUSE = {
39
53
  "shape-not-read": "no reader in this version understands this shape, so the styles it holds reach no recipe",
40
54
  "value-not-read": "the shape is read and this value is not - a utility or property outside the scales this project declares",
@@ -107,6 +121,19 @@ export function describeLedger(l) {
107
121
  const lines = [
108
122
  `${total} style fragments in your files, and every one is accounted for: ${read} interpreted (${Math.round((read / total) * 100)}%), ${total - read} listed below with the file and line where each lives.`,
109
123
  ];
124
+ /**
125
+ * POR FORMA, ANTES DOS GRUPOS. O total responde "quanto"; esta tabela responde "de que jeito o
126
+ * projeto escreve estilo", que é a pergunta que decide qual leitor vale construir. Sem ela, 56%
127
+ * num app dominado por CSS Modules e 56% num app de Tailwind leem igual e pedem trabalhos
128
+ * opostos.
129
+ */
130
+ for (const shape of SHAPES) {
131
+ const seen = l.counted[shape];
132
+ if (seen === 0)
133
+ continue;
134
+ const got = l.interpreted[shape];
135
+ lines.push(` ${SHAPE_LABEL[shape].padEnd(28)} ${String(seen).padStart(6)} seen ${String(got).padStart(6)} interpreted${got === seen ? "" : ` (${seen - got} listed below)`}`);
136
+ }
110
137
  for (const g of l.unread) {
111
138
  lines.push(` ${g.uses} ${g.shape}${g.uses === 1 ? "" : "s"} in ${g.files} file${g.files === 1 ? "" : "s"} - ${g.because}`);
112
139
  for (const e of g.examples)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.133",
3
+ "version": "0.16.134",
4
4
  "description": "Bring SynthesisUI design systems into any project - tokens, typed components, whole pages and an agent-ready CLAUDE.md manifest.",
5
5
  "type": "module",
6
6
  "bin": {