@terrazzo/parser 0.7.1 → 0.7.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/CHANGELOG.md +18 -0
- package/README.md +35 -2
- package/dist/build/index.js +1 -1
- package/dist/build/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +4 -2
- package/dist/logger.js.map +1 -1
- package/dist/parse/index.d.ts +7 -2
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js +60 -13
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/json.d.ts +8 -8
- package/dist/parse/json.d.ts.map +1 -1
- package/dist/parse/json.js +29 -22
- package/dist/parse/json.js.map +1 -1
- package/dist/parse/normalize.d.ts.map +1 -1
- package/dist/parse/normalize.js +4 -13
- package/dist/parse/normalize.js.map +1 -1
- package/dist/parse/validate.d.ts +31 -4
- package/dist/parse/validate.d.ts.map +1 -1
- package/dist/parse/validate.js +44 -55
- package/dist/parse/validate.js.map +1 -1
- package/package.json +3 -3
- package/src/logger.ts +4 -2
- package/src/parse/index.ts +72 -13
- package/src/parse/json.ts +35 -29
- package/src/parse/normalize.ts +4 -14
- package/src/parse/validate.ts +81 -68
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @terrazzo/parser
|
|
2
2
|
|
|
3
|
+
## 0.7.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#485](https://github.com/terrazzoapp/terrazzo/pull/485) [`84335da`](https://github.com/terrazzoapp/terrazzo/commit/84335da86adbe4cf112b91d8d9bfa1301c5492d4) Thanks [@drwpow](https://github.com/drwpow)! - Add transform API to allow dynamic parsing / transformation of tokens on load
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`84335da`](https://github.com/terrazzoapp/terrazzo/commit/84335da86adbe4cf112b91d8d9bfa1301c5492d4)]:
|
|
10
|
+
- @terrazzo/token-tools@0.7.4
|
|
11
|
+
|
|
12
|
+
## 0.7.2
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [#482](https://github.com/terrazzoapp/terrazzo/pull/482) [`abc14c4`](https://github.com/terrazzoapp/terrazzo/commit/abc14c4f59f21a1c7d05d613dacdebcd9d512838) Thanks [@drwpow](https://github.com/drwpow)! - Fix documentation links
|
|
17
|
+
|
|
18
|
+
- Updated dependencies [[`abc14c4`](https://github.com/terrazzoapp/terrazzo/commit/abc14c4f59f21a1c7d05d613dacdebcd9d512838)]:
|
|
19
|
+
- @terrazzo/token-tools@0.7.3
|
|
20
|
+
|
|
3
21
|
## 0.7.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# ⛋ @terrazzo/parser
|
|
2
2
|
|
|
3
|
-
JS API
|
|
3
|
+
The JS API is a lower-level API than the [CLI](../cli/) that can be used to build Design Token systems. The JS API runs anywhere JavaScript does, including in Node.js, the browser, and serverless functions.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Basic Usage
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm i -D @terrazzo/parser
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
And here’s a basic example showing `config`, `parse`, and `build` steps:
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
import { defineConfig, parse, build } from "@terrazzo/parser";
|
|
15
|
+
|
|
16
|
+
const config = defineConfig(
|
|
17
|
+
{
|
|
18
|
+
// config options
|
|
19
|
+
},
|
|
20
|
+
{ cwd: new URL(import.meta.url) }
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
const rawTokens = "(any JSON or YAML)";
|
|
24
|
+
const { tokens, sources } = await parse(
|
|
25
|
+
[{ filename: new URL("file:///tokens.json"), src: rawTokens }],
|
|
26
|
+
{ config }
|
|
27
|
+
);
|
|
28
|
+
const buildResult = await build(tokens, { sources, config });
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
It’s worth noting the JS API is a little more manual work than the [CLI](../cli/):
|
|
32
|
+
|
|
33
|
+
- `parse()` and `build()` are distinct steps that each do some of the work.
|
|
34
|
+
- `defineConfig()` needs a <abbr title="Current Working Directory">cwd</abbr> so it can resolve files (this can even be a remote URL, so long as it’s a URL())
|
|
35
|
+
- The AST generated from `parse()` must get passed into `build()` so the error messages can point to the right lines in the source file.
|
|
36
|
+
- The `build()` step only returns a final array of `outputFiles`in memory but doesn’t write them to disk. It’s up to you to write them to disk, upload them somewhere, etc.
|
|
37
|
+
|
|
38
|
+
[Full documentation](https://terrazzo.app/docs/cli/api/js/)
|
package/dist/build/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isTokenMatch } from '@terrazzo/token-tools';
|
|
2
2
|
import wcmatch from 'wildcard-match';
|
|
3
|
-
import Logger from '../logger.js';
|
|
3
|
+
import Logger, {} from '../logger.js';
|
|
4
4
|
export const SINGLE_VALUE = 'SINGLE_VALUE';
|
|
5
5
|
export const MULTI_VALUE = 'MULTI_VALUE';
|
|
6
6
|
/** Validate plugin setTransform() calls for immediate feedback */
|
package/dist/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKpD,eAAO,MAAM,SAAS,6CAA8C,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1E,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,UAgBnE;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,KAAK,EAAa,QAAQ,CAAC;IAC3B,UAAU,SAAO;IACjB,UAAU,SAAK;IACf,SAAS,SAAK;IACd,SAAS,SAAK;IACd,UAAU,SAAK;gBAEH,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAS/D,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAIxB,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKpD,eAAO,MAAM,SAAS,6CAA8C,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1E,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,UAgBnE;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,KAAK,EAAa,QAAQ,CAAC;IAC3B,UAAU,SAAO;IACjB,UAAU,SAAK;IACf,SAAS,SAAK;IACd,SAAS,SAAK;IACd,UAAU,SAAK;gBAEH,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAS/D,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAIxB,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,QAAQ;IAerB,qDAAqD;IACrD,IAAI,CAAC,KAAK,EAAE,QAAQ;IAUpB,uDAAuD;IACvD,IAAI,CAAC,KAAK,EAAE,QAAQ;IAUpB,2DAA2D;IAC3D,KAAK,CAAC,KAAK,EAAE,UAAU;IAmCvB,4CAA4C;IAC5C,KAAK;;;;;;CAQN;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/logger.js
CHANGED
|
@@ -55,6 +55,7 @@ export default class Logger {
|
|
|
55
55
|
this.errorCount++;
|
|
56
56
|
const message = formatMessage(entry, 'error');
|
|
57
57
|
if (entry.continueOnError) {
|
|
58
|
+
// biome-ignore lint/suspicious/noConsole: this is a logger
|
|
58
59
|
console.error(message);
|
|
59
60
|
return;
|
|
60
61
|
}
|
|
@@ -72,7 +73,7 @@ export default class Logger {
|
|
|
72
73
|
return;
|
|
73
74
|
}
|
|
74
75
|
const message = formatMessage(entry, 'info');
|
|
75
|
-
// biome-ignore lint/suspicious/
|
|
76
|
+
// biome-ignore lint/suspicious/noConsole: this is a logger
|
|
76
77
|
console.log(message);
|
|
77
78
|
}
|
|
78
79
|
/** Log a warning message (if logging level permits) */
|
|
@@ -82,6 +83,7 @@ export default class Logger {
|
|
|
82
83
|
return;
|
|
83
84
|
}
|
|
84
85
|
const message = formatMessage(entry, 'warn');
|
|
86
|
+
// biome-ignore lint/suspicious/noConsole: this is a logger
|
|
85
87
|
console.warn(message);
|
|
86
88
|
}
|
|
87
89
|
/** Log a diagnostics message (if logging level permits) */
|
|
@@ -112,7 +114,7 @@ export default class Logger {
|
|
|
112
114
|
}
|
|
113
115
|
message = `${message} ${pc.dim(`[${timing}]`)}`;
|
|
114
116
|
}
|
|
115
|
-
// biome-ignore lint/suspicious/
|
|
117
|
+
// biome-ignore lint/suspicious/noConsole: this is a logger
|
|
116
118
|
console.log(message);
|
|
117
119
|
}
|
|
118
120
|
/** Get stats for current logger instance */
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/parse/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type ytm from 'yaml-to-momoa';
|
|
|
3
3
|
import Logger from '../logger.js';
|
|
4
4
|
import type { ConfigInit, InputSource } from '../types.js';
|
|
5
5
|
import normalize from './normalize.js';
|
|
6
|
-
import validateTokenNode from './validate.js';
|
|
6
|
+
import validateTokenNode, { type Visitors } from './validate.js';
|
|
7
7
|
export * from './alias.js';
|
|
8
8
|
export * from './normalize.js';
|
|
9
9
|
export * from './json.js';
|
|
@@ -24,6 +24,11 @@ export interface ParseOptions {
|
|
|
24
24
|
continueOnError?: boolean;
|
|
25
25
|
/** Provide yamlToMomoa module to parse YAML (by default, this isn’t shipped to cut down on package weight) */
|
|
26
26
|
yamlToMomoa?: typeof ytm;
|
|
27
|
+
/**
|
|
28
|
+
* Transform API
|
|
29
|
+
* @see https://terrazzo.app/docs/api/js#transform-api
|
|
30
|
+
*/
|
|
31
|
+
transform?: Visitors;
|
|
27
32
|
/** (internal cache; do not use) */
|
|
28
33
|
_sources?: Record<string, InputSource>;
|
|
29
34
|
}
|
|
@@ -32,5 +37,5 @@ export interface ParseResult {
|
|
|
32
37
|
sources: InputSource[];
|
|
33
38
|
}
|
|
34
39
|
/** Parse */
|
|
35
|
-
export default function parse(_input: Omit<InputSource, 'document'> | Omit<InputSource, 'document'>[], { logger, skipLint, config, continueOnError, yamlToMomoa, _sources, }?: ParseOptions): Promise<ParseResult>;
|
|
40
|
+
export default function parse(_input: Omit<InputSource, 'document'> | Omit<InputSource, 'document'>[], { logger, skipLint, config, continueOnError, yamlToMomoa, transform, _sources, }?: ParseOptions): Promise<ParseResult>;
|
|
36
41
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,iBAAiB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,eAAe,EAAsB,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAErC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,iBAAiB,EAAE,EAAE,KAAK,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAEnF,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8GAA8G;IAC9G,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,YAAY;AACZ,wBAA8B,KAAK,CACjC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EACvE,EACE,MAAqB,EACrB,QAAgB,EAChB,MAAyB,EACzB,eAAuB,EACvB,WAAW,EACX,SAAS,EACT,QAAa,GACd,GAAE,YAAiC,GACnC,OAAO,CAAC,WAAW,CAAC,CA0GtB"}
|
package/dist/parse/index.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
import { evaluate } from '@humanwhocodes/momoa';
|
|
1
2
|
import { pluralize, splitID } from '@terrazzo/token-tools';
|
|
2
3
|
import lintRunner from '../lint/index.js';
|
|
3
4
|
import Logger from '../logger.js';
|
|
4
5
|
import applyAliases from './alias.js';
|
|
5
|
-
import { getObjMembers, toMomoa, traverse } from './json.js';
|
|
6
|
+
import { getObjMembers, parseJSON, replaceObjMembers, toMomoa, traverse } from './json.js';
|
|
6
7
|
import normalize from './normalize.js';
|
|
7
|
-
import validateTokenNode from './validate.js';
|
|
8
|
+
import validateTokenNode, { getInheritedType } from './validate.js';
|
|
8
9
|
export * from './alias.js';
|
|
9
10
|
export * from './normalize.js';
|
|
10
11
|
export * from './json.js';
|
|
11
12
|
export * from './validate.js';
|
|
12
13
|
export { normalize, validateTokenNode };
|
|
13
14
|
/** Parse */
|
|
14
|
-
export default async function parse(_input, { logger = new Logger(), skipLint = false, config = {}, continueOnError = false, yamlToMomoa, _sources = {}, } = {}) {
|
|
15
|
+
export default async function parse(_input, { logger = new Logger(), skipLint = false, config = {}, continueOnError = false, yamlToMomoa, transform, _sources = {}, } = {}) {
|
|
15
16
|
const input = Array.isArray(_input) ? _input : [_input];
|
|
16
17
|
let tokensSet = {};
|
|
17
18
|
if (!Array.isArray(input)) {
|
|
@@ -48,6 +49,7 @@ export default async function parse(_input, { logger = new Logger(), skipLint =
|
|
|
48
49
|
skipLint,
|
|
49
50
|
continueOnError,
|
|
50
51
|
yamlToMomoa,
|
|
52
|
+
transform,
|
|
51
53
|
});
|
|
52
54
|
tokensSet = Object.assign(tokensSet, result.tokens);
|
|
53
55
|
if (src.filename) {
|
|
@@ -108,11 +110,11 @@ export default async function parse(_input, { logger = new Logger(), skipLint =
|
|
|
108
110
|
};
|
|
109
111
|
}
|
|
110
112
|
/** Parse a single input */
|
|
111
|
-
async function parseSingle(input, { filename, logger, config, skipLint, continueOnError = false, yamlToMomoa, // optional dependency, declared here so the parser itself doesn’t have to load a heavy dep in-browser
|
|
113
|
+
async function parseSingle(input, { filename, logger, config, skipLint, continueOnError = false, transform, yamlToMomoa, // optional dependency, declared here so the parser itself doesn’t have to load a heavy dep in-browser
|
|
112
114
|
}) {
|
|
113
115
|
// 1. Build AST
|
|
114
116
|
const startParsing = performance.now();
|
|
115
|
-
|
|
117
|
+
let { src, document } = toMomoa(input, { filename, logger, continueOnError, yamlToMomoa });
|
|
116
118
|
logger.debug({
|
|
117
119
|
group: 'parser',
|
|
118
120
|
label: 'json',
|
|
@@ -120,6 +122,16 @@ async function parseSingle(input, { filename, logger, config, skipLint, continue
|
|
|
120
122
|
timing: performance.now() - startParsing,
|
|
121
123
|
});
|
|
122
124
|
const tokensSet = {};
|
|
125
|
+
// 1a. if there’s a root() transformer, then re-parse
|
|
126
|
+
if (transform?.root) {
|
|
127
|
+
const json = typeof input === 'string' ? JSON.parse(input) : input;
|
|
128
|
+
const result = transform?.root(json, '.', document);
|
|
129
|
+
if (result) {
|
|
130
|
+
const reRunResult = toMomoa(result, { filename, logger, continueOnError /* YAML not needed in transform() */ });
|
|
131
|
+
src = reRunResult.src;
|
|
132
|
+
document = reRunResult.document;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
123
135
|
// 2. Walk AST to validate tokens
|
|
124
136
|
let tokenCount = 0;
|
|
125
137
|
const startValidate = performance.now();
|
|
@@ -128,18 +140,53 @@ async function parseSingle(input, { filename, logger, config, skipLint, continue
|
|
|
128
140
|
enter(node, parent, subpath) {
|
|
129
141
|
// if $type appears at root of tokens.json, collect it
|
|
130
142
|
if (node.type === 'Document' && node.body.type === 'Object' && node.body.members) {
|
|
131
|
-
const members =
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
143
|
+
const { members: rootMembers } = node.body;
|
|
144
|
+
const root$type = rootMembers.find((m) => m.name.type === 'String' && m.name.value === '$type');
|
|
145
|
+
const root$value = rootMembers.find((m) => m.name.type === 'String' && m.name.value === '$value');
|
|
146
|
+
if (root$type && !root$value) {
|
|
147
|
+
$typeInheritance['.'] = root$type;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// for transform() visitors, all non-tokens MUST be handled at this point (besides "root", which was handled above)
|
|
151
|
+
if (node.type === 'Object' && // JSON object
|
|
152
|
+
subpath.length &&
|
|
153
|
+
!node.members.some((m) => m.name.type === 'String' && m.name.value === '$value') && // not the token node itself
|
|
154
|
+
!subpath.includes('$value') && // not a child of a token node, either
|
|
155
|
+
!subpath.includes('$extensions') // not metadata
|
|
156
|
+
) {
|
|
157
|
+
if (transform?.group) {
|
|
158
|
+
const newJSON = transform?.group(evaluate(node), subpath.join('.'), node);
|
|
159
|
+
if (newJSON) {
|
|
160
|
+
replaceObjMembers(node, parseJSON(newJSON));
|
|
161
|
+
}
|
|
135
162
|
}
|
|
136
163
|
}
|
|
137
164
|
// handle tokens
|
|
138
165
|
if (node.type === 'Member') {
|
|
139
|
-
const
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
|
|
166
|
+
const inheritedTypeNode = getInheritedType(node, { subpath, $typeInheritance });
|
|
167
|
+
if (node.value.type === 'Object') {
|
|
168
|
+
const $type = node.value.members.find((m) => m.name.type === 'String' && m.name.value === '$type') || inheritedTypeNode;
|
|
169
|
+
const $value = node.value.members.find((m) => m.name.type === 'String' && m.name.value === '$value');
|
|
170
|
+
if ($value && $type?.value.type === 'String' && transform?.[$type.value.value]) {
|
|
171
|
+
const result = transform[$type.value.value]?.(evaluate(node.value), subpath.join('.'), node);
|
|
172
|
+
if (result) {
|
|
173
|
+
node.value = parseJSON(result).body;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const token = validateTokenNode(node, {
|
|
177
|
+
filename,
|
|
178
|
+
src,
|
|
179
|
+
config,
|
|
180
|
+
logger,
|
|
181
|
+
parent,
|
|
182
|
+
subpath,
|
|
183
|
+
transform,
|
|
184
|
+
inheritedTypeNode,
|
|
185
|
+
});
|
|
186
|
+
if (token) {
|
|
187
|
+
tokensSet[token.id] = token;
|
|
188
|
+
tokenCount++;
|
|
189
|
+
}
|
|
143
190
|
}
|
|
144
191
|
}
|
|
145
192
|
},
|
package/dist/parse/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parse/index.ts"],"names":[],"mappings":"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"}
|
package/dist/parse/json.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type AnyNode, type MemberNode, type ObjectNode, type ValueNode } from '@humanwhocodes/momoa';
|
|
1
|
+
import { type AnyNode, type DocumentNode, type MemberNode, type ObjectNode, type ParseOptions, type ValueNode } from '@humanwhocodes/momoa';
|
|
2
2
|
import type yamlToMomoa from 'yaml-to-momoa';
|
|
3
3
|
import type Logger from '../logger.js';
|
|
4
4
|
import type { InputSource } from '../types.js';
|
|
5
|
-
export interface
|
|
5
|
+
export interface JSONVisitor {
|
|
6
6
|
enter?: (node: AnyNode, parent: AnyNode | undefined, path: string[]) => void;
|
|
7
7
|
exit?: (node: AnyNode, parent: AnyNode | undefined, path: string[]) => void;
|
|
8
8
|
}
|
|
@@ -27,17 +27,15 @@ export type ValueNodeWithIndex = ValueNode & {
|
|
|
27
27
|
};
|
|
28
28
|
/** Get ObjectNode members as object */
|
|
29
29
|
export declare function getObjMembers(node: ObjectNode): Record<string | number, ValueNodeWithIndex>;
|
|
30
|
-
/**
|
|
31
|
-
* Inject members to ObjectNode
|
|
32
|
-
* @param {ObjectNode} node
|
|
33
|
-
* @param {MemberNode[]} members
|
|
34
|
-
*/
|
|
30
|
+
/** Inject members to ObjectNode */
|
|
35
31
|
export declare function injectObjMembers(node: ObjectNode, members?: MemberNode[]): void;
|
|
32
|
+
/** Replace an ObjectNode’s contents outright with another */
|
|
33
|
+
export declare function replaceObjMembers(a: ObjectNode, b: DocumentNode | ObjectNode): void;
|
|
36
34
|
/**
|
|
37
35
|
* Variation of Momoa’s traverse(), which keeps track of global path.
|
|
38
36
|
* Allows mutation of AST (along with any consequences)
|
|
39
37
|
*/
|
|
40
|
-
export declare function traverse(root: AnyNode, visitor:
|
|
38
|
+
export declare function traverse(root: AnyNode, visitor: JSONVisitor): void;
|
|
41
39
|
/** Determine if an input is likely a JSON string */
|
|
42
40
|
export declare function maybeRawJSON(input: string): boolean;
|
|
43
41
|
/** Find Momoa node by traversing paths */
|
|
@@ -49,4 +47,6 @@ export interface ToMomoaOptions {
|
|
|
49
47
|
yamlToMomoa?: typeof yamlToMomoa;
|
|
50
48
|
}
|
|
51
49
|
export declare function toMomoa(input: string | Record<string, any>, { continueOnError, filename, logger, yamlToMomoa }: ToMomoaOptions): InputSource;
|
|
50
|
+
/** Momoa, just with default options pre-set */
|
|
51
|
+
export declare function parseJSON(input: string | Record<string, any>, options?: ParseOptions): any;
|
|
52
52
|
//# sourceMappingURL=json.d.ts.map
|
package/dist/parse/json.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/parse/json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/parse/json.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EAGf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC7E;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAatB,CAAC;AAEF,kDAAkD;AAClD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE9C;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/D,uCAAuC;AACvC,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,CAa3F;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,UAAU,EAAO,QAK5E;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,GAAG,UAAU,QAE5E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,QAmC3D;AAED,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,0CAA0C;AAC1C,wBAAgB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAgClF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,WAAW,CAAC;CAClC;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,cAAc,GACjE,WAAW,CAiCb;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,GAAG,CAa1F"}
|
package/dist/parse/json.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parse as
|
|
1
|
+
import { parse as momoaParse, print, } from '@humanwhocodes/momoa';
|
|
2
2
|
export const CHILD_KEYS = {
|
|
3
3
|
Document: ['body'],
|
|
4
4
|
Object: ['members'],
|
|
@@ -32,17 +32,17 @@ export function getObjMembers(node) {
|
|
|
32
32
|
}
|
|
33
33
|
return members;
|
|
34
34
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Inject members to ObjectNode
|
|
37
|
-
* @param {ObjectNode} node
|
|
38
|
-
* @param {MemberNode[]} members
|
|
39
|
-
*/
|
|
35
|
+
/** Inject members to ObjectNode */
|
|
40
36
|
export function injectObjMembers(node, members = []) {
|
|
41
37
|
if (node.type !== 'Object') {
|
|
42
38
|
return;
|
|
43
39
|
}
|
|
44
40
|
node.members.push(...members);
|
|
45
41
|
}
|
|
42
|
+
/** Replace an ObjectNode’s contents outright with another */
|
|
43
|
+
export function replaceObjMembers(a, b) {
|
|
44
|
+
a.members = (b.type === 'Document' && b.body?.members) || b.members;
|
|
45
|
+
}
|
|
46
46
|
/**
|
|
47
47
|
* Variation of Momoa’s traverse(), which keeps track of global path.
|
|
48
48
|
* Allows mutation of AST (along with any consequences)
|
|
@@ -64,18 +64,17 @@ export function traverse(root, visitor) {
|
|
|
64
64
|
const childNode = CHILD_KEYS[node.type];
|
|
65
65
|
for (const key of childNode ?? []) {
|
|
66
66
|
const value = node[key];
|
|
67
|
-
if (value
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else if (isNode(value)) {
|
|
76
|
-
visitNode(value, node, nextPath);
|
|
67
|
+
if (!value) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (Array.isArray(value)) {
|
|
71
|
+
for (let i = 0; i < value.length; i++) {
|
|
72
|
+
visitNode(value[i], node, key === 'elements' ? [...nextPath, String(i)] : nextPath);
|
|
77
73
|
}
|
|
78
74
|
}
|
|
75
|
+
else if (isNode(value)) {
|
|
76
|
+
visitNode(value, node, nextPath);
|
|
77
|
+
}
|
|
79
78
|
}
|
|
80
79
|
visitor.exit?.(node, parent, nextPath);
|
|
81
80
|
}
|
|
@@ -146,16 +145,24 @@ export function toMomoa(input, { continueOnError, filename, logger, yamlToMomoa
|
|
|
146
145
|
}
|
|
147
146
|
}
|
|
148
147
|
else {
|
|
149
|
-
document = parseJSON(
|
|
150
|
-
{
|
|
151
|
-
mode: 'jsonc',
|
|
152
|
-
ranges: true,
|
|
153
|
-
tokens: true,
|
|
154
|
-
});
|
|
148
|
+
document = parseJSON(input);
|
|
155
149
|
}
|
|
156
150
|
if (!src) {
|
|
157
151
|
src = print(document, { indent: 2 });
|
|
158
152
|
}
|
|
159
153
|
return { src, document };
|
|
160
154
|
}
|
|
155
|
+
/** Momoa, just with default options pre-set */
|
|
156
|
+
export function parseJSON(input, options) {
|
|
157
|
+
return momoaParse(
|
|
158
|
+
// note: it seems silly, at first glance, to have JSON.stringify() inside an actual JSON parser. But
|
|
159
|
+
// this provides a common interface to generate a Momoa AST for JSON created in-memory, which we already
|
|
160
|
+
// know is 100% valid because it’s already deserialized.
|
|
161
|
+
typeof input === 'string' ? input : JSON.stringify(input, undefined, 2), {
|
|
162
|
+
mode: 'jsonc',
|
|
163
|
+
ranges: true,
|
|
164
|
+
tokens: true,
|
|
165
|
+
...options,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
161
168
|
//# sourceMappingURL=json.js.map
|
package/dist/parse/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/parse/json.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/parse/json.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/parse/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EAKX,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAmB3B,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/parse/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,KAAK,EAKX,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;CAmB3B,CAAC;AAIF,iEAAiE;AACjE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CA+J7E"}
|
package/dist/parse/normalize.js
CHANGED
|
@@ -19,8 +19,6 @@ export const FONT_WEIGHT_MAP = {
|
|
|
19
19
|
'extra-black': 950,
|
|
20
20
|
'ultra-black': 950,
|
|
21
21
|
};
|
|
22
|
-
// Note: because we’re handling a lot of input values, the type inference gets lost.
|
|
23
|
-
// This file is expected to have a lot of `@ts-ignore` comments.
|
|
24
22
|
const NUMBER_WITH_UNIT_RE = /(-?\d*\.?\d+)(.*)/;
|
|
25
23
|
/** Fill in defaults, and return predictable shapes for tokens */
|
|
26
24
|
export default function normalizeValue(token) {
|
|
@@ -116,14 +114,10 @@ export default function normalizeValue(token) {
|
|
|
116
114
|
}
|
|
117
115
|
return (Array.isArray(token.$value) ? token.$value : [token.$value]).map((layer) => ({
|
|
118
116
|
color: normalizeValue({ $type: 'color', $value: layer.color }),
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
// @ts-ignore
|
|
124
|
-
blur: normalizeValue({ $type: 'dimension', $value: layer.blur ?? 0 }),
|
|
125
|
-
// @ts-ignore
|
|
126
|
-
spread: normalizeValue({ $type: 'dimension', $value: layer.spread ?? 0 }),
|
|
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' } }),
|
|
127
121
|
inset: layer.inset === true,
|
|
128
122
|
}));
|
|
129
123
|
}
|
|
@@ -138,11 +132,8 @@ export default function normalizeValue(token) {
|
|
|
138
132
|
return token.$value;
|
|
139
133
|
}
|
|
140
134
|
return {
|
|
141
|
-
// @ts-ignore
|
|
142
135
|
duration: normalizeValue({ $type: 'duration', $value: token.$value.duration ?? 0 }),
|
|
143
|
-
// @ts-ignore
|
|
144
136
|
delay: normalizeValue({ $type: 'duration', $value: token.$value.delay ?? 0 }),
|
|
145
|
-
// @ts-ignore
|
|
146
137
|
timingFunction: normalizeValue({ $type: 'cubicBezier', $value: token.$value.timingFunction }),
|
|
147
138
|
};
|
|
148
139
|
}
|