gagen 0.2.17 → 0.3.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 -0
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/almost_equals.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/array_includes.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/assert.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/assertion_error.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/1.0.19/equal.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/1.0.19/equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/exists.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/fail.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/false.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/greater.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/greater_or_equal.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/instance_of.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/is_error.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/less.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/less_or_equal.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/match.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/mod.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/1.0.19/not_equals.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/not_instance_of.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/not_match.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/not_strict_equals.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/object_match.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/rejects.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/strict_equals.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/string_includes.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/throws.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/unimplemented.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/assert/{1.0.18 → 1.0.19}/unreachable.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_dumper_state.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_loader_state.d.ts +0 -5
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_loader_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_loader_state.js +216 -175
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.js +0 -2
- package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/stringify.d.ts.map +1 -1
- package/esm/expression.d.ts +43 -2
- package/esm/expression.d.ts.map +1 -1
- package/esm/expression.js +99 -3
- package/esm/mod.d.ts +4 -2
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +2 -1
- package/esm/pin.d.ts +30 -0
- package/esm/pin.d.ts.map +1 -0
- package/esm/pin.js +123 -0
- package/esm/workflow.d.ts +6 -0
- package/esm/workflow.d.ts.map +1 -1
- package/esm/workflow.js +42 -5
- package/package.json +1 -1
- package/esm/deps/jsr.io/@std/assert/1.0.18/equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.18/equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.18/not_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.11/_loader_state.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_chars.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_dumper_state.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_dumper_state.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_schema.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/binary.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/bool.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/float.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/int.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/map.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/merge.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/nil.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/omap.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/pairs.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/regexp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/seq.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/set.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/str.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/timestamp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type/undefined.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_type.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/_utils.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/parse.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/stringify.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.11 → 1.0.12}/stringify.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_schema.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"_schema.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_schema.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAiBjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/E;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1C,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAC1B,QAAQ,GAAG,UAAU,EACrB,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAC1B,CAAC;AAqBF,MAAM,WAAW,MAAM;IACrB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AA2CD;;GAEG;AACH,eAAO,MAAM,cAAc,QAIzB,CAAC;AA2BH,eAAO,MAAM,UAAU,yBAMrB,CAAC;AAEH,wBAAgB,SAAS,CACvB,MAAM,GAAE,UAAsB,EAC9B,KAAK,CAAC,EAAE,YAAY,EAAE,GACrB,MAAM,CAWR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/binary.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAmHxC,eAAO,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAO7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/bool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAMxC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAyBxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"float.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"float.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/float.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,IAAI,EAAE,MAAM,aAAa,CAAC;AAkGtD,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAQxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"int.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/int.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAqIxC,eAAO,MAAM,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAmCtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/map.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CASxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/merge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAKzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nil.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"nil.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/nil.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAmBpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omap.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"omap.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/omap.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAiBxC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAOjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pairs.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"pairs.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/pairs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,UAAU,CAQlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regexp.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"regexp.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/regexp.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAIxC,eAAO,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAuBzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seq.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"seq.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/seq.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAK3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/set.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAS7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/str.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAKtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/timestamp.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAsFxC,eAAO,MAAM,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAS1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"undefined.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"undefined.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type/undefined.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAenD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_type.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"_type.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_type.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AACzD;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,WAAW,GACX,WAAW,GACX,SAAS,GACT,QAAQ,GACR,OAAO,GACP,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC;AAEvE;;GAEG;AAEH,MAAM,WAAW,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,GAAG,GAAG;IAC/C,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,IAAI,EAAE,CAAC,CAAC;IACR,uCAAuC;IACvC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC;IACzC,oDAAoD;IACpD,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,oDAAoD;IACpD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gFAAgF;IAEhF,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IAChC,4DAA4D;IAE5D,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/_utils.ts"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM,CAE/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/parse.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAChC;AAgBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAcT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAO7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.
|
|
1
|
+
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.0.12/stringify.ts"],"names":[],"mappings":"AAOA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAEzC,yCAAyC;AACzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACxD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAMR"}
|
package/esm/expression.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ export declare class ExpressionValue {
|
|
|
22
22
|
not(): Condition;
|
|
23
23
|
/** concatenate this value with additional strings, numbers, or expressions */
|
|
24
24
|
concat(...parts: ConcatPart[]): ExpressionValue;
|
|
25
|
+
endsWith(suffix: string): Condition;
|
|
26
|
+
greaterThan(value: number): Condition;
|
|
27
|
+
greaterThanOrEqual(value: number): Condition;
|
|
28
|
+
lessThan(value: number): Condition;
|
|
29
|
+
lessThanOrEqual(value: number): Condition;
|
|
30
|
+
/** serialize this value as JSON */
|
|
31
|
+
toJSON(): ExpressionValue;
|
|
25
32
|
/** wrap in `${{ }}` for use in YAML */
|
|
26
33
|
toString(): string;
|
|
27
34
|
}
|
|
@@ -65,10 +72,12 @@ export declare abstract class Condition {
|
|
|
65
72
|
/** render wrapped in `${{ }}` for YAML `if` fields */
|
|
66
73
|
toString(): string;
|
|
67
74
|
}
|
|
68
|
-
/**
|
|
75
|
+
/** comparison operators supported in GitHub Actions expressions */
|
|
76
|
+
export type ComparisonOp = "==" | "!=" | ">" | ">=" | "<" | "<=";
|
|
77
|
+
/** `left op right` where op is ==, !=, >, >=, <, or <= */
|
|
69
78
|
export declare class ComparisonCondition extends Condition {
|
|
70
79
|
#private;
|
|
71
|
-
constructor(left: string, op:
|
|
80
|
+
constructor(left: string, op: ComparisonOp, right: string | number | boolean, sources: ReadonlySet<ExpressionSource>);
|
|
72
81
|
not(): Condition;
|
|
73
82
|
toExpression(): string;
|
|
74
83
|
}
|
|
@@ -244,6 +253,38 @@ export type ConcatPart = string | number | ExpressionValue;
|
|
|
244
253
|
* ```
|
|
245
254
|
*/
|
|
246
255
|
export declare function concat(...parts: ConcatPart[]): ExpressionValue;
|
|
256
|
+
/**
|
|
257
|
+
* Parses a JSON string into an object/value. Wraps in `fromJSON()` in GitHub
|
|
258
|
+
* Actions expression contexts.
|
|
259
|
+
*
|
|
260
|
+
* ```ts
|
|
261
|
+
* const matrix = fromJSON(expr("needs.setup.outputs.matrix"));
|
|
262
|
+
* matrix.toString() // => "${{ fromJSON(needs.setup.outputs.matrix) }}"
|
|
263
|
+
* ```
|
|
264
|
+
*/
|
|
265
|
+
export declare function fromJSON(value: string | ExpressionValue): ExpressionValue;
|
|
266
|
+
/**
|
|
267
|
+
* Serializes a value to JSON. Wraps in `toJSON()` in GitHub Actions expression
|
|
268
|
+
* contexts.
|
|
269
|
+
*
|
|
270
|
+
* ```ts
|
|
271
|
+
* const json = toJSON(expr("github.event"));
|
|
272
|
+
* json.toString() // => "${{ toJSON(github.event) }}"
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
export declare function toJSON(value: ExpressionValue): ExpressionValue;
|
|
276
|
+
/** Computes a hash of files matching the given glob patterns. */
|
|
277
|
+
export declare function hashFiles(...patterns: (string | ExpressionValue)[]): ExpressionValue;
|
|
278
|
+
/**
|
|
279
|
+
* Joins an array expression with an optional separator. Wraps in `join()` in
|
|
280
|
+
* GitHub Actions expression contexts.
|
|
281
|
+
*
|
|
282
|
+
* ```ts
|
|
283
|
+
* const labels = join(expr("github.event.pull_request.labels.*.name"), ", ");
|
|
284
|
+
* labels.toString() // => "${{ join(github.event.pull_request.labels.*.name, ', ') }}"
|
|
285
|
+
* ```
|
|
286
|
+
*/
|
|
287
|
+
export declare function join(value: ExpressionValue, separator?: string): ExpressionValue;
|
|
247
288
|
/** Creates an ExpressionValue or Condition from a literal value. */
|
|
248
289
|
export declare function literal(value: boolean): Condition;
|
|
249
290
|
export declare function literal(value: string | number): ExpressionValue;
|
package/esm/expression.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,gBAAgB,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAIvD,wEAAwE;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AAEvE;;;GAGG;AACH,qBAAa,eAAe;;IAE1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;gBAI5C,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC;IAa3D,sDAAsD;IACtD,IAAI,UAAU,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAE9C;IAED,oDAAoD;IACpD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IASnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS;IAStD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAQrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IAQtC,GAAG,IAAI,SAAS;IAIhB,8EAA8E;IAC9E,MAAM,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,GAAG,eAAe;IAI/C,uCAAuC;IACvC,QAAQ,IAAI,MAAM;CAGnB;AAED;;;;GAIG;AACH,8BAAsB,SAAS;IAC7B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAEpC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;IAIlD,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAY1C,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS;IAYzC,GAAG,IAAI,SAAS;IAIhB;;;;;;;OAOG;IACH,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,WAAW;IAItC;;;OAGG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB,2EAA2E;IAC3E,UAAU,IAAI,SAAS,EAAE;IAIzB,0EAA0E;IAC1E,SAAS,IAAI,SAAS,EAAE;IAIxB,8DAA8D;IAC9D,YAAY,IAAI,OAAO;IAIvB,+DAA+D;IAC/D,aAAa,IAAI,OAAO;IAIxB,qEAAqE;IACrE,cAAc,IAAI,OAAO;IAIzB,uCAAuC;IACvC,QAAQ,CAAC,YAAY,IAAI,MAAM;IAE/B,sDAAsD;IACtD,QAAQ,IAAI,MAAM;CAGnB;AAID,
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../src/expression.ts"],"names":[],"mappings":"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"}
|
package/esm/expression.js
CHANGED
|
@@ -73,6 +73,25 @@ export class ExpressionValue {
|
|
|
73
73
|
concat(...parts) {
|
|
74
74
|
return concat(this, ...parts);
|
|
75
75
|
}
|
|
76
|
+
endsWith(suffix) {
|
|
77
|
+
return new FunctionCallCondition("endsWith", [__classPrivateFieldGet(this, _ExpressionValue_expression, "f"), formatLiteral(suffix)], sourcesFrom(this));
|
|
78
|
+
}
|
|
79
|
+
greaterThan(value) {
|
|
80
|
+
return new ComparisonCondition(__classPrivateFieldGet(this, _ExpressionValue_expression, "f"), ">", value, sourcesFrom(this));
|
|
81
|
+
}
|
|
82
|
+
greaterThanOrEqual(value) {
|
|
83
|
+
return new ComparisonCondition(__classPrivateFieldGet(this, _ExpressionValue_expression, "f"), ">=", value, sourcesFrom(this));
|
|
84
|
+
}
|
|
85
|
+
lessThan(value) {
|
|
86
|
+
return new ComparisonCondition(__classPrivateFieldGet(this, _ExpressionValue_expression, "f"), "<", value, sourcesFrom(this));
|
|
87
|
+
}
|
|
88
|
+
lessThanOrEqual(value) {
|
|
89
|
+
return new ComparisonCondition(__classPrivateFieldGet(this, _ExpressionValue_expression, "f"), "<=", value, sourcesFrom(this));
|
|
90
|
+
}
|
|
91
|
+
/** serialize this value as JSON */
|
|
92
|
+
toJSON() {
|
|
93
|
+
return toJSON(this);
|
|
94
|
+
}
|
|
76
95
|
/** wrap in `${{ }}` for use in YAML */
|
|
77
96
|
toString() {
|
|
78
97
|
return `\${{ ${__classPrivateFieldGet(this, _ExpressionValue_expression, "f")} }}`;
|
|
@@ -166,8 +185,15 @@ export class Condition {
|
|
|
166
185
|
return `\${{ ${this.toExpression()} }}`;
|
|
167
186
|
}
|
|
168
187
|
}
|
|
169
|
-
|
|
170
|
-
|
|
188
|
+
const NEGATED_OP = {
|
|
189
|
+
"==": "!=",
|
|
190
|
+
"!=": "==",
|
|
191
|
+
">": "<=",
|
|
192
|
+
">=": "<",
|
|
193
|
+
"<": ">=",
|
|
194
|
+
"<=": ">",
|
|
195
|
+
};
|
|
196
|
+
/** `left op right` where op is ==, !=, >, >=, <, or <= */
|
|
171
197
|
export class ComparisonCondition extends Condition {
|
|
172
198
|
constructor(left, op, right, sources) {
|
|
173
199
|
super(sources);
|
|
@@ -179,7 +205,7 @@ export class ComparisonCondition extends Condition {
|
|
|
179
205
|
__classPrivateFieldSet(this, _ComparisonCondition_right, right, "f");
|
|
180
206
|
}
|
|
181
207
|
not() {
|
|
182
|
-
return new ComparisonCondition(__classPrivateFieldGet(this, _ComparisonCondition_left, "f"), __classPrivateFieldGet(this, _ComparisonCondition_op, "f")
|
|
208
|
+
return new ComparisonCondition(__classPrivateFieldGet(this, _ComparisonCondition_left, "f"), NEGATED_OP[__classPrivateFieldGet(this, _ComparisonCondition_op, "f")], __classPrivateFieldGet(this, _ComparisonCondition_right, "f"), this.sources);
|
|
183
209
|
}
|
|
184
210
|
toExpression() {
|
|
185
211
|
return `${__classPrivateFieldGet(this, _ComparisonCondition_left, "f")} ${__classPrivateFieldGet(this, _ComparisonCondition_op, "f")} ${formatLiteral(__classPrivateFieldGet(this, _ComparisonCondition_right, "f"))}`;
|
|
@@ -679,6 +705,76 @@ class ConcatValue extends ExpressionValue {
|
|
|
679
705
|
}
|
|
680
706
|
}
|
|
681
707
|
_ConcatValue_parts = new WeakMap();
|
|
708
|
+
// --- JSON functions ---
|
|
709
|
+
/**
|
|
710
|
+
* Parses a JSON string into an object/value. Wraps in `fromJSON()` in GitHub
|
|
711
|
+
* Actions expression contexts.
|
|
712
|
+
*
|
|
713
|
+
* ```ts
|
|
714
|
+
* const matrix = fromJSON(expr("needs.setup.outputs.matrix"));
|
|
715
|
+
* matrix.toString() // => "${{ fromJSON(needs.setup.outputs.matrix) }}"
|
|
716
|
+
* ```
|
|
717
|
+
*/
|
|
718
|
+
export function fromJSON(value) {
|
|
719
|
+
if (typeof value === "string") {
|
|
720
|
+
return new ExpressionValue(`fromJSON(${formatLiteral(value)})`);
|
|
721
|
+
}
|
|
722
|
+
const sources = new Set();
|
|
723
|
+
for (const s of value.allSources)
|
|
724
|
+
sources.add(s);
|
|
725
|
+
return new ExpressionValue(`fromJSON(${value.expression})`, sources);
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Serializes a value to JSON. Wraps in `toJSON()` in GitHub Actions expression
|
|
729
|
+
* contexts.
|
|
730
|
+
*
|
|
731
|
+
* ```ts
|
|
732
|
+
* const json = toJSON(expr("github.event"));
|
|
733
|
+
* json.toString() // => "${{ toJSON(github.event) }}"
|
|
734
|
+
* ```
|
|
735
|
+
*/
|
|
736
|
+
export function toJSON(value) {
|
|
737
|
+
const sources = new Set();
|
|
738
|
+
for (const s of value.allSources)
|
|
739
|
+
sources.add(s);
|
|
740
|
+
return new ExpressionValue(`toJSON(${value.expression})`, sources);
|
|
741
|
+
}
|
|
742
|
+
// --- hashFiles ---
|
|
743
|
+
/** Computes a hash of files matching the given glob patterns. */
|
|
744
|
+
export function hashFiles(...patterns) {
|
|
745
|
+
const sources = new Set();
|
|
746
|
+
const args = [];
|
|
747
|
+
for (const p of patterns) {
|
|
748
|
+
if (p instanceof ExpressionValue) {
|
|
749
|
+
for (const s of p.allSources)
|
|
750
|
+
sources.add(s);
|
|
751
|
+
args.push(p.expression);
|
|
752
|
+
}
|
|
753
|
+
else {
|
|
754
|
+
args.push(formatLiteral(p));
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
return new ExpressionValue(`hashFiles(${args.join(", ")})`, sources.size > 0 ? sources : undefined);
|
|
758
|
+
}
|
|
759
|
+
// --- join ---
|
|
760
|
+
/**
|
|
761
|
+
* Joins an array expression with an optional separator. Wraps in `join()` in
|
|
762
|
+
* GitHub Actions expression contexts.
|
|
763
|
+
*
|
|
764
|
+
* ```ts
|
|
765
|
+
* const labels = join(expr("github.event.pull_request.labels.*.name"), ", ");
|
|
766
|
+
* labels.toString() // => "${{ join(github.event.pull_request.labels.*.name, ', ') }}"
|
|
767
|
+
* ```
|
|
768
|
+
*/
|
|
769
|
+
export function join(value, separator) {
|
|
770
|
+
const sources = new Set();
|
|
771
|
+
for (const s of value.allSources)
|
|
772
|
+
sources.add(s);
|
|
773
|
+
const args = separator != null
|
|
774
|
+
? `${value.expression}, ${formatLiteral(separator)}`
|
|
775
|
+
: value.expression;
|
|
776
|
+
return new ExpressionValue(`join(${args})`, sources.size > 0 ? sources : undefined);
|
|
777
|
+
}
|
|
682
778
|
export function literal(value) {
|
|
683
779
|
if (typeof value === "boolean") {
|
|
684
780
|
return new RawCondition(String(value), EMPTY_SOURCES);
|
package/esm/mod.d.ts
CHANGED
|
@@ -5,8 +5,10 @@ export { Job, job } from "./job.js";
|
|
|
5
5
|
export type { JobConfig, JobDef, ReusableJobConfig, ReusableJobDef, ServiceContainer, StepsJobConfig, StepsJobDef, } from "./job.js";
|
|
6
6
|
export { createWorkflow, isLinting, Workflow } from "./workflow.js";
|
|
7
7
|
export type { WorkflowCallInput, WorkflowCallOutput, WorkflowCallSecret, WorkflowCallTrigger, WorkflowConfig, WorkflowTriggers, } from "./workflow.js";
|
|
8
|
-
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, literal, ThenBuilder, } from "./expression.js";
|
|
9
|
-
export type { ConcatPart, ExpressionSource, ExprMap, ExprOf, TernaryValue, } from "./expression.js";
|
|
8
|
+
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, fromJSON, hashFiles, join, literal, ThenBuilder, toJSON, } from "./expression.js";
|
|
9
|
+
export type { ComparisonOp, ConcatPart, ExpressionSource, ExprMap, ExprOf, TernaryValue, } from "./expression.js";
|
|
10
|
+
export { formatPinComments, parsePinComments, pinYamlContent, resolveRef, unpinParsedYaml, } from "./pin.js";
|
|
11
|
+
export type { PinEntry, RefResolver } from "./pin.js";
|
|
10
12
|
export { defineMatrix, Matrix } from "./matrix.js";
|
|
11
13
|
export type { PermissionLevel, Permissions, PermissionScope, } from "./permissions.js";
|
|
12
14
|
export { Artifact, defineArtifact } from "./artifact.js";
|
package/esm/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,YAAY,EACV,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,IAAI,EACJ,eAAe,EACf,OAAO,EACP,WAAW,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD,YAAY,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,YAAY,EACV,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,aAAa,EACb,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,OAAO,EACP,WAAW,EACX,MAAM,GACP,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EACV,eAAe,EACf,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzD,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC"}
|
package/esm/mod.js
CHANGED
|
@@ -2,6 +2,7 @@ import "./_dnt.polyfills.js";
|
|
|
2
2
|
export { Step, step, StepRef } from "./step.js";
|
|
3
3
|
export { Job, job } from "./job.js";
|
|
4
4
|
export { createWorkflow, isLinting, Workflow } from "./workflow.js";
|
|
5
|
-
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, literal, ThenBuilder, } from "./expression.js";
|
|
5
|
+
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, fromJSON, hashFiles, join, literal, ThenBuilder, toJSON, } from "./expression.js";
|
|
6
|
+
export { formatPinComments, parsePinComments, pinYamlContent, resolveRef, unpinParsedYaml, } from "./pin.js";
|
|
6
7
|
export { defineMatrix, Matrix } from "./matrix.js";
|
|
7
8
|
export { Artifact, defineArtifact } from "./artifact.js";
|
package/esm/pin.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface PinEntry {
|
|
2
|
+
/** the original uses value, e.g. "actions/checkout@v6" */
|
|
3
|
+
original: string;
|
|
4
|
+
/** the resolved commit hash */
|
|
5
|
+
hash: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function isCommitHash(ref: string): boolean;
|
|
8
|
+
export declare function parseActionUses(uses: string): {
|
|
9
|
+
owner: string;
|
|
10
|
+
repo: string;
|
|
11
|
+
path: string;
|
|
12
|
+
ref: string;
|
|
13
|
+
} | undefined;
|
|
14
|
+
export declare function resolveRef(owner: string, repo: string, ref: string): string;
|
|
15
|
+
export type RefResolver = (owner: string, repo: string, ref: string) => string;
|
|
16
|
+
/** Resolves non-SHA refs in YAML content to commit hashes. */
|
|
17
|
+
export declare function pinYamlContent(yamlStr: string, resolve?: RefResolver, cache?: readonly PinEntry[]): {
|
|
18
|
+
content: string;
|
|
19
|
+
pins: PinEntry[];
|
|
20
|
+
};
|
|
21
|
+
/** Formats pin entries as comments to append to the file. */
|
|
22
|
+
export declare function formatPinComments(pins: PinEntry[]): string;
|
|
23
|
+
/** Extracts pin entries from file content. */
|
|
24
|
+
export declare function parsePinComments(content: string): PinEntry[];
|
|
25
|
+
/**
|
|
26
|
+
* Replaces pinned hashes in a parsed YAML object with their original
|
|
27
|
+
* tag/branch refs using the provided pin mapping.
|
|
28
|
+
*/
|
|
29
|
+
export declare function unpinParsedYaml(obj: unknown, pins: PinEntry[]): unknown;
|
|
30
|
+
//# sourceMappingURL=pin.d.ts.map
|
package/esm/pin.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../src/pin.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEjD;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAcxE;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,MAAM,CA2BR;AAED,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,KACR,MAAM,CAAC;AAEZ,8DAA8D;AAC9D,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAwB,EACjC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,GAC1B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,CA6BvC;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAI1D;AAED,8CAA8C;AAC9C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAQ5D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EAAE,GACf,OAAO,CA8CT"}
|
package/esm/pin.js
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { execSync } from "node:child_process";
|
|
2
|
+
const SHA_RE = /^[0-9a-f]{40}$/;
|
|
3
|
+
export function isCommitHash(ref) {
|
|
4
|
+
return SHA_RE.test(ref);
|
|
5
|
+
}
|
|
6
|
+
export function parseActionUses(uses) {
|
|
7
|
+
if (uses.startsWith("./") || uses.startsWith("docker://"))
|
|
8
|
+
return undefined;
|
|
9
|
+
const atIndex = uses.lastIndexOf("@");
|
|
10
|
+
if (atIndex === -1)
|
|
11
|
+
return undefined;
|
|
12
|
+
const beforeAt = uses.substring(0, atIndex);
|
|
13
|
+
const ref = uses.substring(atIndex + 1);
|
|
14
|
+
const parts = beforeAt.split("/");
|
|
15
|
+
if (parts.length < 2)
|
|
16
|
+
return undefined;
|
|
17
|
+
return {
|
|
18
|
+
owner: parts[0],
|
|
19
|
+
repo: parts[1],
|
|
20
|
+
path: parts.slice(2).join("/"),
|
|
21
|
+
ref,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function resolveRef(owner, repo, ref) {
|
|
25
|
+
const url = `https://github.com/${owner}/${repo}`;
|
|
26
|
+
const tagOutput = execSync(`git ls-remote "${url}" "refs/tags/${ref}" "refs/tags/${ref}^{}"`, { encoding: "utf8", timeout: 30_000 }).trim();
|
|
27
|
+
if (tagOutput) {
|
|
28
|
+
const lines = tagOutput.split("\n");
|
|
29
|
+
for (const line of lines) {
|
|
30
|
+
if (line.includes("^{}")) {
|
|
31
|
+
return line.split(/\s+/)[0];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return lines[0].split(/\s+/)[0];
|
|
35
|
+
}
|
|
36
|
+
const branchOutput = execSync(`git ls-remote "${url}" "refs/heads/${ref}"`, { encoding: "utf8", timeout: 30_000 }).trim();
|
|
37
|
+
if (branchOutput) {
|
|
38
|
+
return branchOutput.split(/\s+/)[0];
|
|
39
|
+
}
|
|
40
|
+
throw new Error(`Could not resolve ref "${ref}" for ${owner}/${repo}`);
|
|
41
|
+
}
|
|
42
|
+
/** Resolves non-SHA refs in YAML content to commit hashes. */
|
|
43
|
+
export function pinYamlContent(yamlStr, resolve = resolveRef, cache) {
|
|
44
|
+
const pins = [];
|
|
45
|
+
const seen = new Map();
|
|
46
|
+
if (cache) {
|
|
47
|
+
for (const entry of cache) {
|
|
48
|
+
seen.set(entry.original, entry.hash);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const content = yamlStr.replace(/^(\s+(?:-\s+)?uses:\s+)(.+)$/gm, (_match, prefix, usesValue) => {
|
|
52
|
+
const trimmed = usesValue.trim();
|
|
53
|
+
const parsed = parseActionUses(trimmed);
|
|
54
|
+
if (!parsed || isCommitHash(parsed.ref))
|
|
55
|
+
return `${prefix}${usesValue}`;
|
|
56
|
+
let hash = seen.get(trimmed);
|
|
57
|
+
if (!hash) {
|
|
58
|
+
hash = resolve(parsed.owner, parsed.repo, parsed.ref);
|
|
59
|
+
seen.set(trimmed, hash);
|
|
60
|
+
pins.push({ original: trimmed, hash });
|
|
61
|
+
}
|
|
62
|
+
const pinned = trimmed.replace(`@${parsed.ref}`, `@${hash}`);
|
|
63
|
+
return `${prefix}${pinned}`;
|
|
64
|
+
});
|
|
65
|
+
return { content, pins };
|
|
66
|
+
}
|
|
67
|
+
/** Formats pin entries as comments to append to the file. */
|
|
68
|
+
export function formatPinComments(pins) {
|
|
69
|
+
if (pins.length === 0)
|
|
70
|
+
return "";
|
|
71
|
+
const lines = pins.map((p) => `# gagen:pin ${p.original} = ${p.hash}`);
|
|
72
|
+
return "\n" + lines.join("\n") + "\n";
|
|
73
|
+
}
|
|
74
|
+
/** Extracts pin entries from file content. */
|
|
75
|
+
export function parsePinComments(content) {
|
|
76
|
+
const pins = [];
|
|
77
|
+
const re = /^# gagen:pin (.+) = ([0-9a-f]{40})$/gm;
|
|
78
|
+
let match;
|
|
79
|
+
while ((match = re.exec(content)) !== null) {
|
|
80
|
+
pins.push({ original: match[1], hash: match[2] });
|
|
81
|
+
}
|
|
82
|
+
return pins;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Replaces pinned hashes in a parsed YAML object with their original
|
|
86
|
+
* tag/branch refs using the provided pin mapping.
|
|
87
|
+
*/
|
|
88
|
+
export function unpinParsedYaml(obj, pins) {
|
|
89
|
+
if (pins.length === 0 || typeof obj !== "object" || obj === null)
|
|
90
|
+
return obj;
|
|
91
|
+
const hashToOriginal = new Map();
|
|
92
|
+
for (const pin of pins) {
|
|
93
|
+
const atIndex = pin.original.lastIndexOf("@");
|
|
94
|
+
const actionPath = pin.original.substring(0, atIndex);
|
|
95
|
+
hashToOriginal.set(`${actionPath}@${pin.hash}`, pin.original);
|
|
96
|
+
}
|
|
97
|
+
const record = obj;
|
|
98
|
+
if (record.jobs && typeof record.jobs === "object") {
|
|
99
|
+
for (const jobValue of Object.values(record.jobs)) {
|
|
100
|
+
if (typeof jobValue !== "object" || jobValue === null)
|
|
101
|
+
continue;
|
|
102
|
+
const jobObj = jobValue;
|
|
103
|
+
// reusable workflow uses
|
|
104
|
+
if (typeof jobObj.uses === "string" &&
|
|
105
|
+
hashToOriginal.has(jobObj.uses)) {
|
|
106
|
+
jobObj.uses = hashToOriginal.get(jobObj.uses);
|
|
107
|
+
}
|
|
108
|
+
// steps
|
|
109
|
+
if (Array.isArray(jobObj.steps)) {
|
|
110
|
+
for (const s of jobObj.steps) {
|
|
111
|
+
if (typeof s === "object" && s !== null) {
|
|
112
|
+
const stepObj = s;
|
|
113
|
+
if (typeof stepObj.uses === "string" &&
|
|
114
|
+
hashToOriginal.has(stepObj.uses)) {
|
|
115
|
+
stepObj.uses = hashToOriginal.get(stepObj.uses);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return obj;
|
|
123
|
+
}
|
package/esm/workflow.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Job, type JobDef } from "./job.js";
|
|
2
2
|
import type { Permissions } from "./permissions.js";
|
|
3
3
|
import type { ConfigValue } from "./step.js";
|
|
4
|
+
import type { RefResolver } from "./pin.js";
|
|
4
5
|
export interface WorkflowCallInput {
|
|
5
6
|
type: "string" | "boolean" | "number";
|
|
6
7
|
description?: string;
|
|
@@ -70,9 +71,14 @@ export declare class Workflow {
|
|
|
70
71
|
writeOrLint(options: {
|
|
71
72
|
filePath: URL;
|
|
72
73
|
header?: string;
|
|
74
|
+
pinDeps?: boolean | {
|
|
75
|
+
resolve: RefResolver;
|
|
76
|
+
};
|
|
73
77
|
}): void;
|
|
74
78
|
}
|
|
75
79
|
/** Gets if linting would occur when using `writeOrLint` on a workflow. */
|
|
76
80
|
export declare const isLinting: boolean;
|
|
81
|
+
/** Gets if pins should be re-resolved when using `writeOrLint` on a workflow. */
|
|
82
|
+
export declare function isUpdatingPins(): boolean;
|
|
77
83
|
export declare function createWorkflow(config: WorkflowConfig): Workflow;
|
|
78
84
|
//# sourceMappingURL=workflow.d.ts.map
|
package/esm/workflow.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAgB,KAAK,MAAM,EAAgB,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAQ,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|