@terrazzo/parser 0.7.3 → 0.8.1

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/index.d.ts +705 -12
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +4603 -12
  5. package/dist/index.js.map +1 -1
  6. package/package.json +11 -7
  7. package/src/build/index.ts +8 -6
  8. package/src/index.ts +76 -1
  9. package/dist/build/index.d.ts +0 -20
  10. package/dist/build/index.d.ts.map +0 -1
  11. package/dist/build/index.js +0 -166
  12. package/dist/build/index.js.map +0 -1
  13. package/dist/config.d.ts +0 -8
  14. package/dist/config.d.ts.map +0 -1
  15. package/dist/config.js +0 -290
  16. package/dist/config.js.map +0 -1
  17. package/dist/lib/code-frame.d.ts +0 -31
  18. package/dist/lib/code-frame.d.ts.map +0 -1
  19. package/dist/lib/code-frame.js +0 -108
  20. package/dist/lib/code-frame.js.map +0 -1
  21. package/dist/lint/index.d.ts +0 -12
  22. package/dist/lint/index.d.ts.map +0 -1
  23. package/dist/lint/index.js +0 -105
  24. package/dist/lint/index.js.map +0 -1
  25. package/dist/lint/plugin-core/index.d.ts +0 -13
  26. package/dist/lint/plugin-core/index.d.ts.map +0 -1
  27. package/dist/lint/plugin-core/index.js +0 -40
  28. package/dist/lint/plugin-core/index.js.map +0 -1
  29. package/dist/lint/plugin-core/lib/docs.d.ts +0 -2
  30. package/dist/lint/plugin-core/lib/docs.d.ts.map +0 -1
  31. package/dist/lint/plugin-core/lib/docs.js +0 -4
  32. package/dist/lint/plugin-core/lib/docs.js.map +0 -1
  33. package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts +0 -40
  34. package/dist/lint/plugin-core/rules/a11y-min-contrast.d.ts.map +0 -1
  35. package/dist/lint/plugin-core/rules/a11y-min-contrast.js +0 -58
  36. package/dist/lint/plugin-core/rules/a11y-min-contrast.js.map +0 -1
  37. package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts +0 -14
  38. package/dist/lint/plugin-core/rules/a11y-min-font-size.d.ts.map +0 -1
  39. package/dist/lint/plugin-core/rules/a11y-min-font-size.js +0 -45
  40. package/dist/lint/plugin-core/rules/a11y-min-font-size.js.map +0 -1
  41. package/dist/lint/plugin-core/rules/colorspace.d.ts +0 -15
  42. package/dist/lint/plugin-core/rules/colorspace.d.ts.map +0 -1
  43. package/dist/lint/plugin-core/rules/colorspace.js +0 -85
  44. package/dist/lint/plugin-core/rules/colorspace.js.map +0 -1
  45. package/dist/lint/plugin-core/rules/consistent-naming.d.ts +0 -12
  46. package/dist/lint/plugin-core/rules/consistent-naming.d.ts.map +0 -1
  47. package/dist/lint/plugin-core/rules/consistent-naming.js +0 -49
  48. package/dist/lint/plugin-core/rules/consistent-naming.js.map +0 -1
  49. package/dist/lint/plugin-core/rules/descriptions.d.ts +0 -10
  50. package/dist/lint/plugin-core/rules/descriptions.d.ts.map +0 -1
  51. package/dist/lint/plugin-core/rules/descriptions.js +0 -32
  52. package/dist/lint/plugin-core/rules/descriptions.js.map +0 -1
  53. package/dist/lint/plugin-core/rules/duplicate-values.d.ts +0 -10
  54. package/dist/lint/plugin-core/rules/duplicate-values.d.ts.map +0 -1
  55. package/dist/lint/plugin-core/rules/duplicate-values.js +0 -65
  56. package/dist/lint/plugin-core/rules/duplicate-values.js.map +0 -1
  57. package/dist/lint/plugin-core/rules/max-gamut.d.ts +0 -15
  58. package/dist/lint/plugin-core/rules/max-gamut.d.ts.map +0 -1
  59. package/dist/lint/plugin-core/rules/max-gamut.js +0 -101
  60. package/dist/lint/plugin-core/rules/max-gamut.js.map +0 -1
  61. package/dist/lint/plugin-core/rules/required-children.d.ts +0 -19
  62. package/dist/lint/plugin-core/rules/required-children.d.ts.map +0 -1
  63. package/dist/lint/plugin-core/rules/required-children.js +0 -78
  64. package/dist/lint/plugin-core/rules/required-children.js.map +0 -1
  65. package/dist/lint/plugin-core/rules/required-modes.d.ts +0 -14
  66. package/dist/lint/plugin-core/rules/required-modes.d.ts.map +0 -1
  67. package/dist/lint/plugin-core/rules/required-modes.js +0 -52
  68. package/dist/lint/plugin-core/rules/required-modes.js.map +0 -1
  69. package/dist/lint/plugin-core/rules/required-typography-properties.d.ts +0 -11
  70. package/dist/lint/plugin-core/rules/required-typography-properties.d.ts.map +0 -1
  71. package/dist/lint/plugin-core/rules/required-typography-properties.js +0 -38
  72. package/dist/lint/plugin-core/rules/required-typography-properties.js.map +0 -1
  73. package/dist/logger.d.ts +0 -77
  74. package/dist/logger.d.ts.map +0 -1
  75. package/dist/logger.js +0 -136
  76. package/dist/logger.js.map +0 -1
  77. package/dist/parse/alias.d.ts +0 -34
  78. package/dist/parse/alias.d.ts.map +0 -1
  79. package/dist/parse/alias.js +0 -302
  80. package/dist/parse/alias.js.map +0 -1
  81. package/dist/parse/index.d.ts +0 -41
  82. package/dist/parse/index.d.ts.map +0 -1
  83. package/dist/parse/index.js +0 -273
  84. package/dist/parse/index.js.map +0 -1
  85. package/dist/parse/json.d.ts +0 -52
  86. package/dist/parse/json.d.ts.map +0 -1
  87. package/dist/parse/json.js +0 -168
  88. package/dist/parse/json.js.map +0 -1
  89. package/dist/parse/normalize.d.ts +0 -24
  90. package/dist/parse/normalize.d.ts.map +0 -1
  91. package/dist/parse/normalize.js +0 -176
  92. package/dist/parse/normalize.js.map +0 -1
  93. package/dist/parse/validate.d.ts +0 -90
  94. package/dist/parse/validate.d.ts.map +0 -1
  95. package/dist/parse/validate.js +0 -787
  96. package/dist/parse/validate.js.map +0 -1
  97. package/dist/types.d.ts +0 -265
  98. package/dist/types.d.ts.map +0 -1
  99. package/dist/types.js +0 -2
  100. package/dist/types.js.map +0 -1
@@ -1,176 +0,0 @@
1
- import { isAlias, parseColor, } from '@terrazzo/token-tools';
2
- export const FONT_WEIGHT_MAP = {
3
- thin: 100,
4
- hairline: 100,
5
- 'extra-light': 200,
6
- 'ultra-light': 200,
7
- light: 300,
8
- normal: 400,
9
- regular: 400,
10
- book: 400,
11
- medium: 500,
12
- 'semi-bold': 600,
13
- 'demi-bold': 600,
14
- bold: 700,
15
- 'extra-bold': 800,
16
- 'ultra-bold': 800,
17
- black: 900,
18
- heavy: 900,
19
- 'extra-black': 950,
20
- 'ultra-black': 950,
21
- };
22
- const NUMBER_WITH_UNIT_RE = /(-?\d*\.?\d+)(.*)/;
23
- /** Fill in defaults, and return predictable shapes for tokens */
24
- export default function normalizeValue(token) {
25
- if (typeof token.$value === 'string' && isAlias(token.$value)) {
26
- return token.$value;
27
- }
28
- switch (token.$type) {
29
- case 'boolean': {
30
- return !!token.$value;
31
- }
32
- case 'border': {
33
- if (typeof token.$value === 'string') {
34
- return token.$value;
35
- }
36
- return {
37
- color: normalizeValue({ $type: 'color', $value: token.$value.color ?? '#000000' }),
38
- style: normalizeValue({ $type: 'strokeStyle', $value: token.$value.style ?? 'solid' }),
39
- width: normalizeValue({ $type: 'dimension', $value: token.$value.width }),
40
- };
41
- }
42
- case 'color': {
43
- if (typeof token.$value === 'string') {
44
- return parseColor(token.$value);
45
- }
46
- const newValue = {
47
- colorSpace: token.$value.colorSpace,
48
- components: token.$value.components ?? token.$value.channels,
49
- alpha: token.$value.alpha ?? 1,
50
- };
51
- if ('hex' in token.$value) {
52
- newValue.hex = token.$value.hex;
53
- }
54
- return newValue;
55
- }
56
- case 'cubicBezier': {
57
- if (typeof token.$value === 'string') {
58
- return token.$value;
59
- }
60
- return token.$value.map((value) => typeof value === 'number' ? normalizeValue({ $type: 'number', $value: value }) : value);
61
- }
62
- case 'dimension': {
63
- if (token.$value === 0) {
64
- return { value: 0, unit: 'px' };
65
- }
66
- // Backwards compat: handle string
67
- if (typeof token.$value === 'string') {
68
- const match = token.$value.match(NUMBER_WITH_UNIT_RE);
69
- return { value: Number.parseFloat(match?.[1] || token.$value), unit: match?.[2] || 'px' };
70
- }
71
- return token.$value;
72
- }
73
- case 'duration': {
74
- if (token.$value === 0) {
75
- return { value: 0, unit: 'ms' };
76
- }
77
- // Backwards compat: handle string
78
- if (typeof token.$value === 'string') {
79
- const match = token.$value.match(NUMBER_WITH_UNIT_RE);
80
- return { value: Number.parseFloat(match?.[1] || token.$value), unit: match?.[2] || 'ms' };
81
- }
82
- return token.$value;
83
- }
84
- case 'fontFamily': {
85
- return Array.isArray(token.$value) ? token.$value : [token.$value];
86
- }
87
- case 'fontWeight': {
88
- if (typeof token.$value === 'string' && FONT_WEIGHT_MAP[token.$value]) {
89
- return FONT_WEIGHT_MAP[token.$value];
90
- }
91
- return Math.min(999, Math.max(1, typeof token.$value === 'string' ? Number.parseInt(token.$value) : token.$value));
92
- }
93
- case 'gradient': {
94
- if (typeof token.$value === 'string') {
95
- return token.$value;
96
- }
97
- const output = [];
98
- for (let i = 0; i < token.$value.length; i++) {
99
- const stop = structuredClone(token.$value[i]);
100
- stop.color = normalizeValue({ $type: 'color', $value: stop.color });
101
- if (stop.position === undefined) {
102
- stop.position = i / (token.$value.length - 1);
103
- }
104
- output.push(stop);
105
- }
106
- return output;
107
- }
108
- case 'number': {
109
- return typeof token.$value === 'number' ? token.$value : Number.parseFloat(token.$value);
110
- }
111
- case 'shadow': {
112
- if (typeof token.$value === 'string') {
113
- return token.$value;
114
- }
115
- return (Array.isArray(token.$value) ? token.$value : [token.$value]).map((layer) => ({
116
- color: normalizeValue({ $type: 'color', $value: layer.color }),
117
- offsetX: normalizeValue({ $type: 'dimension', $value: layer.offsetX ?? { value: 0, unit: 'px' } }),
118
- offsetY: normalizeValue({ $type: 'dimension', $value: layer.offsetY ?? { value: 0, unit: 'px' } }),
119
- blur: normalizeValue({ $type: 'dimension', $value: layer.blur ?? { value: 0, unit: 'px' } }),
120
- spread: normalizeValue({ $type: 'dimension', $value: layer.spread ?? { value: 0, unit: 'px' } }),
121
- inset: layer.inset === true,
122
- }));
123
- }
124
- case 'strokeStyle': {
125
- return token.$value;
126
- }
127
- case 'string': {
128
- return String(token.$value);
129
- }
130
- case 'transition': {
131
- if (typeof token.$value === 'string') {
132
- return token.$value;
133
- }
134
- return {
135
- duration: normalizeValue({ $type: 'duration', $value: token.$value.duration ?? 0 }),
136
- delay: normalizeValue({ $type: 'duration', $value: token.$value.delay ?? 0 }),
137
- timingFunction: normalizeValue({ $type: 'cubicBezier', $value: token.$value.timingFunction }),
138
- };
139
- }
140
- case 'typography': {
141
- if (typeof token.$value === 'string') {
142
- return token.$value;
143
- }
144
- const output = {};
145
- for (const [k, $value] of Object.entries(token.$value)) {
146
- switch (k) {
147
- case 'fontFamily': {
148
- output[k] = normalizeValue({ $type: 'fontFamily', $value: $value });
149
- break;
150
- }
151
- case 'fontSize':
152
- case 'letterSpacing': {
153
- output[k] = normalizeValue({ $type: 'dimension', $value: $value });
154
- break;
155
- }
156
- case 'lineHeight': {
157
- output[k] = normalizeValue({
158
- $type: typeof token.$value === 'number' ? 'number' : 'dimension',
159
- $value: $value,
160
- });
161
- break;
162
- }
163
- default: {
164
- output[k] = $value;
165
- break;
166
- }
167
- }
168
- }
169
- return output;
170
- }
171
- default: {
172
- return token.$value;
173
- }
174
- }
175
- }
176
- //# sourceMappingURL=normalize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/parse/normalize.ts"],"names":[],"mappings":"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"}
@@ -1,90 +0,0 @@
1
- import { type AnyNode, type MemberNode, type ValueNode } from '@humanwhocodes/momoa';
2
- import { type TokenNormalized } from '@terrazzo/token-tools';
3
- import type Logger from '../logger.js';
4
- import type { ConfigInit } from '../types.js';
5
- export interface ValidateOptions {
6
- filename?: URL;
7
- src: string;
8
- logger: Logger;
9
- }
10
- export interface Visitors {
11
- color?: Visitor;
12
- dimension?: Visitor;
13
- fontFamily?: Visitor;
14
- fontWeight?: Visitor;
15
- duration?: Visitor;
16
- cubicBezier?: Visitor;
17
- number?: Visitor;
18
- link?: Visitor;
19
- boolean?: Visitor;
20
- strokeStyle?: Visitor;
21
- border?: Visitor;
22
- transition?: Visitor;
23
- shadow?: Visitor;
24
- gradient?: Visitor;
25
- typography?: Visitor;
26
- root?: Visitor;
27
- group?: Visitor;
28
- [key: string]: Visitor | undefined;
29
- }
30
- export type Visitor = (json: any, path: string, ast: AnyNode) => any | undefined | null;
31
- export declare const VALID_COLORSPACES: Set<string>;
32
- export declare const FONT_WEIGHT_VALUES: Set<string>;
33
- export declare const STROKE_STYLE_VALUES: Set<string>;
34
- export declare const STROKE_STYLE_LINE_CAP_VALUES: Set<string>;
35
- /** Verify an Alias $value is formatted correctly */
36
- export declare function validateAliasSyntax($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
37
- /** Verify a Border token is valid */
38
- export declare function validateBorder($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void;
39
- /** Verify a Color token is valid */
40
- export declare function validateColor($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void;
41
- /** Verify a Cubic Bézier token is valid */
42
- export declare function validateCubicBezier($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
43
- /** Verify a Dimension token is valid */
44
- export declare function validateDimension($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
45
- /** Verify a Duration token is valid */
46
- export declare function validateDuration($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
47
- /** Verify a Font Family token is valid */
48
- export declare function validateFontFamily($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
49
- /** Verify a Font Weight token is valid */
50
- export declare function validateFontWeight($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
51
- /** Verify a Gradient token is valid */
52
- export declare function validateGradient($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
53
- /** Verify a Number token is valid */
54
- export declare function validateNumber($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
55
- /** Verify a Boolean token is valid */
56
- export declare function validateBoolean($value: ValueNode, _node: AnyNode, { filename, src, logger }: ValidateOptions): void;
57
- /** Verify a Shadow token’s value is valid */
58
- export declare function validateShadowLayer($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void;
59
- /** Verify a Stroke Style token is valid. */
60
- export declare function validateStrokeStyle($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void;
61
- /** Verify a Transition token is valid */
62
- export declare function validateTransition($value: ValueNode, node: AnyNode, { filename, src, logger }: ValidateOptions): void;
63
- /**
64
- * Validate a MemberNode (the entire token object, plus its key in the parent
65
- * object) to see if it’s a valid DTCG token or not. Keeping the parent key
66
- * really helps in debug messages.
67
- */
68
- export declare function validateTokenMemberNode(node: MemberNode, { filename, src, logger }: ValidateOptions): void;
69
- /** Return any token node with its inherited $type */
70
- export declare function getInheritedType(node: MemberNode, { subpath, $typeInheritance }: {
71
- subpath: string[];
72
- $typeInheritance?: Record<string, MemberNode>;
73
- }): MemberNode | undefined;
74
- export interface ValidateTokenNodeOptions {
75
- subpath: string[];
76
- src: string;
77
- filename: URL;
78
- config: ConfigInit;
79
- logger: Logger;
80
- parent: AnyNode | undefined;
81
- transform?: Visitors;
82
- inheritedTypeNode?: MemberNode;
83
- }
84
- /**
85
- * Validate does a little more than validate; it also converts to TokenNormalized
86
- * and sets up the basic data structure. But aliases are unresolved, and we need
87
- * a 2nd normalization pass afterward.
88
- */
89
- export default function validateTokenNode(node: MemberNode, { config, filename, logger, parent, inheritedTypeNode, src, subpath }: ValidateTokenNodeOptions): TokenNormalized | undefined;
90
- //# sourceMappingURL=validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/parse/validate.ts"],"names":[],"mappings":"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"}