@dsillman2000/yaml-reference-ts 1.5.0 → 1.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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # YAML Reference Resolver (TypeScript)
2
- ![NPM Version](https://img.shields.io/npm/v/%40dsillman2000%2Fyaml-reference-ts) ![Spec Status](https://img.shields.io/badge/spec%20v0.2.6--5-passing-green?link=https%3A%2F%2Fgithub.com%2Fdsillman2000%2Fyaml-reference-specs%2Ftree%2Fv0.2.6-5)
2
+ ![NPM Version](https://img.shields.io/npm/v/%40dsillman2000%2Fyaml-reference-ts) ![Spec Status](https://img.shields.io/badge/spec%20v0.2.8--0-passing-green?link=https%3A%2F%2Fgithub.com%2Fdsillman2000%2Fyaml-reference-specs%2Ftree%2Fv0.2.8-0)
3
3
 
4
4
 
5
5
 
@@ -44,6 +44,9 @@ database: !reference
44
44
  # Inline mapping syntax
45
45
  settings: !reference {path: ./settings/production.yaml}
46
46
 
47
+ # Scalar shorthand syntax
48
+ config: !reference "./config/database.yaml"
49
+
47
50
  # Extract a specific anchor from the referenced file
48
51
  db_host: !reference {path: ./config/database.yaml, anchor: host}
49
52
 
@@ -63,6 +66,9 @@ configs: !reference-all
63
66
  # Inline mapping syntax
64
67
  files: !reference-all {glob: ./data/*.yaml}
65
68
 
69
+ # Scalar shorthand syntax
70
+ refs: !reference-all "./refs/*.yaml"
71
+
66
72
  # Extract a specific anchor from each matched file
67
73
  ports: !reference-all {glob: ./services/*.yaml, anchor: port}
68
74
  ```
@@ -98,7 +104,7 @@ merged: !merge
98
104
  - {override: true}
99
105
  ```
100
106
 
101
- **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.
107
+ **Note**: For `!reference` and `!reference-all` tags, mapping syntax and scalar shorthand syntax are supported. For mapping syntax, conform to the API (`!reference {path: <path>, anchor: <anchor>}` or `!reference-all {glob: <glob>, anchor: <anchor>}`, where `anchor` is optional). For scalar shorthand, provide the path or glob directly as a string (e.g., `!reference "./config.yaml"` or `!reference-all "./refs/*.yaml"`). Note that `anchor` cannot be specified using scalar shorthand. For `!flatten` and `!merge` tags, only sequence syntax is supported.
102
108
 
103
109
  **Deterministic Ordering**: The `!reference-all` tag resolves files in alphabetical order to ensure consistent, predictable results across different systems and runs.
104
110
 
@@ -317,7 +323,7 @@ const resolved = await loadYamlWithReferences('./config/main.yaml', [
317
323
 
318
324
  **Deterministic Behavior**: The library ensures predictable output by:
319
325
  - Sorting `!reference-all` file matches alphabetically before resolution
320
- - Rejecting scalar syntax for `!reference` and `!reference-all` tags (only mapping syntax is allowed)
326
+ - Accepting mapping syntax and scalar shorthand syntax for `!reference` and `!reference-all` tags (sequence syntax is not allowed)
321
327
  - Rejecting mapping syntax for `!flatten` and `!merge` tags (only sequence syntax is allowed)
322
328
  - Using consistent error messages for validation failures
323
329
  - Enforcing path restrictions to prevent unauthorized file access
@@ -52,6 +52,6 @@ export declare const referenceTags: ({
52
52
  nodeClass: typeof ReferenceNode;
53
53
  } | {
54
54
  tag: string;
55
- resolve: (_: unknown, onError: (message: string) => void) => void;
55
+ resolve: (value: unknown, onError: (message: string) => void) => void | Record<string, unknown>;
56
56
  })[];
57
57
  //# sourceMappingURL=Reference.d.ts.map
@@ -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,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;AAkCD,eAAO,MAAM,aAAa;sBA5BN,OAAO;;;;;;iBAuBZ,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IASzD,CAAC"}
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;AAwCD,eAAO,MAAM,aAAa;sBAlCN,OAAO;;;;;;qBAwBR,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAc7D,CAAC"}
package/dist/Reference.js CHANGED
@@ -129,17 +129,23 @@ const illegalReferenceOnSequence = {
129
129
  },
130
130
  };
131
131
  /**
132
- * Dummy illegal flag when !reference is used on a scalar.
132
+ * Custom tag for !reference when used in scalar shorthand form (e.g. !reference
133
+ * "path/to/file.yaml")
133
134
  */
134
- const illegalReferenceOnScalar = {
135
+ const referenceScalarShorthand = {
135
136
  tag: "!reference",
136
- resolve: (_, onError) => {
137
- return onError("!reference tag cannot be used on a scalar");
137
+ resolve: (value, onError) => {
138
+ if (typeof value !== "string") {
139
+ return onError("!reference scalar shorthand requires a string path");
140
+ }
141
+ const obj = { path: value };
142
+ Object.assign(obj, { [exports.REFERENCE_NODE_FLAG]: true });
143
+ return obj;
138
144
  },
139
145
  };
140
146
  exports.referenceTags = [
141
147
  referenceTag,
142
148
  illegalReferenceOnSequence,
143
- illegalReferenceOnScalar,
149
+ referenceScalarShorthand,
144
150
  ];
145
151
  //# sourceMappingURL=Reference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Reference.js","sourceRoot":"","sources":["../src/Reference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Reference.js","sourceRoot":"","sources":["../src/Reference.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,6 @@ export declare const ReferenceAllTags: ({
52
52
  nodeClass: typeof ReferenceAllNode;
53
53
  } | {
54
54
  tag: string;
55
- resolve: (_: unknown, onError: (message: string) => void) => void;
55
+ resolve: (value: unknown, onError: (message: string) => void) => void | Record<string, unknown>;
56
56
  })[];
57
57
  //# sourceMappingURL=ReferenceAll.d.ts.map
@@ -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,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;AAkCD,eAAO,MAAM,gBAAgB;sBA5BT,OAAO;;;;;;iBAuBZ,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IASzD,CAAC"}
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;AAwCD,eAAO,MAAM,gBAAgB;sBAlCT,OAAO;;;;;;qBAwBR,OAAO,WAAW,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAc7D,CAAC"}
@@ -131,17 +131,23 @@ const illegalReferenceAllOnSequence = {
131
131
  },
132
132
  };
133
133
  /**
134
- * Dummy illegal flag when !reference-all is used on a scalar.
134
+ * Custom tag for !reference-all when used in scalar shorthand form (e.g.
135
+ * !reference-all "refs/*.yaml")
135
136
  */
136
- const illegalReferenceAllOnScalar = {
137
+ const referenceAllScalarShorthand = {
137
138
  tag: "!reference-all",
138
- resolve: (_, onError) => {
139
- return onError("!reference-all tag cannot be used on a scalar");
139
+ resolve: (value, onError) => {
140
+ if (typeof value !== "string") {
141
+ return onError("!reference-all scalar shorthand requires a string glob");
142
+ }
143
+ const obj = { glob: value };
144
+ Object.assign(obj, { [exports.REFERENCE_ALL_NODE_FLAG]: true });
145
+ return obj;
140
146
  },
141
147
  };
142
148
  exports.ReferenceAllTags = [
143
149
  referenceAllTag,
144
150
  illegalReferenceAllOnSequence,
145
- illegalReferenceAllOnScalar,
151
+ referenceAllScalarShorthand,
146
152
  ];
147
153
  //# sourceMappingURL=ReferenceAll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferenceAll.js","sourceRoot":"","sources":["../src/ReferenceAll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReferenceAll.js","sourceRoot":"","sources":["../src/ReferenceAll.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsillman2000/yaml-reference-ts",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "A Node.js TypeScript library for resolving YAML documents containing !reference and !reference-all tags",
5
5
  "repository": {
6
6
  "type": "git",