@terrazzo/parser 0.5.0 → 0.6.0
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/CHANGELOG.md +31 -0
- package/dist/build/index.d.ts.map +1 -1
- package/dist/build/index.js +2 -4
- package/dist/build/index.js.map +1 -1
- package/dist/lint/plugin-core/rules/duplicate-values.js +1 -1
- package/dist/lint/plugin-core/rules/duplicate-values.js.map +1 -1
- package/dist/parse/alias.d.ts +29 -56
- package/dist/parse/alias.d.ts.map +1 -1
- package/dist/parse/alias.js +278 -223
- package/dist/parse/alias.js.map +1 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js +15 -59
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/normalize.d.ts.map +1 -1
- package/dist/parse/normalize.js +5 -1
- package/dist/parse/normalize.js.map +1 -1
- package/dist/parse/validate.d.ts +5 -0
- package/dist/parse/validate.d.ts.map +1 -1
- package/dist/parse/validate.js +12 -16
- package/dist/parse/validate.js.map +1 -1
- package/package.json +2 -2
- package/src/build/index.ts +2 -4
- package/src/lint/plugin-core/rules/duplicate-values.ts +1 -1
- package/src/parse/alias.ts +324 -257
- package/src/parse/index.ts +15 -60
- package/src/parse/normalize.ts +6 -1
- package/src/parse/validate.ts +12 -19
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# @terrazzo/parser
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - feat: ⚠️ Breaking change: aliasing to specific modes (`#` character) is deprecated. It was an experimental feature in Cobalt 1.0 with unpredictable behavior. In some upcoming spec changes it will be incompatible with advanced usecases.
|
|
8
|
+
|
|
9
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - fix: Improvements to mode aliasing and mode overrides. `typography` tokens only have to partially-declare overrides for modes, while keeping their core set. While this has been supported, behavior was buggy and sometimes was inconsistent.
|
|
10
|
+
|
|
11
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - ⚠️ Breaking change: cubicBezier tokens no longer support aliases as values, in line with the spec.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - fix: Improved handling of modes partially overriding object tokens (e.g. typography modes modifying a single value). In plugin-css, for instance, you may notice more output, but it’s done for safer style generation.
|
|
16
|
+
|
|
17
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - feat: Further improved reverse alias lookups to be more accurate and more complete
|
|
18
|
+
|
|
19
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - fix: Better error messages on alias mismatches
|
|
20
|
+
|
|
21
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - fix: [plugin-css] Font Family names without spaces no longer get quotes.
|
|
22
|
+
|
|
23
|
+
fix: Font Family tokens are always normalized to an array internally for easier parsing.
|
|
24
|
+
|
|
25
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - feat: @terrazzo/plugin-css now returns entire token for `variableName`. This is a minor breaking change from `variableName(name: string)` → `variableName(token: Token)`, but current users can just use `token.id` to get the same value as before.
|
|
26
|
+
|
|
27
|
+
⚠️ Minor internal breaking change as a result: `transformCSSValue()` in @terrazzo/token-tools now requires entire token️ to make this possible.
|
|
28
|
+
|
|
29
|
+
- [#425](https://github.com/terrazzoapp/terrazzo/pull/425) [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4) Thanks [@drwpow](https://github.com/drwpow)! - fix: ⚠️ [plugin-css] Minor breaking change: transition tokens no longer generate variables for sub-parts. This is a change done in service to better protect “allowed” token usage. If you want consumers to be able to “break apart” tokens, then they must also exist as individual tokens that get aliased.
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [[`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4), [`9a98ab0`](https://github.com/terrazzoapp/terrazzo/commit/9a98ab0441b518fa4bb0e5a40f6f5cde58764af4)]:
|
|
32
|
+
- @terrazzo/token-tools@0.6.0
|
|
33
|
+
|
|
3
34
|
## 0.5.0
|
|
4
35
|
|
|
5
36
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,MAAyB,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAqC,MAAM,aAAa,CAAC;AAEpG,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC;IACnE,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AA+BzC;;GAEG;AACH,wBAA8B,KAAK,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,EAAE,OAAO,EAAE,MAAqB,EAAE,MAAM,EAAE,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,MAAyB,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAqC,MAAM,aAAa,CAAC;AAEpG,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC;IACnE,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AA+BzC;;GAEG;AACH,wBAA8B,KAAK,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACvC,EAAE,OAAO,EAAE,MAAqB,EAAE,MAAM,EAAE,EAAE,kBAAkB,8BAsJ/D"}
|
package/dist/build/index.js
CHANGED
|
@@ -72,10 +72,8 @@ export default async function build(tokens, { sources, logger = new Logger(), co
|
|
|
72
72
|
const cleanValue = typeof params.value === 'string' ? params.value : { ...params.value };
|
|
73
73
|
if (typeof cleanValue === 'object') {
|
|
74
74
|
for (const k of Object.keys(cleanValue)) {
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
delete cleanValue[k];
|
|
78
|
-
}
|
|
75
|
+
if (cleanValue[k] === undefined) {
|
|
76
|
+
delete cleanValue[k];
|
|
79
77
|
}
|
|
80
78
|
}
|
|
81
79
|
}
|
package/dist/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ const rule = {
|
|
|
31
31
|
t.$type === 'number' ||
|
|
32
32
|
t.$type === 'string') {
|
|
33
33
|
// skip aliases (note: $value will be resolved)
|
|
34
|
-
if (isAlias(t.aliasOf)) {
|
|
34
|
+
if (typeof t.aliasOf === 'string' && isAlias(t.aliasOf)) {
|
|
35
35
|
continue;
|
|
36
36
|
}
|
|
37
37
|
if (values[t.$type]?.has(t.$value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplicate-values.js","sourceRoot":"","sources":["../../../../src/lint/plugin-core/rules/duplicate-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAOxD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,MAAM,IAAI,GAAsE;IAC9E,IAAI,EAAE;QACJ,QAAQ,EAAE;YACR,CAAC,qBAAqB,CAAC,EAAE,qCAAqC;SAC/D;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,mEAAmE;YAChF,GAAG,EAAE,QAAQ,CAAC,gBAAgB,CAAC;SAChC;KACF;IACD,cAAc,EAAE,EAAE;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAChC,MAAM,MAAM,GAA6B,EAAE,CAAC;QAE5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,sBAAsB;YACtB,IAAI,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;YAC9B,CAAC;YAED,wCAAwC;YACxC,IACE,CAAC,CAAC,KAAK,KAAK,SAAS;gBACrB,CAAC,CAAC,KAAK,KAAK,UAAU;gBACtB,CAAC,CAAC,KAAK,KAAK,YAAY;gBACxB,CAAC,CAAC,KAAK,KAAK,MAAM;gBAClB,CAAC,CAAC,KAAK,KAAK,QAAQ;gBACpB,CAAC,CAAC,KAAK,KAAK,QAAQ,EACpB,CAAC;gBACD,+CAA+C;gBAC/C,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"duplicate-values.js","sourceRoot":"","sources":["../../../../src/lint/plugin-core/rules/duplicate-values.ts"],"names":[],"mappings":"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"}
|
package/dist/parse/alias.d.ts
CHANGED
|
@@ -1,61 +1,34 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type TokenNormalized } from '@terrazzo/token-tools';
|
|
1
|
+
import type { ObjectNode } from '@humanwhocodes/momoa';
|
|
2
|
+
import { type TokenNormalized, type TokenNormalizedSet } from '@terrazzo/token-tools';
|
|
3
3
|
import type Logger from '../logger.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
color: string[];
|
|
17
|
-
position: string[];
|
|
18
|
-
};
|
|
19
|
-
strokeStyle: {
|
|
20
|
-
dashArray: string[];
|
|
21
|
-
};
|
|
22
|
-
transition: {
|
|
23
|
-
duration: string[];
|
|
24
|
-
delay: string[];
|
|
25
|
-
timingFunction: string[];
|
|
26
|
-
};
|
|
27
|
-
typography: {
|
|
28
|
-
fontFamily: string[];
|
|
29
|
-
fontSize: string[];
|
|
30
|
-
fontWeight: string[];
|
|
31
|
-
letterSpacing: string[];
|
|
32
|
-
lineHeight: string[];
|
|
33
|
-
};
|
|
4
|
+
export interface ApplyAliasOptions {
|
|
5
|
+
tokensSet: TokenNormalizedSet;
|
|
6
|
+
filename: URL;
|
|
7
|
+
src: string;
|
|
8
|
+
node: ObjectNode;
|
|
9
|
+
logger: Logger;
|
|
10
|
+
}
|
|
11
|
+
export type PreAliased<T extends TokenNormalized> = {
|
|
12
|
+
$value: T['$value'] | string;
|
|
13
|
+
mode: Record<string, T['mode'][string] & {
|
|
14
|
+
$value: T['$value'] | string;
|
|
15
|
+
}>;
|
|
34
16
|
};
|
|
35
17
|
/**
|
|
36
|
-
* Resolve
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
18
|
+
* Resolve aliases and update the token nodes.
|
|
19
|
+
*
|
|
20
|
+
* Data structures are in an awkward in-between phase, where they have
|
|
21
|
+
* placeholders for data but we still need to resolve everything. As such,
|
|
22
|
+
* TypeScript will raise errors expecting the final shape.
|
|
23
|
+
*
|
|
24
|
+
* This is also a bit tricky because different token types alias slightly
|
|
25
|
+
* differently. For example, color tokens and other “primitive” tokens behave
|
|
26
|
+
* as-expected. But composite tokens like Typography, Gradient, Border, etc. can
|
|
27
|
+
* either fully- or partially-alias their values. Then we add modes to the mix,
|
|
28
|
+
* and we have to do the work all over again for each mode declared.
|
|
29
|
+
*
|
|
30
|
+
* All that to say, there are a generous amount of TypeScript overrides here rather
|
|
31
|
+
* than try to codify indeterminate shapes.
|
|
40
32
|
*/
|
|
41
|
-
export
|
|
42
|
-
tokens: Record<string, TokenNormalized>;
|
|
43
|
-
logger: Logger;
|
|
44
|
-
filename?: URL;
|
|
45
|
-
src: string;
|
|
46
|
-
node: AnyNode;
|
|
47
|
-
scanned?: string[];
|
|
48
|
-
}): {
|
|
49
|
-
id: string;
|
|
50
|
-
chain: string[];
|
|
51
|
-
};
|
|
52
|
-
/** Resolve aliases, update values, and mutate `token` to add `aliasOf` / `partialAliasOf` */
|
|
53
|
-
export declare function applyAliases(token: TokenNormalized, { tokens, logger, filename, src, node, skipReverseAlias, }: {
|
|
54
|
-
tokens: Record<string, TokenNormalized>;
|
|
55
|
-
logger: Logger;
|
|
56
|
-
filename?: URL;
|
|
57
|
-
src: string;
|
|
58
|
-
node: AnyNode;
|
|
59
|
-
skipReverseAlias?: boolean;
|
|
60
|
-
}): void;
|
|
33
|
+
export default function applyAliases(token: TokenNormalized, options: ApplyAliasOptions): void;
|
|
61
34
|
//# sourceMappingURL=alias.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["../../src/parse/alias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["../../src/parse/alias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAKxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAGvC,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,eAAe,IAAI;IAClD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG;QAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CA4E7F"}
|