gagen 0.4.0 → 0.5.1
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 +161 -8
- package/esm/cli.d.ts.map +1 -1
- package/esm/cli.js +40 -0
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.14}/build_message.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.14}/diff.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.14}/diff_str.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.14}/format.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.14}/styles.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.14}/types.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_chars.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_dumper_state.d.ts +2 -2
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_dumper_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_dumper_state.js +2 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_loader_state.d.ts +2 -2
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_loader_state.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_loader_state.js +41 -24
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_schema.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/binary.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/bool.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/float.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/float.js +4 -4
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/int.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/map.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/merge.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/nil.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/omap.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/pairs.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/regexp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/seq.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/set.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/str.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/timestamp.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type/undefined.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_type.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/1.1.1/_utils.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/parse.d.ts +7 -5
- package/esm/deps/jsr.io/@std/yaml/1.1.1/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/parse.js +3 -1
- package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/stringify.d.ts +1 -1
- package/esm/deps/jsr.io/@std/yaml/1.1.1/stringify.d.ts.map +1 -0
- package/esm/job.d.ts.map +1 -1
- package/esm/job.js +201 -62
- package/esm/mod.d.ts +3 -3
- package/esm/mod.d.ts.map +1 -1
- package/esm/mod.js +1 -1
- package/esm/pin.d.ts +34 -4
- package/esm/pin.d.ts.map +1 -1
- package/esm/pin.js +124 -40
- package/esm/step.d.ts +48 -1
- package/esm/step.d.ts.map +1 -1
- package/esm/step.js +117 -3
- package/esm/workflow.d.ts.map +1 -1
- package/esm/workflow.js +4 -4
- package/package.json +1 -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.1}/_chars.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_chars.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_schema.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_schema.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/binary.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/binary.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/bool.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/bool.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/float.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/int.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/int.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/map.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/map.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/merge.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/merge.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/nil.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/nil.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/omap.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/omap.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/pairs.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/pairs.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/regexp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/regexp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/seq.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/seq.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/set.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/set.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/str.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/str.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/timestamp.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/timestamp.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/undefined.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type/undefined.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_type.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_utils.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/_utils.js +0 -0
- /package/esm/deps/jsr.io/@std/yaml/{1.0.12 → 1.1.1}/stringify.js +0 -0
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ initial code is more easily maintainable.
|
|
|
16
16
|
## Basic usage
|
|
17
17
|
|
|
18
18
|
```ts
|
|
19
|
-
|
|
19
|
+
// .github/workflows/ci.ts
|
|
20
20
|
import { conditions, step, workflow } from "gagen";
|
|
21
21
|
|
|
22
22
|
const checkout = step({
|
|
@@ -61,6 +61,13 @@ workflow({
|
|
|
61
61
|
});
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
+
Generate via the `gagen` cli:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
# or alternatively run the script directly
|
|
68
|
+
npx gagen
|
|
69
|
+
```
|
|
70
|
+
|
|
64
71
|
This generates a `ci.generated.yml` with steps in the correct order and figures
|
|
65
72
|
out that it should only install deno when the lint step should be run and it
|
|
66
73
|
defers that step only until it's necessary.
|
|
@@ -76,20 +83,17 @@ jobs:
|
|
|
76
83
|
build:
|
|
77
84
|
runs-on: ubuntu-latest
|
|
78
85
|
steps:
|
|
79
|
-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
|
86
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
|
80
87
|
- name: Clippy
|
|
81
88
|
if: github.ref != 'refs/heads/main'
|
|
82
89
|
run: cargo clippy
|
|
83
|
-
- uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282
|
|
90
|
+
- uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2
|
|
84
91
|
if: github.ref != 'refs/heads/main'
|
|
85
92
|
- name: Deno Lint
|
|
86
93
|
if: github.ref != 'refs/heads/main'
|
|
87
94
|
run: deno lint
|
|
88
95
|
- name: Test
|
|
89
96
|
run: cargo test
|
|
90
|
-
|
|
91
|
-
# gagen:pin actions/checkout@v6 = de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
|
92
|
-
# gagen:pin denoland/setup-deno@v2 = 667a34cdef165d8d2b2e98dde39547c9daac7282
|
|
93
97
|
```
|
|
94
98
|
|
|
95
99
|
When run normally, this writes `ci.generated.yml`. When run with `--lint`, it
|
|
@@ -118,10 +122,32 @@ npx gagen
|
|
|
118
122
|
|
|
119
123
|
# lint the output
|
|
120
124
|
npx gagen --lint
|
|
125
|
+
|
|
126
|
+
# pull version bumps from generated yaml back into the source scripts
|
|
127
|
+
# (useful after dependabot updates a .generated.yml)
|
|
128
|
+
npx gagen --pull-versions
|
|
121
129
|
```
|
|
122
130
|
|
|
123
131
|
The requires your scripts to use the `writeOrLint` function.
|
|
124
132
|
|
|
133
|
+
### `--pull-versions`
|
|
134
|
+
|
|
135
|
+
Dependabot updates the inline version comment on each `uses:` line of the
|
|
136
|
+
generated YAML (e.g. `actions/checkout@<new-hash> # v7`). The source script
|
|
137
|
+
still reads `v6`, so the next regeneration would revert the bump. Running
|
|
138
|
+
`npx gagen --pull-versions` scans every YAML in `.github/workflows`, collects
|
|
139
|
+
the current version for each action, then rewrites `"owner/repo@<old>"` literals
|
|
140
|
+
in the script files to match. The YAML is already up to date, so no regeneration
|
|
141
|
+
is needed.
|
|
142
|
+
|
|
143
|
+
Limitations:
|
|
144
|
+
|
|
145
|
+
- Only literal `"owner/repo@ref"` strings (double or single quoted) are
|
|
146
|
+
rewritten. Template literals with substitutions and computed uses values are
|
|
147
|
+
left alone.
|
|
148
|
+
- If the same action appears in multiple YAML files with different versions, it
|
|
149
|
+
is reported as a conflict and skipped — resolve it manually.
|
|
150
|
+
|
|
125
151
|
## Dependency pinning—the output is a lockfile
|
|
126
152
|
|
|
127
153
|
By default, `writeOrLint` pins action references to their resolved commit hashes
|
|
@@ -141,10 +167,12 @@ It will output:
|
|
|
141
167
|
|
|
142
168
|
```yaml
|
|
143
169
|
steps:
|
|
144
|
-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
145
|
-
# gagen:pin actions/checkout@v6 = 11bd71901bbe5b1630ceea73d27597364c9af683
|
|
170
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v6
|
|
146
171
|
```
|
|
147
172
|
|
|
173
|
+
The inline comment records the original ref so gagen can re-resolve it when you
|
|
174
|
+
run with `--update-pins`.
|
|
175
|
+
|
|
148
176
|
Then the next time it runs, it will read the output to get a locked set of
|
|
149
177
|
dependencies.
|
|
150
178
|
|
|
@@ -405,6 +433,131 @@ library throws with the cycle path:
|
|
|
405
433
|
Error: Cycle detected in step ordering: A → B → A
|
|
406
434
|
```
|
|
407
435
|
|
|
436
|
+
## Parallel steps
|
|
437
|
+
|
|
438
|
+
`step.parallel()` groups steps into a
|
|
439
|
+
[GitHub Actions `parallel:` block](https://github.blog/changelog/2026-06-25-actions-steps-can-now-be-run-in-parallel/)
|
|
440
|
+
so they run concurrently within a single job:
|
|
441
|
+
|
|
442
|
+
```ts
|
|
443
|
+
const a = step({ name: "A", run: "echo a" });
|
|
444
|
+
const b = step({ name: "B", run: "echo b" });
|
|
445
|
+
|
|
446
|
+
workflow({
|
|
447
|
+
...,
|
|
448
|
+
jobs: [{
|
|
449
|
+
id: "ci",
|
|
450
|
+
runsOn: "ubuntu-latest",
|
|
451
|
+
steps: [step.parallel(a, b)],
|
|
452
|
+
}],
|
|
453
|
+
});
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
```yaml
|
|
457
|
+
steps:
|
|
458
|
+
- parallel:
|
|
459
|
+
- name: A
|
|
460
|
+
run: echo a
|
|
461
|
+
- name: B
|
|
462
|
+
run: echo b
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
## Background steps
|
|
466
|
+
|
|
467
|
+
For finer control than `parallel` — long-running services, or non-blocking work
|
|
468
|
+
that overlaps later steps — set `background: true` on a step and synchronize
|
|
469
|
+
with `step.waitFor()`, `step.waitForAll()`, or `step.cancel()`.
|
|
470
|
+
|
|
471
|
+
A long-running service is started in the background, used, then stopped with
|
|
472
|
+
`step.cancel()`:
|
|
473
|
+
|
|
474
|
+
```ts
|
|
475
|
+
const server = step({
|
|
476
|
+
id: "server",
|
|
477
|
+
name: "Start server",
|
|
478
|
+
run: "npm start",
|
|
479
|
+
background: true,
|
|
480
|
+
});
|
|
481
|
+
|
|
482
|
+
workflow({
|
|
483
|
+
...,
|
|
484
|
+
jobs: [{
|
|
485
|
+
id: "e2e",
|
|
486
|
+
runsOn: "ubuntu-latest",
|
|
487
|
+
steps: [
|
|
488
|
+
server,
|
|
489
|
+
step({ name: "Run tests", run: "npm test" }),
|
|
490
|
+
step.cancel(server),
|
|
491
|
+
// ...more steps go here...
|
|
492
|
+
],
|
|
493
|
+
}],
|
|
494
|
+
});
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
```yaml
|
|
498
|
+
steps:
|
|
499
|
+
- name: Start server
|
|
500
|
+
id: server
|
|
501
|
+
run: npm start
|
|
502
|
+
background: true
|
|
503
|
+
- name: Run tests
|
|
504
|
+
run: npm test
|
|
505
|
+
- cancel: server
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
`step.waitFor()` is instead for background work that finishes — kick it off, do
|
|
509
|
+
something else while it runs, then block on it before the step that needs it:
|
|
510
|
+
|
|
511
|
+
```ts
|
|
512
|
+
const build = step({
|
|
513
|
+
id: "build",
|
|
514
|
+
name: "Build assets",
|
|
515
|
+
run: "npm run build",
|
|
516
|
+
background: true,
|
|
517
|
+
});
|
|
518
|
+
|
|
519
|
+
workflow({
|
|
520
|
+
...,
|
|
521
|
+
jobs: [{
|
|
522
|
+
id: "ci",
|
|
523
|
+
runsOn: "ubuntu-latest",
|
|
524
|
+
steps: [
|
|
525
|
+
build,
|
|
526
|
+
step({ name: "Lint", run: "npm run lint" }), // runs while the build proceeds
|
|
527
|
+
step.waitFor(build),
|
|
528
|
+
step({ name: "Package", run: "npm run package" }),
|
|
529
|
+
],
|
|
530
|
+
}],
|
|
531
|
+
});
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
```yaml
|
|
535
|
+
steps:
|
|
536
|
+
- name: Build assets
|
|
537
|
+
id: build
|
|
538
|
+
run: npm run build
|
|
539
|
+
background: true
|
|
540
|
+
- name: Lint
|
|
541
|
+
run: npm run lint
|
|
542
|
+
- wait: build
|
|
543
|
+
- name: Package
|
|
544
|
+
run: npm run package
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
- `step.waitFor(...steps)` → a `wait` step that blocks until the referenced
|
|
548
|
+
background steps finish (`wait: id`, or a list for several). It is ordered
|
|
549
|
+
after — and pulls in — the steps it waits on.
|
|
550
|
+
- `step.waitForAll()` → a `wait-all` step that blocks until every active
|
|
551
|
+
background step finishes.
|
|
552
|
+
- `step.cancel(step)` → a `cancel` step that terminates a background step.
|
|
553
|
+
|
|
554
|
+
`waitFor`/`cancel` only target a background step with an explicit `id` (the id
|
|
555
|
+
is needed to reference it in the generated YAML); otherwise the call throws. A
|
|
556
|
+
maximum of 10 background steps run concurrently. Because ordering between
|
|
557
|
+
background work and the steps that run alongside it is positional, list those
|
|
558
|
+
steps in the order you want them (or use `comesAfter()`), the same as any other
|
|
559
|
+
step.
|
|
560
|
+
|
|
408
561
|
## Typed matrix
|
|
409
562
|
|
|
410
563
|
`defineMatrix()` gives you typed access to matrix values:
|
package/esm/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,qBAAqB,CAAC;AAO7B,wBAAsB,MAAM,kBAkC3B"}
|
package/esm/cli.js
CHANGED
|
@@ -4,12 +4,17 @@ import fs from "node:fs";
|
|
|
4
4
|
import { dirname, join, resolve } from "node:path";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
6
6
|
import process from "node:process";
|
|
7
|
+
import { collectActionVersions, pullVersionsInSource } from "./pin.js";
|
|
7
8
|
export async function runCli() {
|
|
8
9
|
const workflowsDir = findWorkflowsDir();
|
|
9
10
|
if (workflowsDir == null) {
|
|
10
11
|
console.error("No .github/workflows directory found.");
|
|
11
12
|
process.exit(1);
|
|
12
13
|
}
|
|
14
|
+
if (process.argv.includes("--pull-versions")) {
|
|
15
|
+
pullVersions(workflowsDir);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
13
18
|
const entries = fs.readdirSync(workflowsDir);
|
|
14
19
|
const extensions = [".ts", ".js", ".mts", ".mjs", ".cts", ".cjs"];
|
|
15
20
|
const tsFiles = entries
|
|
@@ -31,6 +36,41 @@ export async function runCli() {
|
|
|
31
36
|
await import(pathToFileURL(fullPath).href);
|
|
32
37
|
}
|
|
33
38
|
}
|
|
39
|
+
function pullVersions(workflowsDir) {
|
|
40
|
+
const entries = fs.readdirSync(workflowsDir);
|
|
41
|
+
const yamlFiles = entries.filter((f) => f.endsWith(".yml") || f.endsWith(".yaml"));
|
|
42
|
+
const yamlContents = yamlFiles.map((f) => fs.readFileSync(resolve(workflowsDir, f), "utf8"));
|
|
43
|
+
const { versions, conflicts } = collectActionVersions(yamlContents);
|
|
44
|
+
for (const [action, refs] of conflicts) {
|
|
45
|
+
console.error(`\x1b[33mwarning\x1b[0m ${action}: conflicting versions ${refs.join(", ")} — skipping`);
|
|
46
|
+
}
|
|
47
|
+
if (versions.size === 0) {
|
|
48
|
+
if (conflicts.size === 0) {
|
|
49
|
+
console.error("No pinned versions found in generated YAML files.");
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const scriptExtensions = [".ts", ".js", ".mts", ".mjs", ".cts", ".cjs"];
|
|
54
|
+
const scriptFiles = entries
|
|
55
|
+
.filter((f) => scriptExtensions.some((ext) => f.endsWith(ext)))
|
|
56
|
+
.sort();
|
|
57
|
+
let anyChanges = false;
|
|
58
|
+
for (const file of scriptFiles) {
|
|
59
|
+
const fullPath = resolve(workflowsDir, file);
|
|
60
|
+
const content = fs.readFileSync(fullPath, "utf8");
|
|
61
|
+
const { content: updated, changes } = pullVersionsInSource(content, versions);
|
|
62
|
+
if (changes.length === 0)
|
|
63
|
+
continue;
|
|
64
|
+
anyChanges = true;
|
|
65
|
+
fs.writeFileSync(fullPath, updated);
|
|
66
|
+
for (const change of changes) {
|
|
67
|
+
console.error(`\x1b[32mupdated\x1b[0m ${file}: ${change.action}@${change.from} → ${change.to}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!anyChanges) {
|
|
71
|
+
console.error("All script files are already up to date.");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
34
74
|
function findWorkflowsDir() {
|
|
35
75
|
let dir = resolve(".");
|
|
36
76
|
while (true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build_message.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.
|
|
1
|
+
{"version":3,"file":"build_message.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.14/build_message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ;AAClB;;;GAGG;AACH,UAAU,UAAQ,GACjB,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAWvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CASrD;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,OAAO,GAAE,mBAAwB,EACjC,YAAY,CAAC,EAAE,CACb,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,UAAU,EAAE,OAAO,EACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,KAC1B,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GACrC,MAAM,EAAE,CA8BV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.14/diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAanD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,EAAE,EACN,CAAC,EAAE,CAAC,EAAE,EACN,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,GACzB,KAAK,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAiCD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,aAAa,GACnB,aAAa,CAsBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAwEvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff_str.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.
|
|
1
|
+
{"version":3,"file":"diff_str.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.14/diff_str.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAGhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY/C;AAKD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,EAAE,CAiBnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,GAC3B,UAAU,CAAC,MAAM,CAAC,EAAE,CAetB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAkDlE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.14/format.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,SAAS,GAAG,CACtB,CAAC,EAAE,OAAO,EACV,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,KACE,MAAM,CAAC;AAEZ;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAmBzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.14/styles.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.14/types.ts"],"names":[],"mappings":"AAGA,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_chars.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.1/_chars.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG,QAAS,CAAC;AAC1B,eAAO,MAAM,GAAG,IAAO,CAAC;AACxB,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,eAAe,KAAO,CAAC;AACpC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,WAAW,KAAO,CAAC;AAChC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,OAAO,KAAO,CAAC;AAC5B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,IAAI,KAAO,CAAC;AACzB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,GAAG,KAAO,CAAC;AACxB,eAAO,MAAM,KAAK,KAAO,CAAC;AAC1B,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,QAAQ,KAAO,CAAC;AAC7B,eAAO,MAAM,aAAa,KAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,KAAO,CAAC;AACxC,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,oBAAoB,KAAO,CAAC;AACzC,eAAO,MAAM,YAAY,KAAO,CAAC;AACjC,eAAO,MAAM,kBAAkB,MAAO,CAAC;AACvC,eAAO,MAAM,aAAa,MAAO,CAAC;AAClC,eAAO,MAAM,mBAAmB,MAAO,CAAC;AAExC,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAExC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlD"}
|
|
@@ -26,7 +26,7 @@ export interface DumperStateOptions {
|
|
|
26
26
|
* if first argument is less than second argument, zero if they're equal
|
|
27
27
|
* and a positive value otherwise.
|
|
28
28
|
*/
|
|
29
|
-
sortKeys?: boolean | ((a: string, b: string) => number);
|
|
29
|
+
sortKeys?: boolean | ((a: string, b: string, depth: number) => number);
|
|
30
30
|
/** set max line width. (default: 80) */
|
|
31
31
|
lineWidth?: number;
|
|
32
32
|
/**
|
|
@@ -59,7 +59,7 @@ export declare class DumperState {
|
|
|
59
59
|
arrayIndent: boolean;
|
|
60
60
|
skipInvalid: boolean;
|
|
61
61
|
flowLevel: number;
|
|
62
|
-
sortKeys: boolean | ((a: string, b: string) => number);
|
|
62
|
+
sortKeys: boolean | ((a: string, b: string, depth: number) => number);
|
|
63
63
|
lineWidth: number;
|
|
64
64
|
useAnchors: boolean;
|
|
65
65
|
compatMode: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_dumper_state.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.1/_dumper_state.ts"],"names":[],"mappings":"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"}
|
|
@@ -561,7 +561,8 @@ export class DumperState {
|
|
|
561
561
|
}
|
|
562
562
|
else if (typeof this.sortKeys === "function") {
|
|
563
563
|
// Custom sort function
|
|
564
|
-
|
|
564
|
+
const sortKeys = this.sortKeys;
|
|
565
|
+
keys.sort((a, b) => sortKeys(a, b, level));
|
|
565
566
|
}
|
|
566
567
|
else if (this.sortKeys) {
|
|
567
568
|
// Something is wrong
|
|
@@ -6,7 +6,7 @@ export interface LoaderStateOptions {
|
|
|
6
6
|
/** compatibility with JSON.parse behaviour. */
|
|
7
7
|
allowDuplicateKeys?: boolean;
|
|
8
8
|
/** function to call on warning messages. */
|
|
9
|
-
onWarning?(error:
|
|
9
|
+
onWarning?(error: SyntaxError): void;
|
|
10
10
|
}
|
|
11
11
|
interface State {
|
|
12
12
|
tag: string | null;
|
|
@@ -19,7 +19,7 @@ export declare class LoaderState {
|
|
|
19
19
|
lineIndent: number;
|
|
20
20
|
lineStart: number;
|
|
21
21
|
line: number;
|
|
22
|
-
onWarning: ((error:
|
|
22
|
+
onWarning: ((error: SyntaxError) => void) | undefined;
|
|
23
23
|
allowDuplicateKeys: boolean;
|
|
24
24
|
implicitTypes: Type<"scalar">[];
|
|
25
25
|
typeMap: TypeMap;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_loader_state.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/yaml/1.1.1/_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;
|
|
@@ -380,12 +380,22 @@ export class LoaderState {
|
|
|
380
380
|
for (const [key, value] of Object.entries(source)) {
|
|
381
381
|
if (Object.hasOwn(destination, key))
|
|
382
382
|
continue;
|
|
383
|
-
Object.defineProperty
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
383
|
+
// `Object.defineProperty` is significantly slower than direct
|
|
384
|
+
// assignment in V8. Direct assignment produces an identical descriptor
|
|
385
|
+
// (writable/enumerable/configurable) for ordinary keys; the only
|
|
386
|
+
// sensitive case is `__proto__`, where direct assignment would mutate
|
|
387
|
+
// the prototype chain instead of creating an own property.
|
|
388
|
+
if (key === "__proto__") {
|
|
389
|
+
Object.defineProperty(destination, key, {
|
|
390
|
+
value,
|
|
391
|
+
writable: true,
|
|
392
|
+
enumerable: true,
|
|
393
|
+
configurable: true,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
destination[key] = value;
|
|
398
|
+
}
|
|
389
399
|
overridableKeys.add(key);
|
|
390
400
|
}
|
|
391
401
|
}
|
|
@@ -429,12 +439,19 @@ export class LoaderState {
|
|
|
429
439
|
__classPrivateFieldGet(this, _LoaderState_scanner, "f").position = startPos || __classPrivateFieldGet(this, _LoaderState_scanner, "f").position;
|
|
430
440
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Cannot store mapping pair: duplicated key");
|
|
431
441
|
}
|
|
432
|
-
Object.defineProperty
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
442
|
+
// See `mergeMappings` above for why `Object.defineProperty` is kept
|
|
443
|
+
// only for the `__proto__` key.
|
|
444
|
+
if (keyNode === "__proto__") {
|
|
445
|
+
Object.defineProperty(result, keyNode, {
|
|
446
|
+
value: valueNode,
|
|
447
|
+
writable: true,
|
|
448
|
+
enumerable: true,
|
|
449
|
+
configurable: true,
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
result[keyNode] = valueNode;
|
|
454
|
+
}
|
|
438
455
|
overridableKeys.delete(keyNode);
|
|
439
456
|
}
|
|
440
457
|
return result;
|
|
@@ -1123,7 +1140,7 @@ export class LoaderState {
|
|
|
1123
1140
|
if (ch === EXCLAMATION) {
|
|
1124
1141
|
if (!isNamed) {
|
|
1125
1142
|
tagHandle = __classPrivateFieldGet(this, _LoaderState_scanner, "f").source.slice(position - 1, __classPrivateFieldGet(this, _LoaderState_scanner, "f").position + 1);
|
|
1126
|
-
if (!
|
|
1143
|
+
if (!PATTERN_TAG_HANDLE_REGEXP.test(tagHandle)) {
|
|
1127
1144
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Cannot read tag property: named tag handle contains invalid characters");
|
|
1128
1145
|
}
|
|
1129
1146
|
isNamed = true;
|
|
@@ -1137,11 +1154,11 @@ export class LoaderState {
|
|
|
1137
1154
|
ch = __classPrivateFieldGet(this, _LoaderState_scanner, "f").peek();
|
|
1138
1155
|
}
|
|
1139
1156
|
tagName = __classPrivateFieldGet(this, _LoaderState_scanner, "f").source.slice(position, __classPrivateFieldGet(this, _LoaderState_scanner, "f").position);
|
|
1140
|
-
if (
|
|
1157
|
+
if (PATTERN_FLOW_INDICATORS_REGEXP.test(tagName)) {
|
|
1141
1158
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, "Cannot read tag property: tag suffix cannot contain flow indicator characters");
|
|
1142
1159
|
}
|
|
1143
1160
|
}
|
|
1144
|
-
if (tagName && !
|
|
1161
|
+
if (tagName && !PATTERN_TAG_URI_REGEXP.test(tagName)) {
|
|
1145
1162
|
throw __classPrivateFieldGet(this, _LoaderState_instances, "m", _LoaderState_createError).call(this, `Cannot read tag property: invalid characters in tag name "${tagName}"`);
|
|
1146
1163
|
}
|
|
1147
1164
|
if (isVerbatim) {
|
|
@@ -1419,7 +1436,7 @@ export class LoaderState {
|
|
|
1419
1436
|
result = newState.result;
|
|
1420
1437
|
this.skipSeparationSpace(true, -1);
|
|
1421
1438
|
if (this.checkLineBreaks &&
|
|
1422
|
-
|
|
1439
|
+
PATTERN_NON_ASCII_LINE_BREAKS_REGEXP.test(__classPrivateFieldGet(this, _LoaderState_scanner, "f").source.slice(documentStart, __classPrivateFieldGet(this, _LoaderState_scanner, "f").position))) {
|
|
1423
1440
|
this.dispatchWarning("non-ASCII line breaks are interpreted as content");
|
|
1424
1441
|
}
|
|
1425
1442
|
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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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.1/_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"}
|