gagen 0.3.4 → 0.5.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 +56 -118
- package/esm/_dnt.polyfills.d.ts +99 -0
- package/esm/_dnt.polyfills.d.ts.map +1 -1
- package/esm/_dnt.polyfills.js +127 -1
- package/esm/cli.d.ts +4 -0
- package/esm/cli.d.ts.map +1 -0
- package/esm/cli.js +88 -0
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/build_message.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/diff.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/diff_str.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/format.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/styles.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/types.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_dumper_state.d.ts +2 -2
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_dumper_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_dumper_state.js +2 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_loader_state.js +12 -12
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/float.js +4 -4
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/stringify.d.ts +1 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.0/stringify.d.ts.map +1 -0
- package/esm/job.d.ts.map +1 -1
- package/esm/job.js +3 -2
- package/esm/mod.d.ts +2 -2
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +5 -1
- package/esm/pin.d.ts +34 -4
- package/esm/pin.d.ts.map +1 -1
- package/esm/pin.js +107 -32
- package/esm/step.d.ts +4 -2
- package/esm/step.d.ts.map +1 -1
- package/esm/step.js +8 -1
- package/esm/workflow.d.ts.map +1 -1
- package/esm/workflow.js +4 -4
- package/package.json +4 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_chars.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_dumper_state.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_loader_state.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_schema.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/binary.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/bool.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/float.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/int.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/map.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/merge.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/nil.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/omap.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/pairs.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/regexp.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/seq.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/set.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/str.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/timestamp.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type/undefined.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_type.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/_utils.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/parse.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/yaml/1.0.12/stringify.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_chars.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_chars.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_loader_state.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_schema.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/binary.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/binary.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/bool.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/bool.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/float.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/int.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/int.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/map.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/map.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/merge.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/merge.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/nil.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/nil.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/omap.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/omap.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/pairs.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/pairs.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/regexp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/regexp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/seq.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/seq.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/set.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/set.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/str.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/str.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/timestamp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/timestamp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/undefined.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type/undefined.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_type.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_utils.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/_utils.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/parse.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/parse.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.0}/stringify.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_loader_state.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_loader_state.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,13 +24,13 @@ const CONTEXT_BLOCK_OUT = 4;
|
|
|
24
24
|
const CHOMPING_CLIP = 1;
|
|
25
25
|
const CHOMPING_STRIP = 2;
|
|
26
26
|
const CHOMPING_KEEP = 3;
|
|
27
|
-
const
|
|
27
|
+
const PATTERN_NON_PRINTABLE_REGEXP =
|
|
28
28
|
// deno-lint-ignore no-control-regex
|
|
29
29
|
/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
30
|
+
const PATTERN_NON_ASCII_LINE_BREAKS_REGEXP = /[\x85\u2028\u2029]/;
|
|
31
|
+
const PATTERN_FLOW_INDICATORS_REGEXP = /[,\[\]\{\}]/;
|
|
32
|
+
const PATTERN_TAG_HANDLE_REGEXP = /^(?:!|!!|![a-z\-]+!)$/i;
|
|
33
|
+
const PATTERN_TAG_URI_REGEXP = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
|
|
34
34
|
const ESCAPED_HEX_LENGTHS = new Map([
|
|
35
35
|
[0x78, 2], // x
|
|
36
36
|
[0x75, 4], // u
|
|
@@ -300,13 +300,13 @@ export class LoaderState {
|
|
|
300
300
|
}
|
|
301
301
|
const handle = args[0];
|
|
302
302
|
const prefix = args[1];
|
|
303
|
-
if (!
|
|
303
|
+
if (!PATTERN_TAG_HANDLE_REGEXP.test(handle)) {
|
|
304
304
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, `Cannot handle tag directive: ill-formed handle (first argument) in "${handle}"`);
|
|
305
305
|
}
|
|
306
306
|
if (this.tagMap.has(handle)) {
|
|
307
307
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, `Cannot handle tag directive: previously declared suffix for "${handle}" tag handle`);
|
|
308
308
|
}
|
|
309
|
-
if (!
|
|
309
|
+
if (!PATTERN_TAG_URI_REGEXP.test(prefix)) {
|
|
310
310
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Cannot handle tag directive: ill-formed tag prefix (second argument) of the TAG directive");
|
|
311
311
|
}
|
|
312
312
|
this.tagMap.set(handle, prefix);
|
|
@@ -323,7 +323,7 @@ export class LoaderState {
|
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
|
-
else if (
|
|
326
|
+
else if (PATTERN_NON_PRINTABLE_REGEXP.test(result)) {
|
|
327
327
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Stream contains non-printable characters");
|
|
328
328
|
}
|
|
329
329
|
return result;
|
|
@@ -1123,7 +1123,7 @@ export class LoaderState {
|
|
|
1123
1123
|
if (ch === EXCLAMATION) {
|
|
1124
1124
|
if (!isNamed) {
|
|
1125
1125
|
tagHandle = __classPrivateFieldGet(this, _LoaderState_scanner, "f").source.slice(position - 1, __classPrivateFieldGet(this, _LoaderState_scanner, "f").position + 1);
|
|
1126
|
-
if (!
|
|
1126
|
+
if (!PATTERN_TAG_HANDLE_REGEXP.test(tagHandle)) {
|
|
1127
1127
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Cannot read tag property: named tag handle contains invalid characters");
|
|
1128
1128
|
}
|
|
1129
1129
|
isNamed = true;
|
|
@@ -1137,11 +1137,11 @@ export class LoaderState {
|
|
|
1137
1137
|
ch = __classPrivateFieldGet(this, _LoaderState_scanner, "f").peek();
|
|
1138
1138
|
}
|
|
1139
1139
|
tagName = __classPrivateFieldGet(this, _LoaderState_scanner, "f").source.slice(position, __classPrivateFieldGet(this, _LoaderState_scanner, "f").position);
|
|
1140
|
-
if (
|
|
1140
|
+
if (PATTERN_FLOW_INDICATORS_REGEXP.test(tagName)) {
|
|
1141
1141
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Cannot read tag property: tag suffix cannot contain flow indicator characters");
|
|
1142
1142
|
}
|
|
1143
1143
|
}
|
|
1144
|
-
if (tagName && !
|
|
1144
|
+
if (tagName && !PATTERN_TAG_URI_REGEXP.test(tagName)) {
|
|
1145
1145
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, `Cannot read tag property: invalid characters in tag name "${tagName}"`);
|
|
1146
1146
|
}
|
|
1147
1147
|
if (isVerbatim) {
|
|
@@ -1419,7 +1419,7 @@ export class LoaderState {
|
|
|
1419
1419
|
result = newState.result;
|
|
1420
1420
|
this.skipSeparationSpace(true, -1);
|
|
1421
1421
|
if (this.checkLineBreaks &&
|
|
1422
|
-
|
|
1422
|
+
PATTERN_NON_ASCII_LINE_BREAKS_REGEXP.test(__classPrivateFieldGet(this, _LoaderState_scanner, "f").source.slice(documentStart, __classPrivateFieldGet(this, _LoaderState_scanner, "f").position))) {
|
|
1423
1423
|
this.dispatchWarning("non-ASCII line breaks are interpreted as content");
|
|
1424
1424
|
}
|
|
1425
1425
|
if (__classPrivateFieldGet(this, _LoaderState_scanner, "f").position === this.lineStart && this.testDocumentSeparator()) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_schema.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bool.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"float.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright 2011-2015 by Vitaly Puzrin. All rights reserved. MIT license.
|
|
4
4
|
// Copyright 2018-2026 the Deno authors. MIT license.
|
|
5
5
|
import { isNegativeZero } from "../_utils.js";
|
|
6
|
-
const
|
|
6
|
+
const YAML_FLOAT_REGEXP = new RegExp(
|
|
7
7
|
// 2.5e4, 2.5 and integers
|
|
8
8
|
"^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?" +
|
|
9
9
|
// .2e4, .2
|
|
@@ -14,7 +14,7 @@ const YAML_FLOAT_PATTERN = new RegExp(
|
|
|
14
14
|
// .nan
|
|
15
15
|
"|\\.(?:nan|NaN|NAN))$");
|
|
16
16
|
function resolveYamlFloat(data) {
|
|
17
|
-
if (!
|
|
17
|
+
if (!YAML_FLOAT_REGEXP.test(data) ||
|
|
18
18
|
// Quick hack to not allow integers end with `_`
|
|
19
19
|
// Probably should update regexp & check speed
|
|
20
20
|
data[data.length - 1] === "_") {
|
|
@@ -36,7 +36,7 @@ function constructYamlFloat(data) {
|
|
|
36
36
|
}
|
|
37
37
|
return sign * parseFloat(value);
|
|
38
38
|
}
|
|
39
|
-
const
|
|
39
|
+
const SCIENTIFIC_WITHOUT_DOT_REGEXP = /^[-+]?[0-9]+e/;
|
|
40
40
|
function representYamlFloat(
|
|
41
41
|
// deno-lint-ignore ban-types
|
|
42
42
|
object, style) {
|
|
@@ -77,7 +77,7 @@ object, style) {
|
|
|
77
77
|
const res = value.toString(10);
|
|
78
78
|
// JS stringifier can build scientific format without dots: 5e-100,
|
|
79
79
|
// while YAML requires dot: 5.e-100. Fix it with simple hack
|
|
80
|
-
return
|
|
80
|
+
return SCIENTIFIC_WITHOUT_DOT_REGEXP.test(res) ? res.replace("e", ".e") : res;
|
|
81
81
|
}
|
|
82
82
|
function isFloat(object) {
|
|
83
83
|
if (object instanceof Number)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"int.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nil.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omap.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pairs.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAQxC,eAAO,MAAM,KAAK,EAAE,IAAI,CAAC,UAAU,CAQlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regexp.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seq.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undefined.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_type.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/_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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.0/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,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACvE;;;;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/job.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../src/job.ts"],"names":[],"mappings":"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"}
|
package/esm/job.js
CHANGED
|
@@ -12,7 +12,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
12
12
|
var _Job_instances, _Job_id, _Job_config, _Job_leafItems, _Job_outputDefs, _Job_cachedGraph, _Job_cachedLeafSteps, _Job_buildGraph;
|
|
13
13
|
import { Condition, ExpressionValue, isAlwaysFalse, isAlwaysTrue, } from "./expression.js";
|
|
14
14
|
import { Matrix } from "./matrix.js";
|
|
15
|
-
import { serializeConditionLike, serializeConfigValues, Step, StepRef, toCondition, unwrapSteps, } from "./step.js";
|
|
15
|
+
import { normalizeStepLike, serializeConditionLike, serializeConfigValues, Step, StepRef, toCondition, unwrapSteps, } from "./step.js";
|
|
16
16
|
function ensureEntry(graph, step) {
|
|
17
17
|
let entry = graph.get(step);
|
|
18
18
|
if (!entry) {
|
|
@@ -93,7 +93,8 @@ function propagatableConfigIf(step) {
|
|
|
93
93
|
* collected in `deferredAfterDeps` and resolved later, so that comesAfter
|
|
94
94
|
* only adds ordering edges for steps already present in the graph.
|
|
95
95
|
*/
|
|
96
|
-
function flattenStepLike(
|
|
96
|
+
function flattenStepLike(rawItem, graph, isLeaf, leafSteps, deferredAfterDeps, contextCondition) {
|
|
97
|
+
const item = normalizeStepLike(rawItem);
|
|
97
98
|
if (item instanceof StepRef) {
|
|
98
99
|
const step = item.step;
|
|
99
100
|
// AND this StepRef's condition with the parent context
|
package/esm/mod.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export { isLinting, Workflow, workflow } from "./workflow.js";
|
|
|
7
7
|
export type { WorkflowCallInput, WorkflowCallOutput, WorkflowCallSecret, WorkflowCallTrigger, WorkflowConfig, WorkflowTriggers, } from "./workflow.js";
|
|
8
8
|
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, fromJSON, hashFiles, join, literal, ThenBuilder, toJSON, } from "./expression.js";
|
|
9
9
|
export type { ComparisonOp, ConcatPart, ExpressionSource, ExprMap, ExprOf, TernaryValue, } from "./expression.js";
|
|
10
|
-
export {
|
|
11
|
-
export type { PinEntry, RefResolver } from "./pin.js";
|
|
10
|
+
export { collectActionVersions, parsePinComments, pinYamlContent, pullVersionsInSource, resolveRef, unpinParsedYaml, } from "./pin.js";
|
|
11
|
+
export type { PinEntry, RefResolver, VersionChange } from "./pin.js";
|
|
12
12
|
export { defineMatrix, Matrix } from "./matrix.js";
|
|
13
13
|
export type { PermissionLevel, Permissions, PermissionScope, } from "./permissions.js";
|
|
14
14
|
export { Artifact, artifact } 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,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,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,
|
|
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,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,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,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACrE,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,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC;AAEtD,0CAA0C;AAC1C,eAAO,MAAM,cAAc,EAAE,OAAO,SAAqB,CAAC;AAC1D,0CAA0C;AAC1C,eAAO,MAAM,cAAc,EAAE,OAAO,SAAqB,CAAC"}
|
package/esm/mod.js
CHANGED
|
@@ -3,7 +3,7 @@ export { Step, step, StepRef } from "./step.js";
|
|
|
3
3
|
export { Job, job } from "./job.js";
|
|
4
4
|
export { isLinting, Workflow, workflow } from "./workflow.js";
|
|
5
5
|
export { concat, Condition, conditions, defineExprObj, ElseIfBuilder, expr, ExpressionValue, fromJSON, hashFiles, join, literal, ThenBuilder, toJSON, } from "./expression.js";
|
|
6
|
-
export {
|
|
6
|
+
export { collectActionVersions, parsePinComments, pinYamlContent, pullVersionsInSource, resolveRef, unpinParsedYaml, } from "./pin.js";
|
|
7
7
|
export { defineMatrix, Matrix } from "./matrix.js";
|
|
8
8
|
export { Artifact, artifact } from "./artifact.js";
|
|
9
9
|
// deprecated re-exports
|
|
@@ -13,3 +13,7 @@ import { artifact as artifact_ } from "./artifact.js";
|
|
|
13
13
|
export const createWorkflow = workflow_;
|
|
14
14
|
/** @deprecated Use `artifact` instead. */
|
|
15
15
|
export const defineArtifact = artifact_;
|
|
16
|
+
// run the cli
|
|
17
|
+
if (globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).main) {
|
|
18
|
+
import("./cli.js").then((mod) => mod.runCli());
|
|
19
|
+
}
|
package/esm/pin.d.ts
CHANGED
|
@@ -13,15 +13,45 @@ export declare function parseActionUses(uses: string): {
|
|
|
13
13
|
} | undefined;
|
|
14
14
|
export declare function resolveRef(owner: string, repo: string, ref: string): string;
|
|
15
15
|
export type RefResolver = (owner: string, repo: string, ref: string) => string;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Resolves non-SHA refs in YAML content to commit hashes, writing the
|
|
18
|
+
* original ref as an inline comment after the pinned `uses:` value.
|
|
19
|
+
*/
|
|
17
20
|
export declare function pinYamlContent(yamlStr: string, resolve?: RefResolver, cache?: readonly PinEntry[]): {
|
|
18
21
|
content: string;
|
|
19
22
|
pins: PinEntry[];
|
|
20
23
|
};
|
|
21
|
-
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Extracts pin entries from file content. Reads the current inline format
|
|
26
|
+
* (`uses: owner/repo@HASH # ref`) and, for backwards compatibility, the
|
|
27
|
+
* legacy footer format (`# gagen:pin owner/repo@ref = HASH`).
|
|
28
|
+
*/
|
|
24
29
|
export declare function parsePinComments(content: string): PinEntry[];
|
|
30
|
+
/**
|
|
31
|
+
* Collects the pinned version for each action across a set of generated
|
|
32
|
+
* YAML files. If an action appears in multiple files with different
|
|
33
|
+
* versions, it is returned as a conflict instead — conflicts must be
|
|
34
|
+
* resolved manually since there is no single correct target version.
|
|
35
|
+
*/
|
|
36
|
+
export declare function collectActionVersions(yamlContents: readonly string[]): {
|
|
37
|
+
versions: Map<string, string>;
|
|
38
|
+
conflicts: Map<string, string[]>;
|
|
39
|
+
};
|
|
40
|
+
export interface VersionChange {
|
|
41
|
+
action: string;
|
|
42
|
+
from: string;
|
|
43
|
+
to: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Rewrites literal `"owner/repo@<ref>"` (or single-quoted) strings in
|
|
47
|
+
* source code to use the target version from the given map. Only matches
|
|
48
|
+
* literals with a single owner/repo[/path]@ref shape; variables, template
|
|
49
|
+
* substitutions, and non-string forms are left alone.
|
|
50
|
+
*/
|
|
51
|
+
export declare function pullVersionsInSource(source: string, versions: ReadonlyMap<string, string>): {
|
|
52
|
+
content: string;
|
|
53
|
+
changes: VersionChange[];
|
|
54
|
+
};
|
|
25
55
|
/**
|
|
26
56
|
* Replaces pinned hashes in a parsed YAML object with their original
|
|
27
57
|
* tag/branch refs using the provided pin mapping.
|
package/esm/pin.d.ts.map
CHANGED
|
@@ -1 +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
|
|
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;;;GAGG;AACH,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,CA+DvC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAqB5D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B;IACD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC,CA2BA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAY/C;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EAAE,GACf,OAAO,CA8CT"}
|
package/esm/pin.js
CHANGED
|
@@ -39,68 +39,143 @@ export function resolveRef(owner, repo, ref) {
|
|
|
39
39
|
}
|
|
40
40
|
throw new Error(`Could not resolve ref "${ref}" for ${owner}/${repo}`);
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Resolves non-SHA refs in YAML content to commit hashes, writing the
|
|
44
|
+
* original ref as an inline comment after the pinned `uses:` value.
|
|
45
|
+
*/
|
|
43
46
|
export function pinYamlContent(yamlStr, resolve = resolveRef, cache) {
|
|
44
47
|
const pins = [];
|
|
45
|
-
const
|
|
48
|
+
const resolved = new Map();
|
|
46
49
|
if (cache) {
|
|
47
50
|
for (const entry of cache) {
|
|
48
|
-
|
|
51
|
+
resolved.set(entry.original, entry.hash);
|
|
49
52
|
}
|
|
50
53
|
}
|
|
51
|
-
const content = yamlStr.replace(/^(\s+(?:-\s+)?uses:\s+)(
|
|
52
|
-
const
|
|
53
|
-
const parsed = parseActionUses(trimmed);
|
|
54
|
+
const content = yamlStr.replace(/^(\s+(?:-\s+)?uses:\s+)(\S+)([^\n]*)$/gm, (_match, prefix, usesValue, rest) => {
|
|
55
|
+
const parsed = parseActionUses(usesValue);
|
|
54
56
|
if (!parsed)
|
|
55
|
-
return `${prefix}${usesValue}`;
|
|
57
|
+
return `${prefix}${usesValue}${rest}`;
|
|
56
58
|
if (isCommitHash(parsed.ref)) {
|
|
57
|
-
// already pinned —
|
|
58
|
-
|
|
59
|
+
// already pinned — recover the original ref from an inline comment
|
|
60
|
+
// or, failing that, from the legacy footer entries in the cache
|
|
61
|
+
const actionPath = usesValue.substring(0, usesValue.lastIndexOf("@"));
|
|
62
|
+
let originalRef;
|
|
63
|
+
const inlineMatch = rest.match(/^\s*#\s*(\S+)/);
|
|
64
|
+
if (inlineMatch) {
|
|
65
|
+
originalRef = inlineMatch[1];
|
|
66
|
+
}
|
|
67
|
+
else if (cache) {
|
|
59
68
|
for (const entry of cache) {
|
|
60
69
|
const ep = parseActionUses(entry.original);
|
|
61
70
|
if (ep &&
|
|
62
71
|
`${ep.owner}/${ep.repo}` === `${parsed.owner}/${parsed.repo}` &&
|
|
72
|
+
ep.path === parsed.path &&
|
|
63
73
|
entry.hash === parsed.ref) {
|
|
64
|
-
|
|
65
|
-
pins.push(entry);
|
|
66
|
-
}
|
|
74
|
+
originalRef = ep.ref;
|
|
67
75
|
break;
|
|
68
76
|
}
|
|
69
77
|
}
|
|
70
78
|
}
|
|
71
|
-
|
|
79
|
+
if (!originalRef)
|
|
80
|
+
return `${prefix}${usesValue}${rest}`;
|
|
81
|
+
const original = `${actionPath}@${originalRef}`;
|
|
82
|
+
if (!pins.some((p) => p.original === original)) {
|
|
83
|
+
pins.push({ original, hash: parsed.ref });
|
|
84
|
+
}
|
|
85
|
+
return `${prefix}${usesValue} # ${originalRef}`;
|
|
72
86
|
}
|
|
73
|
-
let hash =
|
|
87
|
+
let hash = resolved.get(usesValue);
|
|
74
88
|
if (!hash) {
|
|
75
89
|
hash = resolve(parsed.owner, parsed.repo, parsed.ref);
|
|
76
|
-
|
|
90
|
+
resolved.set(usesValue, hash);
|
|
77
91
|
}
|
|
78
|
-
if (!pins.some((p) => p.original ===
|
|
79
|
-
pins.push({ original:
|
|
92
|
+
if (!pins.some((p) => p.original === usesValue)) {
|
|
93
|
+
pins.push({ original: usesValue, hash });
|
|
80
94
|
}
|
|
81
|
-
const
|
|
82
|
-
return `${prefix}${
|
|
95
|
+
const actionPath = usesValue.substring(0, usesValue.lastIndexOf("@"));
|
|
96
|
+
return `${prefix}${actionPath}@${hash} # ${parsed.ref}`;
|
|
83
97
|
});
|
|
84
98
|
return { content, pins };
|
|
85
99
|
}
|
|
86
|
-
/**
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
const lines = sorted.map((p) => `# gagen:pin ${p.original} = ${p.hash}`);
|
|
92
|
-
return "\n" + lines.join("\n") + "\n";
|
|
93
|
-
}
|
|
94
|
-
/** Extracts pin entries from file content. */
|
|
100
|
+
/**
|
|
101
|
+
* Extracts pin entries from file content. Reads the current inline format
|
|
102
|
+
* (`uses: owner/repo@HASH # ref`) and, for backwards compatibility, the
|
|
103
|
+
* legacy footer format (`# gagen:pin owner/repo@ref = HASH`).
|
|
104
|
+
*/
|
|
95
105
|
export function parsePinComments(content) {
|
|
96
106
|
const pins = [];
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
const seen = new Set();
|
|
108
|
+
const inlineRe = /^\s+(?:-\s+)?uses:\s+(\S+?)@([0-9a-f]{40})\s+#\s*(\S+)/gm;
|
|
109
|
+
let m;
|
|
110
|
+
while ((m = inlineRe.exec(content)) !== null) {
|
|
111
|
+
const original = `${m[1]}@${m[3]}`;
|
|
112
|
+
if (seen.has(original))
|
|
113
|
+
continue;
|
|
114
|
+
seen.add(original);
|
|
115
|
+
pins.push({ original, hash: m[2] });
|
|
116
|
+
}
|
|
117
|
+
const footerRe = /^# gagen:pin (.+) = ([0-9a-f]{40})$/gm;
|
|
118
|
+
while ((m = footerRe.exec(content)) !== null) {
|
|
119
|
+
if (seen.has(m[1]))
|
|
120
|
+
continue;
|
|
121
|
+
seen.add(m[1]);
|
|
122
|
+
pins.push({ original: m[1], hash: m[2] });
|
|
101
123
|
}
|
|
102
124
|
return pins;
|
|
103
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Collects the pinned version for each action across a set of generated
|
|
128
|
+
* YAML files. If an action appears in multiple files with different
|
|
129
|
+
* versions, it is returned as a conflict instead — conflicts must be
|
|
130
|
+
* resolved manually since there is no single correct target version.
|
|
131
|
+
*/
|
|
132
|
+
export function collectActionVersions(yamlContents) {
|
|
133
|
+
const seen = new Map();
|
|
134
|
+
for (const content of yamlContents) {
|
|
135
|
+
for (const pin of parsePinComments(content)) {
|
|
136
|
+
const parsed = parseActionUses(pin.original);
|
|
137
|
+
if (!parsed)
|
|
138
|
+
continue;
|
|
139
|
+
const action = parsed.path
|
|
140
|
+
? `${parsed.owner}/${parsed.repo}/${parsed.path}`
|
|
141
|
+
: `${parsed.owner}/${parsed.repo}`;
|
|
142
|
+
let set = seen.get(action);
|
|
143
|
+
if (!set) {
|
|
144
|
+
set = new Set();
|
|
145
|
+
seen.set(action, set);
|
|
146
|
+
}
|
|
147
|
+
set.add(parsed.ref);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const versions = new Map();
|
|
151
|
+
const conflicts = new Map();
|
|
152
|
+
for (const [action, set] of seen) {
|
|
153
|
+
if (set.size === 1) {
|
|
154
|
+
versions.set(action, [...set][0]);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
conflicts.set(action, [...set]);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return { versions, conflicts };
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Rewrites literal `"owner/repo@<ref>"` (or single-quoted) strings in
|
|
164
|
+
* source code to use the target version from the given map. Only matches
|
|
165
|
+
* literals with a single owner/repo[/path]@ref shape; variables, template
|
|
166
|
+
* substitutions, and non-string forms are left alone.
|
|
167
|
+
*/
|
|
168
|
+
export function pullVersionsInSource(source, versions) {
|
|
169
|
+
const changes = [];
|
|
170
|
+
const content = source.replace(/(["'])([^"'@\s/]+\/[^"'@\s/]+(?:\/[^"'@\s]+)?)@([^"'\s]+)\1/g, (match, quote, action, ref) => {
|
|
171
|
+
const target = versions.get(action);
|
|
172
|
+
if (!target || target === ref)
|
|
173
|
+
return match;
|
|
174
|
+
changes.push({ action, from: ref, to: target });
|
|
175
|
+
return `${quote}${action}@${target}${quote}`;
|
|
176
|
+
});
|
|
177
|
+
return { content, changes };
|
|
178
|
+
}
|
|
104
179
|
/**
|
|
105
180
|
* Replaces pinned hashes in a parsed YAML object with their original
|
|
106
181
|
* tag/branch refs using the provided pin mapping.
|
package/esm/step.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export interface StepConfig<O extends string = never> {
|
|
|
16
16
|
readonly outputs?: readonly O[];
|
|
17
17
|
}
|
|
18
18
|
export declare function resetStepCounter(): void;
|
|
19
|
-
export type StepLike = Step<string> | StepRef<string
|
|
19
|
+
export type StepLike = Step<string> | StepRef<string> | StepConfig;
|
|
20
20
|
export declare class Step<O extends string = never> implements ExpressionSource {
|
|
21
21
|
#private;
|
|
22
22
|
readonly config: StepConfig<O>;
|
|
@@ -68,8 +68,10 @@ export declare class StepRef<O extends string = never> {
|
|
|
68
68
|
export declare function serializeConditionLike(c: ConditionLike): string;
|
|
69
69
|
export declare function toCondition(c: ConditionLike): Condition;
|
|
70
70
|
export declare function serializeConfigValues(record: Record<string, ConfigValue>): Record<string, string | number | boolean>;
|
|
71
|
+
/** Normalizes a StepLike to a Step or StepRef, auto-wrapping plain objects. */
|
|
72
|
+
export declare function normalizeStepLike(item: StepLike): Step<string> | StepRef<string>;
|
|
71
73
|
/** Extracts the underlying Step from a StepLike (Step or StepRef). */
|
|
72
|
-
export declare function unwrapStep(item:
|
|
74
|
+
export declare function unwrapStep(item: StepLike): Step<string>;
|
|
73
75
|
/** Extracts all underlying leaf Steps from a StepLike (recursively for composites). */
|
|
74
76
|
export declare function unwrapSteps(item: StepLike): Step<string>[];
|
|
75
77
|
//# sourceMappingURL=step.d.ts.map
|
package/esm/step.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC;AAEtE,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;CACjC;AAKD,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../src/step.ts"],"names":[],"mappings":"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"}
|
package/esm/step.js
CHANGED
|
@@ -290,9 +290,16 @@ export function serializeConfigValues(record) {
|
|
|
290
290
|
return result;
|
|
291
291
|
}
|
|
292
292
|
// --- helpers ---
|
|
293
|
+
/** Normalizes a StepLike to a Step or StepRef, auto-wrapping plain objects. */
|
|
294
|
+
export function normalizeStepLike(item) {
|
|
295
|
+
if (item instanceof Step || item instanceof StepRef)
|
|
296
|
+
return item;
|
|
297
|
+
return new Step(item);
|
|
298
|
+
}
|
|
293
299
|
/** Extracts the underlying Step from a StepLike (Step or StepRef). */
|
|
294
300
|
export function unwrapStep(item) {
|
|
295
|
-
|
|
301
|
+
const normalized = normalizeStepLike(item);
|
|
302
|
+
return normalized instanceof StepRef ? normalized.step : normalized;
|
|
296
303
|
}
|
|
297
304
|
/** Extracts all underlying leaf Steps from a StepLike (recursively for composites). */
|
|
298
305
|
export function unwrapSteps(item) {
|
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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"}
|