@dsillman2000/yaml-reference-ts 1.3.5 → 1.4.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/README.md +37 -19
- package/dist/Reference.d.ts +14 -3
- package/dist/Reference.d.ts.map +1 -1
- package/dist/Reference.js +15 -4
- package/dist/Reference.js.map +1 -1
- package/dist/ReferenceAll.d.ts +14 -3
- package/dist/ReferenceAll.d.ts.map +1 -1
- package/dist/ReferenceAll.js +15 -4
- package/dist/ReferenceAll.js.map +1 -1
- package/dist/parser.d.ts +13 -4
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +68 -19
- package/dist/parser.js.map +1 -1
- package/dist/resolver.js +32 -24
- package/dist/resolver.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,6 +40,14 @@ database: !reference
|
|
|
40
40
|
|
|
41
41
|
# Inline mapping syntax
|
|
42
42
|
settings: !reference {path: ./settings/production.yaml}
|
|
43
|
+
|
|
44
|
+
# Extract a specific anchor from the referenced file
|
|
45
|
+
db_host: !reference {path: ./config/database.yaml, anchor: host}
|
|
46
|
+
|
|
47
|
+
# Block style with anchor
|
|
48
|
+
db_config: !reference
|
|
49
|
+
path: ./config/database.yaml
|
|
50
|
+
anchor: cfg
|
|
43
51
|
```
|
|
44
52
|
|
|
45
53
|
### Multiple File Reference
|
|
@@ -51,6 +59,9 @@ configs: !reference-all
|
|
|
51
59
|
|
|
52
60
|
# Inline mapping syntax
|
|
53
61
|
files: !reference-all {glob: ./data/*.yaml}
|
|
62
|
+
|
|
63
|
+
# Extract a specific anchor from each matched file
|
|
64
|
+
ports: !reference-all {glob: ./services/*.yaml, anchor: port}
|
|
54
65
|
```
|
|
55
66
|
|
|
56
67
|
### Sequence Flattening
|
|
@@ -84,7 +95,7 @@ merged: !merge
|
|
|
84
95
|
- {override: true}
|
|
85
96
|
```
|
|
86
97
|
|
|
87
|
-
**Note**: For `!reference` and `!reference-all` tags, only mapping syntax is supported. Be sure to conform to the API (`!reference {path: <path>}` or `!reference-all {glob: <glob>}`). For `!flatten` and `!merge` tags, only sequence syntax is supported.
|
|
98
|
+
**Note**: For `!reference` and `!reference-all` tags, only mapping syntax is supported. Be sure to conform to the API (`!reference {path: <path>, anchor: <anchor>}` or `!reference-all {glob: <glob>, anchor: <anchor>}`, where `anchor` is optional). For `!flatten` and `!merge` tags, only sequence syntax is supported.
|
|
88
99
|
|
|
89
100
|
**Deterministic Ordering**: The `!reference-all` tag resolves files in alphabetical order to ensure consistent, predictable results across different systems and runs.
|
|
90
101
|
|
|
@@ -110,24 +121,26 @@ async function loadConfig() {
|
|
|
110
121
|
#### `loadYamlWithReferences(filePath: string, allowPaths?: string[]): Promise<any>`
|
|
111
122
|
Loads a YAML file and resolves all `!reference`, `!reference-all`, `!flatten`, and `!merge` tags, returning the fully resolved object. The optional `allowPaths` parameter restricts which directories can be referenced (see Path Restrictions section).
|
|
112
123
|
|
|
113
|
-
#### `parseYamlWithReferences(
|
|
114
|
-
Parses YAML
|
|
124
|
+
#### `parseYamlWithReferences(filePath: string, options?: ParseOptions): Promise<any>`
|
|
125
|
+
Parses a YAML file with custom tags, setting `location` on Reference and ReferenceAll instances. The optional `options.extractAnchor` specifies a YAML anchor name to extract from the document instead of returning the whole file.
|
|
115
126
|
|
|
116
127
|
#### `loadYamlWithReferencesSync(filePath: string, allowPaths?: string[]): any`
|
|
117
128
|
Loads a YAML file and resolves all `!reference`, `!reference-all`, `!flatten`, and `!merge` tags, returning the fully resolved object synchronously. The optional `allowPaths` parameter restricts which directories can be referenced (see Path Restrictions section).
|
|
118
129
|
|
|
119
|
-
#### `parseYamlWithReferencesSync(
|
|
120
|
-
Parses YAML
|
|
130
|
+
#### `parseYamlWithReferencesSync(filePath: string, options?: ParseOptions): any`
|
|
131
|
+
Parses a YAML file with custom tags, setting `location` on Reference and ReferenceAll instances synchronously. The optional `options.extractAnchor` specifies a YAML anchor name to extract from the document instead of returning the whole file.
|
|
121
132
|
|
|
122
133
|
#### `Reference` Class
|
|
123
134
|
Represents a `!reference` tag with properties:
|
|
124
|
-
- `
|
|
135
|
+
- `location`: Absolute path to the file containing the reference
|
|
125
136
|
- `path`: Relative path to the referenced YAML file
|
|
137
|
+
- `anchor` (optional): Name of an anchor defined in the target file to extract instead of the whole document. Raises an error if the anchor does not exist.
|
|
126
138
|
|
|
127
139
|
#### `ReferenceAll` Class
|
|
128
140
|
Represents a `!reference-all` tag with properties:
|
|
129
|
-
- `
|
|
141
|
+
- `location`: Absolute path to the file containing the reference
|
|
130
142
|
- `glob`: Glob pattern to match YAML files
|
|
143
|
+
- `anchor` (optional): Name of an anchor defined in each matched file to extract instead of the whole document. Raises an error if the anchor does not exist in any matched file.
|
|
131
144
|
|
|
132
145
|
#### `Flatten` Class
|
|
133
146
|
Represents a `!flatten` tag with properties:
|
|
@@ -260,23 +273,27 @@ const resolved = await loadYamlWithReferences('./config/main.yaml', [
|
|
|
260
273
|
|
|
261
274
|
### For `!reference` tags:
|
|
262
275
|
1. The `path` property is parsed from the YAML mapping (must be a relative path)
|
|
263
|
-
2. `
|
|
264
|
-
3.
|
|
265
|
-
4. The
|
|
266
|
-
5.
|
|
267
|
-
6.
|
|
276
|
+
2. The optional `anchor` property specifies a YAML anchor (`&name`) to extract from the target file
|
|
277
|
+
3. `location` is automatically set to the absolute path of the containing file
|
|
278
|
+
4. The referenced YAML file is read and parsed relative to `location`
|
|
279
|
+
5. The target path is checked against allowed paths (see Path Restrictions)
|
|
280
|
+
6. If `anchor` is specified, only the value attached to that anchor is extracted (after resolving aliases and tags like `!merge` within the target file). An error is raised if the anchor does not exist.
|
|
281
|
+
7. Any references within the resolved content are recursively resolved
|
|
282
|
+
8. The `Reference` object is replaced with the resolved content
|
|
268
283
|
|
|
269
284
|
### For `!reference-all` tags:
|
|
270
285
|
1. The `glob` property is parsed from the YAML mapping (must be a relative glob pattern)
|
|
271
|
-
2. `
|
|
272
|
-
3.
|
|
273
|
-
4.
|
|
274
|
-
5.
|
|
286
|
+
2. The optional `anchor` property specifies a YAML anchor (`&name`) to extract from each matched file
|
|
287
|
+
3. `location` is automatically set to the absolute path of the containing file
|
|
288
|
+
4. The glob pattern is evaluated relative to `location`
|
|
289
|
+
5. Matching files are filtered based on allowed paths (see Path Restrictions)
|
|
290
|
+
6. For each matching YAML file:
|
|
275
291
|
- The file is read and parsed
|
|
292
|
+
- If `anchor` is specified, only the value attached to that anchor is extracted. An error is raised if the anchor does not exist in any matched file.
|
|
276
293
|
- Any references are recursively resolved
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
294
|
+
7. The `ReferenceAll` object is replaced with an array of resolved contents
|
|
295
|
+
8. Files are sorted and resolved in deterministic alphabetical order for consistent results across systems
|
|
296
|
+
9. If no files match, an error is thrown
|
|
280
297
|
|
|
281
298
|
### For `!flatten` tags:
|
|
282
299
|
1. The sequence is parsed from the YAML (must be a sequence/array)
|
|
@@ -312,6 +329,7 @@ The library throws descriptive errors for:
|
|
|
312
329
|
- Missing required properties (`path` for `!reference`, `glob` for `!reference-all`)
|
|
313
330
|
- Absolute paths in `!reference` or `!reference-all` tags (only relative paths are allowed)
|
|
314
331
|
- References to files outside allowed paths
|
|
332
|
+
- Non-existent `anchor` in a referenced file (or in any file matched by `!reference-all`)
|
|
315
333
|
- `!flatten` tag applied to non-sequence values
|
|
316
334
|
- `!merge` tag applied to a sequence of values that are not mappings
|
|
317
335
|
|
package/dist/Reference.d.ts
CHANGED
|
@@ -9,7 +9,14 @@ export declare class Reference {
|
|
|
9
9
|
* Absolute path to the YAML file where this !reference tag was found
|
|
10
10
|
* This is automatically set by the library during parsing
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
location: string;
|
|
13
|
+
/**
|
|
14
|
+
* Anchor to import from the referenced YAML file
|
|
15
|
+
* Optional, provided by the user in the YAML document
|
|
16
|
+
* If not provided, the entire YAML file will be imported
|
|
17
|
+
* If provided, only the specified anchor will be imported from the referenced file
|
|
18
|
+
*/
|
|
19
|
+
anchor?: string;
|
|
13
20
|
/**
|
|
14
21
|
* Relative path to another YAML file
|
|
15
22
|
* Required, explicitly provided by the user in the YAML document
|
|
@@ -18,9 +25,13 @@ export declare class Reference {
|
|
|
18
25
|
/**
|
|
19
26
|
* Creates a new Reference instance
|
|
20
27
|
* @param path - Relative path to another YAML file
|
|
21
|
-
* @param location - Absolute path to the file containing this reference (optional, will be set later)
|
|
28
|
+
* @param options.location - Absolute path to the file containing this reference (optional, will be set later)
|
|
29
|
+
* @param options.anchor - Anchor to import from the referenced YAML file (optional)
|
|
22
30
|
*/
|
|
23
|
-
constructor(path: string,
|
|
31
|
+
constructor(path: string, options?: {
|
|
32
|
+
location?: string;
|
|
33
|
+
anchor?: string;
|
|
34
|
+
});
|
|
24
35
|
/**
|
|
25
36
|
* Returns a string representation of the Reference
|
|
26
37
|
*/
|
package/dist/Reference.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../src/Reference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;GAGG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"Reference.d.ts","sourceRoot":"","sources":["../src/Reference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;GAGG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAkB1E;;OAEG;IACH,QAAQ,IAAI,MAAM;CAUnB;AAED,eAAO,MAAM,mBAAmB,eAAwB,CAAC;AAEzD,eAAO,MAAM,uBAAuB,GAClC,OAAO,OAAO,KACb,KAAK,IAAI;IAAE,IAAI,EAAE,MAAM,CAAA;CAIzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,OAAO;IACxC,GAAG,SAAgB;IACnB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW;CA0BpC"}
|
package/dist/Reference.js
CHANGED
|
@@ -44,9 +44,10 @@ class Reference {
|
|
|
44
44
|
/**
|
|
45
45
|
* Creates a new Reference instance
|
|
46
46
|
* @param path - Relative path to another YAML file
|
|
47
|
-
* @param location - Absolute path to the file containing this reference (optional, will be set later)
|
|
47
|
+
* @param options.location - Absolute path to the file containing this reference (optional, will be set later)
|
|
48
|
+
* @param options.anchor - Anchor to import from the referenced YAML file (optional)
|
|
48
49
|
*/
|
|
49
|
-
constructor(path,
|
|
50
|
+
constructor(path, options) {
|
|
50
51
|
// Ensure path is not empty
|
|
51
52
|
if (!path || path.length === 0) {
|
|
52
53
|
throw new Error("Reference path must not be empty");
|
|
@@ -56,13 +57,14 @@ class Reference {
|
|
|
56
57
|
throw new Error(`Reference path must be relative, not absolute: "${path}"`);
|
|
57
58
|
}
|
|
58
59
|
this.path = path;
|
|
59
|
-
this.
|
|
60
|
+
this.location = options?.location || "";
|
|
61
|
+
this.anchor = options?.anchor ?? undefined;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Returns a string representation of the Reference
|
|
63
65
|
*/
|
|
64
66
|
toString() {
|
|
65
|
-
return `Reference { path: "${this.path}",
|
|
67
|
+
return `Reference { path: "${this.path}", location: "${this.location}", anchor: "${this.anchor}" }`;
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
68
70
|
* Custom inspection method for Node.js console
|
|
@@ -92,6 +94,15 @@ class ReferenceNode extends yaml_1.YAMLMap {
|
|
|
92
94
|
if (typeof pathValue !== "string") {
|
|
93
95
|
throw new Error('!reference "path" property must be a string');
|
|
94
96
|
}
|
|
97
|
+
// Coerce anchor to string if present (e.g. anchor: 1 is valid YAML
|
|
98
|
+
// but parsed as a number)
|
|
99
|
+
if ("anchor" in value && value.anchor !== undefined) {
|
|
100
|
+
if (typeof value.anchor === "object") {
|
|
101
|
+
throw new Error('!reference "anchor" property must be a scalar value');
|
|
102
|
+
}
|
|
103
|
+
const anchorVal = value.anchor;
|
|
104
|
+
value.anchor = String(anchorVal);
|
|
105
|
+
}
|
|
95
106
|
Object.assign(value, { [exports.REFERENCE_NODE_FLAG]: true });
|
|
96
107
|
return value;
|
|
97
108
|
}
|
package/dist/Reference.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../src/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,+BAA+B;AAG/B;;;GAGG;AACH,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"Reference.js","sourceRoot":"","sources":["../src/Reference.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,+BAA+B;AAG/B;;;GAGG;AACH,MAAa,SAAS;IAqBpB;;;;;OAKG;IACH,YAAY,IAAY,EAAE,OAAgD;QACxE,2BAA2B;QAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,mDAAmD,IAAI,GAAG,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,sBAAsB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,MAAM,KAAK,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AA1DD,8BA0DC;AAEY,QAAA,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAElD,MAAM,uBAAuB,GAAG,CACrC,KAAc,EACa,EAAE;IAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,2BAAmB,IAAI,KAAK,CAC5E,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,uBAAuB,2BAMlC;AAEF,MAAa,aAAc,SAAQ,cAAO;IAA1C;;QACE,QAAG,GAAG,YAAY,CAAC;IA2BrB,CAAC;IA1BC,MAAM,CAAC,CAAU,EAAE,GAAgB;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAA4B,CAAC;QAErE,qCAAqC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,mEAAmE;QACnE,0BAA0B;QAC1B,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAmC,CAAC;YAC5D,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,2BAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA5BD,sCA4BC"}
|
package/dist/ReferenceAll.d.ts
CHANGED
|
@@ -9,7 +9,14 @@ export declare class ReferenceAll {
|
|
|
9
9
|
* Absolute path to the YAML file where this !reference-all tag was found
|
|
10
10
|
* This is automatically set by the library during parsing
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
location: string;
|
|
13
|
+
/**
|
|
14
|
+
* Anchor to import from the referenced YAML file
|
|
15
|
+
* Optional, provided by the user in the YAML document
|
|
16
|
+
* If not provided, the entire YAML file will be imported
|
|
17
|
+
* If provided, only the specified anchor will be imported from the referenced file
|
|
18
|
+
*/
|
|
19
|
+
anchor?: string;
|
|
13
20
|
/**
|
|
14
21
|
* Glob pattern to match YAML files
|
|
15
22
|
* Required, explicitly provided by the user in the YAML document
|
|
@@ -18,9 +25,13 @@ export declare class ReferenceAll {
|
|
|
18
25
|
/**
|
|
19
26
|
* Creates a new ReferenceAll instance
|
|
20
27
|
* @param glob - Glob pattern to match YAML files
|
|
21
|
-
* @param location - Absolute path to the file containing this reference (optional, will be set later)
|
|
28
|
+
* @param options.location - Absolute path to the file containing this reference (optional, will be set later)
|
|
29
|
+
* @param options.anchor - Anchor to import from the referenced YAML file (optional)
|
|
22
30
|
*/
|
|
23
|
-
constructor(glob: string,
|
|
31
|
+
constructor(glob: string, options?: {
|
|
32
|
+
location?: string;
|
|
33
|
+
anchor?: string;
|
|
34
|
+
});
|
|
24
35
|
/**
|
|
25
36
|
* Returns a string representation of the ReferenceAll
|
|
26
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceAll.d.ts","sourceRoot":"","sources":["../src/ReferenceAll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;GAGG;AACH,qBAAa,YAAY;IACvB;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"ReferenceAll.d.ts","sourceRoot":"","sources":["../src/ReferenceAll.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;GAGG;AACH,qBAAa,YAAY;IACvB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;gBACS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IAkB1E;;OAEG;IACH,QAAQ,IAAI,MAAM;CAUnB;AAED,eAAO,MAAM,uBAAuB,eAA2B,CAAC;AAEhE,eAAO,MAAM,0BAA0B,GACrC,OAAO,OAAO,KACb,KAAK,IAAI;IAAE,IAAI,EAAE,MAAM,CAAA;CAMzB,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,GAAG,SAAoB;IACvB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW;CA4BpC"}
|
package/dist/ReferenceAll.js
CHANGED
|
@@ -44,9 +44,10 @@ class ReferenceAll {
|
|
|
44
44
|
/**
|
|
45
45
|
* Creates a new ReferenceAll instance
|
|
46
46
|
* @param glob - Glob pattern to match YAML files
|
|
47
|
-
* @param location - Absolute path to the file containing this reference (optional, will be set later)
|
|
47
|
+
* @param options.location - Absolute path to the file containing this reference (optional, will be set later)
|
|
48
|
+
* @param options.anchor - Anchor to import from the referenced YAML file (optional)
|
|
48
49
|
*/
|
|
49
|
-
constructor(glob,
|
|
50
|
+
constructor(glob, options) {
|
|
50
51
|
// Ensure glob is not empty
|
|
51
52
|
if (!glob || glob.length === 0) {
|
|
52
53
|
throw new Error("ReferenceAll glob must not be empty");
|
|
@@ -56,13 +57,14 @@ class ReferenceAll {
|
|
|
56
57
|
throw new Error(`ReferenceAll glob must be relative, not absolute: "${glob}"`);
|
|
57
58
|
}
|
|
58
59
|
this.glob = glob;
|
|
59
|
-
this.
|
|
60
|
+
this.location = options?.location || "";
|
|
61
|
+
this.anchor = options?.anchor ?? undefined;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* Returns a string representation of the ReferenceAll
|
|
63
65
|
*/
|
|
64
66
|
toString() {
|
|
65
|
-
return `ReferenceAll { glob: "${this.glob}",
|
|
67
|
+
return `ReferenceAll { glob: "${this.glob}", location: "${this.location}", anchor: "${this.anchor}" }`;
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
68
70
|
* Custom inspection method for Node.js console
|
|
@@ -94,6 +96,15 @@ class ReferenceAllNode extends yaml_1.YAMLMap {
|
|
|
94
96
|
if (typeof globValue !== "string") {
|
|
95
97
|
throw new Error('!reference-all "glob" property must be a string');
|
|
96
98
|
}
|
|
99
|
+
// Coerce anchor to string if present (e.g. anchor: 1 is valid YAML
|
|
100
|
+
// but parsed as a number)
|
|
101
|
+
if ("anchor" in value && value.anchor !== undefined) {
|
|
102
|
+
if (typeof value.anchor === "object") {
|
|
103
|
+
throw new Error('!reference-all "anchor" property must be a scalar value');
|
|
104
|
+
}
|
|
105
|
+
const anchorVal = value.anchor;
|
|
106
|
+
value.anchor = String(anchorVal);
|
|
107
|
+
}
|
|
97
108
|
Object.assign(value, { [exports.REFERENCE_ALL_NODE_FLAG]: true });
|
|
98
109
|
return value;
|
|
99
110
|
}
|
package/dist/ReferenceAll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReferenceAll.js","sourceRoot":"","sources":["../src/ReferenceAll.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,+BAA+B;AAG/B;;;GAGG;AACH,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"ReferenceAll.js","sourceRoot":"","sources":["../src/ReferenceAll.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAmC;AACnC,+BAA+B;AAG/B;;;GAGG;AACH,MAAa,YAAY;IAqBvB;;;;;OAKG;IACH,YAAY,IAAY,EAAE,OAAgD;QACxE,2BAA2B;QAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,sDAAsD,IAAI,GAAG,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,yBAAyB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,MAAM,KAAK,CAAC;IACzG,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF;AA1DD,oCA0DC;AAEY,QAAA,uBAAuB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEzD,MAAM,0BAA0B,GAAG,CACxC,KAAc,EACa,EAAE;IAC7B,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,+BAAuB,IAAI,KAAK,CACjC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,0BAA0B,8BAQrC;AAEF,MAAa,gBAAiB,SAAQ,cAAO;IAA7C;;QACE,QAAG,GAAG,gBAAgB,CAAC;IA6BzB,CAAC;IA5BC,MAAM,CAAC,CAAU,EAAE,GAAgB;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,CAA4B,CAAC;QAErE,qCAAqC;QACrC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,mEAAmE;QACnE,0BAA0B;QAC1B,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAmC,CAAC;YAC5D,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,+BAAuB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA9BD,4CA8BC"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -2,16 +2,25 @@
|
|
|
2
2
|
* Parser module for handling YAML with custom !reference and !reference-all tags
|
|
3
3
|
* Uses the eemeli/yaml package to parse YAML with custom tags
|
|
4
4
|
*/
|
|
5
|
+
export interface ParseOptions {
|
|
6
|
+
extractAnchor?: string;
|
|
7
|
+
}
|
|
5
8
|
/**
|
|
6
9
|
* Parse YAML content with custom !reference and !reference-all tags
|
|
7
|
-
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
10
|
+
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
11
|
+
* location)
|
|
12
|
+
* @param options - Optional parsing options (e.g. extractAnchor to specify an
|
|
13
|
+
* anchor to extract as root)
|
|
8
14
|
* @returns Parsed object with Reference and ReferenceAll instances
|
|
9
15
|
*/
|
|
10
|
-
export declare function parseYamlWithReferencesSync(filePath: string): unknown;
|
|
16
|
+
export declare function parseYamlWithReferencesSync(filePath: string, options?: ParseOptions): unknown;
|
|
11
17
|
/**
|
|
12
18
|
* Parse YAML content with custom !reference and !reference-all tags (async).
|
|
13
|
-
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
19
|
+
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
20
|
+
* location)
|
|
21
|
+
* @param options - Optional parsing options (e.g. extractAnchor to specify an
|
|
22
|
+
* anchor to extract as root)
|
|
14
23
|
* @returns Parsed object with Reference and ReferenceAll instances
|
|
15
24
|
*/
|
|
16
|
-
export declare function parseYamlWithReferences(filePath: string): Promise<unknown>;
|
|
25
|
+
export declare function parseYamlWithReferences(filePath: string, options?: ParseOptions): Promise<unknown>;
|
|
17
26
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyFH
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyFH,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAuDD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAaT;AAED;;;;;;;GAOG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,CAalB"}
|
package/dist/parser.js
CHANGED
|
@@ -114,21 +114,60 @@ const customTags = [
|
|
|
114
114
|
mergeTag,
|
|
115
115
|
illegalMergeOnMapping,
|
|
116
116
|
];
|
|
117
|
+
function extractAnchorFromDocument(doc, anchor) {
|
|
118
|
+
const anchors = new Map();
|
|
119
|
+
(0, yaml_1.visit)(doc, {
|
|
120
|
+
// record all anchors in the map
|
|
121
|
+
Node(_, node) {
|
|
122
|
+
if (node.anchor) {
|
|
123
|
+
anchors.set(node.anchor, node);
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
// Replace all aliases with their corresponding anchor(s)
|
|
127
|
+
// Note: YAML forbids forward-referencing aliases, so we can be sure that
|
|
128
|
+
// the anchor will have been visited before any alias that references it
|
|
129
|
+
Alias(_, node) {
|
|
130
|
+
if (!anchors.has(node.source)) {
|
|
131
|
+
throw new Error(`Anchor "${node.source}" not found in the YAML document`);
|
|
132
|
+
}
|
|
133
|
+
// Note: this node will get re-visited by the main visitor, so we don't
|
|
134
|
+
// need to recursively resolve nested aliases here
|
|
135
|
+
return anchors.get(node.source);
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
if (!anchors.has(anchor)) {
|
|
139
|
+
throw new Error(`Anchor "${anchor}" not found in the YAML document`);
|
|
140
|
+
}
|
|
141
|
+
return anchors.get(anchor);
|
|
142
|
+
}
|
|
143
|
+
function parseYamlWithReferencesFromString(content, filePath, options) {
|
|
144
|
+
const doc = (0, yaml_1.parseDocument)(content, { customTags });
|
|
145
|
+
if (doc.errors.length > 0) {
|
|
146
|
+
throw doc.errors[0];
|
|
147
|
+
}
|
|
148
|
+
if (!doc.contents) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
let root = doc.contents;
|
|
152
|
+
if (options?.extractAnchor !== undefined) {
|
|
153
|
+
root = extractAnchorFromDocument(doc, options.extractAnchor);
|
|
154
|
+
}
|
|
155
|
+
const parsed = root.toJS(doc);
|
|
156
|
+
return processParsedDocument(parsed, filePath);
|
|
157
|
+
}
|
|
117
158
|
/**
|
|
118
159
|
* Parse YAML content with custom !reference and !reference-all tags
|
|
119
|
-
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
160
|
+
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
161
|
+
* location)
|
|
162
|
+
* @param options - Optional parsing options (e.g. extractAnchor to specify an
|
|
163
|
+
* anchor to extract as root)
|
|
120
164
|
* @returns Parsed object with Reference and ReferenceAll instances
|
|
121
165
|
*/
|
|
122
|
-
function parseYamlWithReferencesSync(filePath) {
|
|
166
|
+
function parseYamlWithReferencesSync(filePath, options) {
|
|
123
167
|
try {
|
|
124
168
|
const absolutePath = path.resolve(filePath);
|
|
125
169
|
const content = fsSync.readFileSync(absolutePath, "utf8");
|
|
126
|
-
|
|
127
|
-
if (doc.errors.length > 0) {
|
|
128
|
-
throw doc.errors[0];
|
|
129
|
-
}
|
|
130
|
-
const parsed = doc.toJS();
|
|
131
|
-
return processParsedDocument(parsed, filePath);
|
|
170
|
+
return parseYamlWithReferencesFromString(content, absolutePath, options);
|
|
132
171
|
}
|
|
133
172
|
catch (error) {
|
|
134
173
|
// Re-throw the error with context about which file failed to parse
|
|
@@ -137,19 +176,17 @@ function parseYamlWithReferencesSync(filePath) {
|
|
|
137
176
|
}
|
|
138
177
|
/**
|
|
139
178
|
* Parse YAML content with custom !reference and !reference-all tags (async).
|
|
140
|
-
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
179
|
+
* @param filePath - Path to the YAML file to be parsed (used for setting
|
|
180
|
+
* location)
|
|
181
|
+
* @param options - Optional parsing options (e.g. extractAnchor to specify an
|
|
182
|
+
* anchor to extract as root)
|
|
141
183
|
* @returns Parsed object with Reference and ReferenceAll instances
|
|
142
184
|
*/
|
|
143
|
-
async function parseYamlWithReferences(filePath) {
|
|
185
|
+
async function parseYamlWithReferences(filePath, options) {
|
|
144
186
|
try {
|
|
145
187
|
const absolutePath = path.resolve(filePath);
|
|
146
188
|
const content = await fs.readFile(absolutePath, "utf8");
|
|
147
|
-
|
|
148
|
-
if (doc.errors.length > 0) {
|
|
149
|
-
throw doc.errors[0];
|
|
150
|
-
}
|
|
151
|
-
const parsed = doc.toJS();
|
|
152
|
-
return processParsedDocument(parsed, filePath);
|
|
189
|
+
return parseYamlWithReferencesFromString(content, absolutePath, options);
|
|
153
190
|
}
|
|
154
191
|
catch (error) {
|
|
155
192
|
// Re-throw the error with context about which file failed to parse
|
|
@@ -168,17 +205,29 @@ async function parseYamlWithReferences(filePath) {
|
|
|
168
205
|
* custom nodes) so that they are present on the final JS objects we get here.
|
|
169
206
|
*
|
|
170
207
|
* @param obj - The parsed YAML document (or sub-object) to process
|
|
171
|
-
* @param filePath - The file path to set as
|
|
208
|
+
* @param filePath - The file path to set as location on Reference and
|
|
172
209
|
* ReferenceAll instances
|
|
173
210
|
* @returns The processed object with Reference, ReferenceAll, Flatten, and
|
|
174
211
|
* Merge instances
|
|
175
212
|
*/
|
|
176
213
|
function processParsedDocument(obj, filePath) {
|
|
177
214
|
if ((0, Reference_1.isResolvedReferenceNode)(obj)) {
|
|
178
|
-
|
|
215
|
+
const anchor = "anchor" in obj && typeof obj.anchor === "string"
|
|
216
|
+
? obj.anchor
|
|
217
|
+
: undefined;
|
|
218
|
+
return new Reference_1.Reference(obj.path, {
|
|
219
|
+
location: filePath,
|
|
220
|
+
anchor,
|
|
221
|
+
});
|
|
179
222
|
}
|
|
180
223
|
if ((0, ReferenceAll_1.isResolvedReferenceAllNode)(obj)) {
|
|
181
|
-
|
|
224
|
+
const anchor = "anchor" in obj && typeof obj.anchor === "string"
|
|
225
|
+
? obj.anchor
|
|
226
|
+
: undefined;
|
|
227
|
+
return new ReferenceAll_1.ReferenceAll(obj.glob, {
|
|
228
|
+
location: filePath,
|
|
229
|
+
anchor,
|
|
230
|
+
});
|
|
182
231
|
}
|
|
183
232
|
if ((0, Flatten_1.isResolvedFlattenNode)(obj)) {
|
|
184
233
|
const processed = obj.map((item) => processParsedDocument(item, filePath));
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.js
CHANGED
|
@@ -298,17 +298,17 @@ function _recursivelyResolveReferencesSync(obj, visitedPaths = new Set(), allowP
|
|
|
298
298
|
* @throws Error if circular reference is detected, or if a reference cannot be resolved
|
|
299
299
|
*/
|
|
300
300
|
async function resolveReference(ref, visitedPaths, allowPaths) {
|
|
301
|
-
if (!ref.
|
|
302
|
-
throw new Error(`Reference missing
|
|
301
|
+
if (!ref.location) {
|
|
302
|
+
throw new Error(`Reference missing location: ${ref.toString()}`);
|
|
303
303
|
}
|
|
304
|
-
const refDir = path.dirname(ref.
|
|
304
|
+
const refDir = path.dirname(ref.location);
|
|
305
305
|
const targetPath = path.resolve(refDir, ref.path);
|
|
306
306
|
let realTargetPath;
|
|
307
307
|
try {
|
|
308
308
|
realTargetPath = await fs.realpath(targetPath);
|
|
309
309
|
}
|
|
310
310
|
catch {
|
|
311
|
-
throw new Error(`Referenced file not found: ${targetPath} (from ${ref.
|
|
311
|
+
throw new Error(`Referenced file not found: ${targetPath} (from ${ref.location})`);
|
|
312
312
|
}
|
|
313
313
|
// Check if path is allowed
|
|
314
314
|
if (allowPaths && allowPaths.length > 0) {
|
|
@@ -324,7 +324,9 @@ async function resolveReference(ref, visitedPaths, allowPaths) {
|
|
|
324
324
|
throw new Error(`Circular reference detected: ${realTargetPath} (visited: ${Array.from(visitedPaths).join(" -> ")})`);
|
|
325
325
|
}
|
|
326
326
|
visitedPaths.add(realTargetPath);
|
|
327
|
-
const parsed = await (0, parser_1.parseYamlWithReferences)(realTargetPath
|
|
327
|
+
const parsed = await (0, parser_1.parseYamlWithReferences)(realTargetPath, {
|
|
328
|
+
extractAnchor: ref.anchor,
|
|
329
|
+
});
|
|
328
330
|
const resolved = await _recursivelyResolveReferences(parsed, visitedPaths, allowPaths);
|
|
329
331
|
visitedPaths.delete(realTargetPath);
|
|
330
332
|
return resolved;
|
|
@@ -338,17 +340,17 @@ async function resolveReference(ref, visitedPaths, allowPaths) {
|
|
|
338
340
|
* @throws Error if circular reference is detected, or if a reference cannot be resolved
|
|
339
341
|
*/
|
|
340
342
|
function resolveReferenceSync(ref, visitedPaths, allowPaths) {
|
|
341
|
-
if (!ref.
|
|
342
|
-
throw new Error(`Reference missing
|
|
343
|
+
if (!ref.location) {
|
|
344
|
+
throw new Error(`Reference missing location: ${ref.toString()}`);
|
|
343
345
|
}
|
|
344
|
-
const refDir = path.dirname(ref.
|
|
346
|
+
const refDir = path.dirname(ref.location);
|
|
345
347
|
const targetPath = path.resolve(refDir, ref.path);
|
|
346
348
|
let realTargetPath;
|
|
347
349
|
try {
|
|
348
350
|
realTargetPath = fsSync.realpathSync(targetPath);
|
|
349
351
|
}
|
|
350
352
|
catch {
|
|
351
|
-
throw new Error(`Referenced file not found: ${targetPath} (from ${ref.
|
|
353
|
+
throw new Error(`Referenced file not found: ${targetPath} (from ${ref.location})`);
|
|
352
354
|
}
|
|
353
355
|
// Check if path is allowed
|
|
354
356
|
if (allowPaths && allowPaths.length > 0) {
|
|
@@ -364,7 +366,9 @@ function resolveReferenceSync(ref, visitedPaths, allowPaths) {
|
|
|
364
366
|
throw new Error(`Circular reference detected: ${realTargetPath} (visited: ${Array.from(visitedPaths).join(" -> ")})`);
|
|
365
367
|
}
|
|
366
368
|
visitedPaths.add(realTargetPath);
|
|
367
|
-
const parsed = (0, parser_1.parseYamlWithReferencesSync)(realTargetPath
|
|
369
|
+
const parsed = (0, parser_1.parseYamlWithReferencesSync)(realTargetPath, {
|
|
370
|
+
extractAnchor: ref.anchor,
|
|
371
|
+
});
|
|
368
372
|
const resolved = _recursivelyResolveReferencesSync(parsed, visitedPaths, allowPaths);
|
|
369
373
|
visitedPaths.delete(realTargetPath);
|
|
370
374
|
return resolved;
|
|
@@ -375,13 +379,13 @@ function resolveReferenceSync(ref, visitedPaths, allowPaths) {
|
|
|
375
379
|
* @param visitedPaths Set of visited paths to detect circular references
|
|
376
380
|
* @param allowPaths Optional list of allowed paths for references
|
|
377
381
|
* @returns Resolved array of objects. Will not contain any references.
|
|
378
|
-
* @throws Error if the ReferenceAll object is missing
|
|
382
|
+
* @throws Error if the ReferenceAll object is missing location or if the glob pattern is invalid.
|
|
379
383
|
*/
|
|
380
384
|
async function resolveReferenceAll(refAll, visitedPaths, allowPaths) {
|
|
381
|
-
if (!refAll.
|
|
382
|
-
throw new Error(`ReferenceAll missing
|
|
385
|
+
if (!refAll.location) {
|
|
386
|
+
throw new Error(`ReferenceAll missing location: ${refAll.toString()}`);
|
|
383
387
|
}
|
|
384
|
-
const refDir = path.dirname(refAll.
|
|
388
|
+
const refDir = path.dirname(refAll.location);
|
|
385
389
|
const globPattern = path.resolve(refDir, refAll.glob);
|
|
386
390
|
// Find files matching the glob pattern
|
|
387
391
|
let matchingFiles;
|
|
@@ -389,7 +393,7 @@ async function resolveReferenceAll(refAll, visitedPaths, allowPaths) {
|
|
|
389
393
|
matchingFiles = await (0, glob_1.glob)(globPattern, { absolute: true });
|
|
390
394
|
}
|
|
391
395
|
catch {
|
|
392
|
-
throw new Error(`Invalid glob pattern: ${globPattern} (from ${refAll.
|
|
396
|
+
throw new Error(`Invalid glob pattern: ${globPattern} (from ${refAll.location})`);
|
|
393
397
|
}
|
|
394
398
|
// Filter to only include YAML files
|
|
395
399
|
matchingFiles = matchingFiles.filter((file) => file.endsWith(".yaml") || file.endsWith(".yml"));
|
|
@@ -410,7 +414,7 @@ async function resolveReferenceAll(refAll, visitedPaths, allowPaths) {
|
|
|
410
414
|
});
|
|
411
415
|
}
|
|
412
416
|
if (filteredFiles.length === 0) {
|
|
413
|
-
throw new Error(`No YAML files found matching glob pattern: ${globPattern} (from ${refAll.
|
|
417
|
+
throw new Error(`No YAML files found matching glob pattern: ${globPattern} (from ${refAll.location})`);
|
|
414
418
|
}
|
|
415
419
|
// Sort files alphabetically for consistent ordering
|
|
416
420
|
filteredFiles.sort();
|
|
@@ -422,7 +426,9 @@ async function resolveReferenceAll(refAll, visitedPaths, allowPaths) {
|
|
|
422
426
|
}
|
|
423
427
|
visitedPaths.add(filePath);
|
|
424
428
|
try {
|
|
425
|
-
const parsed = await (0, parser_1.parseYamlWithReferences)(filePath
|
|
429
|
+
const parsed = await (0, parser_1.parseYamlWithReferences)(filePath, {
|
|
430
|
+
extractAnchor: refAll.anchor,
|
|
431
|
+
});
|
|
426
432
|
const resolved = await _recursivelyResolveReferences(parsed, visitedPaths, allowPaths);
|
|
427
433
|
resolvedContents.push(resolved);
|
|
428
434
|
}
|
|
@@ -440,13 +446,13 @@ async function resolveReferenceAll(refAll, visitedPaths, allowPaths) {
|
|
|
440
446
|
* @param visitedPaths Set of visited paths to detect circular references
|
|
441
447
|
* @param allowPaths Optional list of allowed paths for references
|
|
442
448
|
* @returns Resolved array of objects. Will not contain any references.
|
|
443
|
-
* @throws Error if the ReferenceAll object is missing
|
|
449
|
+
* @throws Error if the ReferenceAll object is missing location or if the glob pattern is invalid.
|
|
444
450
|
*/
|
|
445
451
|
function resolveReferenceAllSync(refAll, visitedPaths, allowPaths) {
|
|
446
|
-
if (!refAll.
|
|
447
|
-
throw new Error(`ReferenceAll missing
|
|
452
|
+
if (!refAll.location) {
|
|
453
|
+
throw new Error(`ReferenceAll missing location: ${refAll.toString()}`);
|
|
448
454
|
}
|
|
449
|
-
const refDir = path.dirname(refAll.
|
|
455
|
+
const refDir = path.dirname(refAll.location);
|
|
450
456
|
const globPattern = path.resolve(refDir, refAll.glob);
|
|
451
457
|
// Find files matching the glob pattern
|
|
452
458
|
let matchingFiles;
|
|
@@ -454,7 +460,7 @@ function resolveReferenceAllSync(refAll, visitedPaths, allowPaths) {
|
|
|
454
460
|
matchingFiles = (0, glob_1.globSync)(globPattern, { absolute: true });
|
|
455
461
|
}
|
|
456
462
|
catch {
|
|
457
|
-
throw new Error(`Invalid glob pattern: ${globPattern} (from ${refAll.
|
|
463
|
+
throw new Error(`Invalid glob pattern: ${globPattern} (from ${refAll.location})`);
|
|
458
464
|
}
|
|
459
465
|
// Filter to only include YAML files
|
|
460
466
|
matchingFiles = matchingFiles.filter((file) => file.endsWith(".yaml") || file.endsWith(".yml"));
|
|
@@ -477,7 +483,7 @@ function resolveReferenceAllSync(refAll, visitedPaths, allowPaths) {
|
|
|
477
483
|
});
|
|
478
484
|
}
|
|
479
485
|
if (filteredFiles.length === 0) {
|
|
480
|
-
throw new Error(`No YAML files found matching glob pattern: ${globPattern} (from ${refAll.
|
|
486
|
+
throw new Error(`No YAML files found matching glob pattern: ${globPattern} (from ${refAll.location})`);
|
|
481
487
|
}
|
|
482
488
|
// Sort files alphabetically for consistent ordering
|
|
483
489
|
filteredFiles.sort();
|
|
@@ -489,7 +495,9 @@ function resolveReferenceAllSync(refAll, visitedPaths, allowPaths) {
|
|
|
489
495
|
}
|
|
490
496
|
visitedPaths.add(filePath);
|
|
491
497
|
try {
|
|
492
|
-
const parsed = (0, parser_1.parseYamlWithReferencesSync)(filePath
|
|
498
|
+
const parsed = (0, parser_1.parseYamlWithReferencesSync)(filePath, {
|
|
499
|
+
extractAnchor: refAll.anchor,
|
|
500
|
+
});
|
|
493
501
|
const resolved = _recursivelyResolveReferencesSync(parsed, visitedPaths, allowPaths);
|
|
494
502
|
resolvedContents.push(resolved);
|
|
495
503
|
}
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HH,sEAwBC;AAQD,wCAYC;AAQD,gDAYC;AASD,sEA0DC;AASD,8EA0DC;AAnUD,2CAA6B;AAC7B,gDAAkC;AAClC,2CAA6B;AAC7B,+BAAsC;AACtC,2CAAwC;AACxC,iDAA8C;AAC9C,uCAAoC;AACpC,mCAAgC;AAChC,qCAAgF;AAEhF;;;GAGG;AACH,SAAS,SAAS,CAAC,SAAiB,EAAE,UAAkB;IACtD,OAAO,CACL,SAAS,KAAK,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,UAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,6BAA6B;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IAED,2DAA2D;IAC3D,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;YACrC,IAAI,mBAA2B,CAAC;YAChC,IAAI,CAAC;gBACH,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAc;IAClC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,0EAA0E;QAC1E,uCAAuC;QACvC,MAAM,SAAS,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,GAAU;IAC9B,yDAAyD;IACzD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,mEAAmE;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1B,IACE,IAAI,KAAK,IAAI;YACb,IAAI,KAAK,SAAS;YAClB,OAAO,IAAI,KAAK,QAAQ;YACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EACnB,CAAC;YACD,MAAM,QAAQ,GACZ,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,iEAAiE,QAAQ,aAAa,CAAC,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,oCAAoC;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,iDAAiD;IACjD,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,6BAA6B,CAAC,GAAY;IACxD,yEAAyE;IACzE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,qDAAqD;IACrD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,GAAG,YAAY,iBAAO,EAAE,CAAC;YAC3B,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,YAAY,aAAK,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,gEAAgE;QAChE,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,UAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAClD,MAAM,EACN,IAAI,GAAG,EAAU,EACjB,oBAAoB,CACrB,CAAC;IACF,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,UAAqB;IAErB,MAAM,MAAM,GAAG,IAAA,oCAA2B,EAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,iCAAiC,CAChD,MAAM,EACN,IAAI,GAAG,EAAU,EACjB,oBAAoB,CACrB,CAAC;IACF,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,6BAA6B,CACjD,GAAY,EACZ,eAA4B,IAAI,GAAG,EAAE,EACrC,UAAqB;IAErB,IAAI,GAAG,YAAY,qBAAS,EAAE,CAAC;QAC7B,OAAO,MAAM,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,GAAG,YAAY,2BAAY,EAAE,CAAC;QAChC,OAAO,MAAM,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,GAAG,YAAY,iBAAO,EAAE,CAAC;QAC3B,mFAAmF;QACnF,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,gBAAgB,CAAC,IAAI,CACnB,MAAM,6BAA6B,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,iBAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,YAAY,aAAK,EAAE,CAAC;QACzB,iFAAiF;QACjF,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,gBAAgB,CAAC,IAAI,CACnB,MAAM,6BAA6B,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,aAAK,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAChB,MAAM,6BAA6B,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,6BAA6B,CACpD,KAAK,EACL,YAAY,EACZ,UAAU,CACX,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iCAAiC,CAC/C,GAAY,EACZ,eAA4B,IAAI,GAAG,EAAE,EACrC,UAAqB;IAErB,IAAI,GAAG,YAAY,qBAAS,EAAE,CAAC;QAC7B,OAAO,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,GAAG,YAAY,2BAAY,EAAE,CAAC;QAChC,OAAO,uBAAuB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,GAAG,YAAY,iBAAO,EAAE,CAAC;QAC3B,mFAAmF;QACnF,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,gBAAgB,CAAC,IAAI,CACnB,iCAAiC,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,iBAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,YAAY,aAAK,EAAE,CAAC;QACzB,iFAAiF;QACjF,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,gBAAgB,CAAC,IAAI,CACnB,iCAAiC,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,aAAK,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,aAAa,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,aAAa,CAAC,IAAI,CAChB,iCAAiC,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,WAAW,GAA4B,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,WAAW,CAAC,GAAG,CAAC,GAAG,iCAAiC,CAClD,KAAK,EACL,YAAY,EACZ,UAAU,CACX,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,gBAAgB,CAC7B,GAAc,EACd,YAAyB,EACzB,UAAqB;IAErB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,8BAA8B,UAAU,UAAU,GAAG,CAAC,QAAQ,GAAG,CAClE,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YAChD,OAAO,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gBAAgB,UAAU,mCAAmC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,gCAAgC,cAAc,cAAc,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAAC,cAAc,EAAE;QAC3D,aAAa,EAAE,GAAG,CAAC,MAAM;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAClD,MAAM,EACN,YAAY,EACZ,UAAU,CACX,CAAC;IAEF,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAC3B,GAAc,EACd,YAAyB,EACzB,UAAqB;IAErB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAElD,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,8BAA8B,UAAU,UAAU,GAAG,CAAC,QAAQ,GAAG,CAClE,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YAChD,OAAO,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gBAAgB,UAAU,mCAAmC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,gCAAgC,cAAc,cAAc,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,IAAA,oCAA2B,EAAC,cAAc,EAAE;QACzD,aAAa,EAAE,GAAG,CAAC,MAAM;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,iCAAiC,CAChD,MAAM,EACN,YAAY,EACZ,UAAU,CACX,CAAC;IAEF,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAAoB,EACpB,YAAyB,EACzB,UAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtD,uCAAuC;IACvC,IAAI,aAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,IAAA,WAAI,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,UAAU,MAAM,CAAC,QAAQ,GAAG,CACjE,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IAEF,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,aAAa,GAAG,iBAAiB,CAAC;IACtC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,8CAA8C,WAAW,UAAU,MAAM,CAAC,QAAQ,GAAG,CACtF,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,aAAa,CAAC,IAAI,EAAE,CAAC;IAErB,6BAA6B;IAC7B,MAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,cAAc,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAC/F,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAuB,EAAC,QAAQ,EAAE;gBACrD,aAAa,EAAE,MAAM,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAClD,MAAM,EACN,YAAY,EACZ,UAAU,CACX,CAAC;YACF,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,MAAoB,EACpB,YAAyB,EACzB,UAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtD,uCAAuC;IACvC,IAAI,aAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,aAAa,GAAG,IAAA,eAAQ,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,UAAU,MAAM,CAAC,QAAQ,GAAG,CACjE,CAAC;IACJ,CAAC;IAED,oCAAoC;IACpC,aAAa,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IAEF,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,aAAa,GAAG,iBAAiB,CAAC;IACtC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;gBACrC,OAAO,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,8CAA8C,WAAW,UAAU,MAAM,CAAC,QAAQ,GAAG,CACtF,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,aAAa,CAAC,IAAI,EAAE,CAAC;IAErB,6BAA6B;IAC7B,MAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,cAAc,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAC/F,CAAC;QACJ,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,oCAA2B,EAAC,QAAQ,EAAE;gBACnD,aAAa,EAAE,MAAM,CAAC,MAAM;aAC7B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,iCAAiC,CAChD,MAAM,EACN,YAAY,EACZ,UAAU,CACX,CAAC;YACF,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED