judges 0.60.2 → 0.60.3
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +36 -37
- data/README.md +54 -0
- data/judges.gemspec +1 -1
- data/lib/judges/commands/pull.rb +1 -2
- data/lib/judges/judges.rb +1 -1
- data/lib/judges.rb +1 -1
- data/package-lock.json +33 -35
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 26d69625988cf52b0a58b477b38399fa6131ce5ef2fca9e41fad8b3f0d9409e9
|
|
4
|
+
data.tar.gz: 49a6f1decdb471de65037f19d249cd4a5f3208e53a7ca3b9e23a8b7a225dbbe4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3222d9734c7ed4e2afe39f61ba91fc9c69ba8ef17ea7639de5112e886a3a5f42cd7a84af6fb024dc96e817750f0cb567f04cd8bf08d93b894500c081323ce5a5
|
|
7
|
+
data.tar.gz: 74bc0d47b424a70b03221212a3626e83999234370003aa97f33d7500c1c2fff7fa175186664c170371ac45a3fa54302ea84920679306079a033f0e0883a8d526
|
data/Gemfile
CHANGED
|
@@ -7,7 +7,7 @@ source 'https://rubygems.org'
|
|
|
7
7
|
gemspec
|
|
8
8
|
|
|
9
9
|
gem 'base64', '~>0.3'
|
|
10
|
-
gem 'cucumber', '~>
|
|
10
|
+
gem 'cucumber', '~>11.0', require: false
|
|
11
11
|
gem 'diff-lcs', '1.6.2', require: false # GPL
|
|
12
12
|
gem 'minitest', '~>6.0', require: false
|
|
13
13
|
gem 'minitest-mock', '~>5.27', require: false
|
data/Gemfile.lock
CHANGED
|
@@ -26,7 +26,7 @@ GEM
|
|
|
26
26
|
specs:
|
|
27
27
|
addressable (2.8.9)
|
|
28
28
|
public_suffix (>= 2.0.2, < 8.0)
|
|
29
|
-
ansi (1.
|
|
29
|
+
ansi (1.6.0)
|
|
30
30
|
ast (2.4.3)
|
|
31
31
|
backtrace (0.4.1)
|
|
32
32
|
base64 (0.3.0)
|
|
@@ -42,24 +42,24 @@ GEM
|
|
|
42
42
|
retries (~> 0.0)
|
|
43
43
|
tago (~> 0.2)
|
|
44
44
|
typhoeus (~> 1.4)
|
|
45
|
-
bigdecimal (4.
|
|
45
|
+
bigdecimal (4.1.1)
|
|
46
46
|
builder (3.3.0)
|
|
47
47
|
concurrent-ruby (1.3.6)
|
|
48
48
|
crack (1.0.1)
|
|
49
49
|
bigdecimal
|
|
50
50
|
rexml
|
|
51
|
-
cucumber (
|
|
51
|
+
cucumber (11.0.0)
|
|
52
52
|
base64 (~> 0.2)
|
|
53
53
|
builder (~> 3.2)
|
|
54
54
|
cucumber-ci-environment (> 9, < 12)
|
|
55
|
-
cucumber-core (
|
|
55
|
+
cucumber-core (>= 16.2.0, < 17)
|
|
56
56
|
cucumber-cucumber-expressions (> 17, < 20)
|
|
57
|
-
cucumber-html-formatter (> 21, <
|
|
57
|
+
cucumber-html-formatter (> 21, < 24)
|
|
58
58
|
diff-lcs (~> 1.5)
|
|
59
59
|
logger (~> 1.6)
|
|
60
60
|
mini_mime (~> 1.1)
|
|
61
61
|
multi_test (~> 1.1)
|
|
62
|
-
sys-uname (~> 1.
|
|
62
|
+
sys-uname (~> 1.5)
|
|
63
63
|
cucumber-ci-environment (11.0.0)
|
|
64
64
|
cucumber-core (16.2.0)
|
|
65
65
|
cucumber-gherkin (> 36, < 40)
|
|
@@ -69,9 +69,9 @@ GEM
|
|
|
69
69
|
bigdecimal
|
|
70
70
|
cucumber-gherkin (39.0.0)
|
|
71
71
|
cucumber-messages (>= 31, < 33)
|
|
72
|
-
cucumber-html-formatter (
|
|
72
|
+
cucumber-html-formatter (23.1.0)
|
|
73
73
|
cucumber-messages (> 23, < 33)
|
|
74
|
-
cucumber-messages (32.
|
|
74
|
+
cucumber-messages (32.3.1)
|
|
75
75
|
cucumber-tag-expressions (8.1.0)
|
|
76
76
|
date (3.5.1)
|
|
77
77
|
decoor (0.1.0)
|
|
@@ -109,41 +109,36 @@ GEM
|
|
|
109
109
|
net-http (~> 0.5)
|
|
110
110
|
faraday-retry (2.4.0)
|
|
111
111
|
faraday (~> 2.0)
|
|
112
|
-
ffi (1.17.
|
|
113
|
-
ffi (1.17.
|
|
114
|
-
ffi (1.17.
|
|
115
|
-
ffi (1.17.
|
|
116
|
-
ffi (1.17.
|
|
117
|
-
ffi (1.17.
|
|
118
|
-
ffi (1.17.
|
|
119
|
-
ffi (1.17.
|
|
120
|
-
ffi (1.17.
|
|
112
|
+
ffi (1.17.4-aarch64-linux-gnu)
|
|
113
|
+
ffi (1.17.4-aarch64-linux-musl)
|
|
114
|
+
ffi (1.17.4-arm-linux-gnu)
|
|
115
|
+
ffi (1.17.4-arm-linux-musl)
|
|
116
|
+
ffi (1.17.4-arm64-darwin)
|
|
117
|
+
ffi (1.17.4-x64-mingw-ucrt)
|
|
118
|
+
ffi (1.17.4-x86_64-darwin)
|
|
119
|
+
ffi (1.17.4-x86_64-linux-gnu)
|
|
120
|
+
ffi (1.17.4-x86_64-linux-musl)
|
|
121
121
|
gli (2.22.2)
|
|
122
122
|
ostruct
|
|
123
123
|
hashdiff (1.2.1)
|
|
124
124
|
iri (0.11.8)
|
|
125
|
-
json (2.
|
|
126
|
-
json-schema (6.1.0)
|
|
127
|
-
addressable (~> 2.8)
|
|
128
|
-
bigdecimal (>= 3.1, < 5)
|
|
125
|
+
json (2.19.3)
|
|
129
126
|
language_server-protocol (3.17.0.5)
|
|
130
127
|
lint_roller (1.1.0)
|
|
131
128
|
logger (1.7.0)
|
|
132
129
|
loog (0.8.0)
|
|
133
130
|
ellipsized
|
|
134
131
|
logger (~> 1.0)
|
|
135
|
-
mcp (0.7.1)
|
|
136
|
-
json-schema (>= 4.1)
|
|
137
132
|
memoist3 (1.0.0)
|
|
138
133
|
mini_mime (1.1.5)
|
|
139
|
-
minitest (6.0.
|
|
134
|
+
minitest (6.0.5)
|
|
140
135
|
drb (~> 2.0)
|
|
141
136
|
prism (~> 1.5)
|
|
142
137
|
minitest-mock (5.27.0)
|
|
143
|
-
minitest-reporters (1.
|
|
138
|
+
minitest-reporters (1.8.0)
|
|
144
139
|
ansi
|
|
145
140
|
builder
|
|
146
|
-
minitest (>= 5.0)
|
|
141
|
+
minitest (>= 5.0, < 7)
|
|
147
142
|
ruby-progressbar
|
|
148
143
|
minitest-retry (0.3.1)
|
|
149
144
|
minitest (>= 5.0)
|
|
@@ -181,22 +176,22 @@ GEM
|
|
|
181
176
|
ostruct (0.6.3)
|
|
182
177
|
others (0.1.1)
|
|
183
178
|
parallel (1.27.0)
|
|
184
|
-
parser (3.3.
|
|
179
|
+
parser (3.3.11.1)
|
|
185
180
|
ast (~> 2.4.1)
|
|
186
181
|
racc
|
|
187
182
|
prism (1.9.0)
|
|
188
183
|
psych (5.3.1)
|
|
189
184
|
date
|
|
190
185
|
stringio
|
|
191
|
-
public_suffix (7.0.
|
|
192
|
-
qbash (0.8.
|
|
186
|
+
public_suffix (7.0.5)
|
|
187
|
+
qbash (0.8.2)
|
|
193
188
|
backtrace (> 0)
|
|
194
189
|
elapsed (> 0)
|
|
195
190
|
loog (> 0)
|
|
196
191
|
tago (> 0)
|
|
197
192
|
racc (1.8.1)
|
|
198
193
|
rainbow (3.1.1)
|
|
199
|
-
rake (13.
|
|
194
|
+
rake (13.4.2)
|
|
200
195
|
random-port (0.8.2)
|
|
201
196
|
tago (~> 0.0)
|
|
202
197
|
rdoc (7.2.0)
|
|
@@ -206,19 +201,18 @@ GEM
|
|
|
206
201
|
regexp_parser (2.11.3)
|
|
207
202
|
retries (0.0.5)
|
|
208
203
|
rexml (3.4.4)
|
|
209
|
-
rubocop (1.
|
|
204
|
+
rubocop (1.86.1)
|
|
210
205
|
json (~> 2.3)
|
|
211
206
|
language_server-protocol (~> 3.17.0.2)
|
|
212
207
|
lint_roller (~> 1.1.0)
|
|
213
|
-
|
|
214
|
-
parallel (~> 1.10)
|
|
208
|
+
parallel (>= 1.10)
|
|
215
209
|
parser (>= 3.3.0.2)
|
|
216
210
|
rainbow (>= 2.2.2, < 4.0)
|
|
217
211
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
218
212
|
rubocop-ast (>= 1.49.0, < 2.0)
|
|
219
213
|
ruby-progressbar (~> 1.7)
|
|
220
214
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
221
|
-
rubocop-ast (1.49.
|
|
215
|
+
rubocop-ast (1.49.1)
|
|
222
216
|
parser (>= 3.3.7.2)
|
|
223
217
|
prism (~> 1.7)
|
|
224
218
|
rubocop-minitest (0.39.1)
|
|
@@ -246,9 +240,13 @@ GEM
|
|
|
246
240
|
simplecov-html (0.13.2)
|
|
247
241
|
simplecov_json_formatter (0.1.4)
|
|
248
242
|
stringio (3.2.0)
|
|
249
|
-
sys-uname (1.5.
|
|
243
|
+
sys-uname (1.5.1)
|
|
244
|
+
ffi (~> 1.1)
|
|
245
|
+
memoist3 (~> 1.0.0)
|
|
246
|
+
sys-uname (1.5.1-universal-mingw32)
|
|
250
247
|
ffi (~> 1.1)
|
|
251
248
|
memoist3 (~> 1.0.0)
|
|
249
|
+
win32ole
|
|
252
250
|
tago (0.7.0)
|
|
253
251
|
timeout (0.6.0)
|
|
254
252
|
total (0.4.2)
|
|
@@ -263,10 +261,11 @@ GEM
|
|
|
263
261
|
json (>= 1.8)
|
|
264
262
|
nokogiri (~> 1.6)
|
|
265
263
|
rexml (~> 3.2)
|
|
266
|
-
webmock (3.26.
|
|
264
|
+
webmock (3.26.2)
|
|
267
265
|
addressable (>= 2.8.0)
|
|
268
266
|
crack (>= 0.3.2)
|
|
269
267
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
268
|
+
win32ole (1.9.3)
|
|
270
269
|
yaml (0.4.0)
|
|
271
270
|
yard (0.9.38)
|
|
272
271
|
|
|
@@ -283,7 +282,7 @@ PLATFORMS
|
|
|
283
282
|
|
|
284
283
|
DEPENDENCIES
|
|
285
284
|
base64 (~> 0.3)
|
|
286
|
-
cucumber (~>
|
|
285
|
+
cucumber (~> 11.0)
|
|
287
286
|
diff-lcs (= 1.6.2)
|
|
288
287
|
judges!
|
|
289
288
|
minitest (~> 6.0)
|
data/README.md
CHANGED
|
@@ -84,6 +84,60 @@ of Ruby scripts that are executed after the judge
|
|
|
84
84
|
The `expected_failure` (default: `[]`) is a list of strings that must
|
|
85
85
|
be present in the message of the exception being raised.
|
|
86
86
|
|
|
87
|
+
## Architecture
|
|
88
|
+
|
|
89
|
+
The core data structure is a
|
|
90
|
+
[Factbase](https://github.com/yegor256/factbase) — a flat, schemaless,
|
|
91
|
+
binary-serialized collection of facts (records with named attributes)
|
|
92
|
+
held in memory during a run. Facts are queried via
|
|
93
|
+
[XPath](https://www.w3.org/TR/xpath/) expressions rather than SQL.
|
|
94
|
+
There is no schema to migrate, no ORM layer, and no database process
|
|
95
|
+
to manage. The factbase binary file is read at the start of each
|
|
96
|
+
`update` run and written back on exit, making state portable and
|
|
97
|
+
inspectable via `judges print`. This differs from tools such as
|
|
98
|
+
[Sidekiq](https://sidekiq.org/) or
|
|
99
|
+
[ActiveJob](https://guides.rubyonrails.org/active_job_basics.html),
|
|
100
|
+
which depend on an external database or message broker.
|
|
101
|
+
|
|
102
|
+
Each judge is a single `.rb` Ruby file in its own directory. It is
|
|
103
|
+
not a class, a module, or a Rake task — it is a plain script loaded
|
|
104
|
+
with Ruby's `load(file, true)`, which wraps it in an anonymous module
|
|
105
|
+
and prevents constants in one judge from leaking into another. All
|
|
106
|
+
context is injected as Ruby global variables: `$fb` (the factbase),
|
|
107
|
+
`$loog` (logging), `$options` (configuration), `$global` (shared
|
|
108
|
+
across all judges in a run), and `$local` (reset after each judge).
|
|
109
|
+
A new judge author needs to know only those variables; there is no
|
|
110
|
+
base class to inherit and no interface contract to satisfy.
|
|
111
|
+
|
|
112
|
+
The `update` command runs all judges in repeated cycles until the
|
|
113
|
+
factbase stops changing (zero churn) or until the `--max-cycles` or
|
|
114
|
+
`--lifetime` limit is reached. This fixed-point convergence model is
|
|
115
|
+
analogous to [Datalog](https://en.wikipedia.org/wiki/Datalog): a
|
|
116
|
+
judge that inserts a fact in one cycle may trigger a different judge
|
|
117
|
+
in the next cycle, without any explicit dependency declaration.
|
|
118
|
+
Pipeline tools such as
|
|
119
|
+
[Apache Airflow](https://airflow.apache.org/) or
|
|
120
|
+
[GitHub Actions](https://docs.github.com/en/actions) require a
|
|
121
|
+
directed acyclic graph defined upfront; judges require none.
|
|
122
|
+
|
|
123
|
+
Every judge directory contains `.yml` test files alongside its `.rb`
|
|
124
|
+
script. A YAML file declares the initial facts (`input`), the count
|
|
125
|
+
of judge executions (`runs`), prerequisite judges (`before`),
|
|
126
|
+
post-condition scripts (`after`), and
|
|
127
|
+
[XPath](https://www.w3.org/TR/xpath/) assertions the factbase must
|
|
128
|
+
satisfy when the judge finishes (`expected`). Running `judges test`
|
|
129
|
+
creates a fresh, in-memory factbase per test case. Co-locating tests
|
|
130
|
+
with the script keeps each judge directory self-contained: one
|
|
131
|
+
directory holds both the deliverable and its verification.
|
|
132
|
+
|
|
133
|
+
The `push` and `pull` commands exchange the binary factbase with a
|
|
134
|
+
remote [Baza](https://github.com/yegor256/baza.rb) server via a
|
|
135
|
+
named-lock protocol. `pull` acquires the lock and downloads the
|
|
136
|
+
file; `push` uploads the modified file and releases the lock. This
|
|
137
|
+
lets distributed CI pipelines share a single evolving factbase
|
|
138
|
+
across multiple jobs without running a database: each job pulls,
|
|
139
|
+
runs `update` locally, and pushes back.
|
|
140
|
+
|
|
87
141
|
## How to contribute
|
|
88
142
|
|
|
89
143
|
Read
|
data/judges.gemspec
CHANGED
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
|
9
9
|
s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
|
|
10
10
|
s.required_ruby_version = '>=3.2'
|
|
11
11
|
s.name = 'judges'
|
|
12
|
-
s.version = '0.60.
|
|
12
|
+
s.version = '0.60.3'
|
|
13
13
|
s.license = 'MIT'
|
|
14
14
|
s.summary = 'Command-Line Tool for a Factbase'
|
|
15
15
|
s.description =
|
data/lib/judges/commands/pull.rb
CHANGED
|
@@ -51,9 +51,8 @@ class Judges::Pull
|
|
|
51
51
|
end
|
|
52
52
|
fb.import(baza.pull(wait(name, baza, jid, opts['wait'])))
|
|
53
53
|
Judges::Impex.new(@loog, args[1]).export(fb)
|
|
54
|
-
|
|
54
|
+
ensure
|
|
55
55
|
baza.unlock(name, opts['owner'])
|
|
56
|
-
raise e
|
|
57
56
|
end
|
|
58
57
|
throw :"👍 Pulled #{fb.size} facts by name '#{name}'"
|
|
59
58
|
else
|
data/lib/judges/judges.rb
CHANGED
|
@@ -78,7 +78,7 @@ class Judges::Judges
|
|
|
78
78
|
next unless File.directory?(d)
|
|
79
79
|
b = File.basename(d)
|
|
80
80
|
next unless File.exist?(File.join(d, "#{b}.rb"))
|
|
81
|
-
Judges::Judge.new(File.absolute_path(d), @lib, @loog)
|
|
81
|
+
Judges::Judge.new(File.absolute_path(d), @lib, @loog, epoch: @epoch)
|
|
82
82
|
end
|
|
83
83
|
list.compact!
|
|
84
84
|
list.sort_by!(&:name)
|
data/lib/judges.rb
CHANGED
data/package-lock.json
CHANGED
|
@@ -52,15 +52,15 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"node_modules/@eslint/config-array": {
|
|
55
|
-
"version": "0.21.
|
|
56
|
-
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.
|
|
57
|
-
"integrity": "sha512-
|
|
55
|
+
"version": "0.21.2",
|
|
56
|
+
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz",
|
|
57
|
+
"integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==",
|
|
58
58
|
"dev": true,
|
|
59
59
|
"license": "Apache-2.0",
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@eslint/object-schema": "^2.1.7",
|
|
62
62
|
"debug": "^4.3.1",
|
|
63
|
-
"minimatch": "^3.1.
|
|
63
|
+
"minimatch": "^3.1.5"
|
|
64
64
|
},
|
|
65
65
|
"engines": {
|
|
66
66
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
|
@@ -93,20 +93,20 @@
|
|
|
93
93
|
}
|
|
94
94
|
},
|
|
95
95
|
"node_modules/@eslint/eslintrc": {
|
|
96
|
-
"version": "3.3.
|
|
97
|
-
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.
|
|
98
|
-
"integrity": "sha512-
|
|
96
|
+
"version": "3.3.5",
|
|
97
|
+
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz",
|
|
98
|
+
"integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==",
|
|
99
99
|
"dev": true,
|
|
100
100
|
"license": "MIT",
|
|
101
101
|
"dependencies": {
|
|
102
|
-
"ajv": "^6.
|
|
102
|
+
"ajv": "^6.14.0",
|
|
103
103
|
"debug": "^4.3.2",
|
|
104
104
|
"espree": "^10.0.1",
|
|
105
105
|
"globals": "^14.0.0",
|
|
106
106
|
"ignore": "^5.2.0",
|
|
107
107
|
"import-fresh": "^3.2.1",
|
|
108
|
-
"js-yaml": "^4.1.
|
|
109
|
-
"minimatch": "^3.1.
|
|
108
|
+
"js-yaml": "^4.1.1",
|
|
109
|
+
"minimatch": "^3.1.5",
|
|
110
110
|
"strip-json-comments": "^3.1.1"
|
|
111
111
|
},
|
|
112
112
|
"engines": {
|
|
@@ -117,9 +117,9 @@
|
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
119
|
"node_modules/@eslint/js": {
|
|
120
|
-
"version": "9.39.
|
|
121
|
-
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.
|
|
122
|
-
"integrity": "sha512-
|
|
120
|
+
"version": "9.39.4",
|
|
121
|
+
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz",
|
|
122
|
+
"integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==",
|
|
123
123
|
"dev": true,
|
|
124
124
|
"license": "MIT",
|
|
125
125
|
"engines": {
|
|
@@ -239,7 +239,6 @@
|
|
|
239
239
|
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
|
240
240
|
"dev": true,
|
|
241
241
|
"license": "MIT",
|
|
242
|
-
"peer": true,
|
|
243
242
|
"bin": {
|
|
244
243
|
"acorn": "bin/acorn"
|
|
245
244
|
},
|
|
@@ -258,9 +257,9 @@
|
|
|
258
257
|
}
|
|
259
258
|
},
|
|
260
259
|
"node_modules/ajv": {
|
|
261
|
-
"version": "6.
|
|
262
|
-
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.
|
|
263
|
-
"integrity": "sha512-
|
|
260
|
+
"version": "6.14.0",
|
|
261
|
+
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
|
|
262
|
+
"integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==",
|
|
264
263
|
"dev": true,
|
|
265
264
|
"license": "MIT",
|
|
266
265
|
"dependencies": {
|
|
@@ -305,9 +304,9 @@
|
|
|
305
304
|
"license": "MIT"
|
|
306
305
|
},
|
|
307
306
|
"node_modules/brace-expansion": {
|
|
308
|
-
"version": "1.1.
|
|
309
|
-
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.
|
|
310
|
-
"integrity": "sha512-
|
|
307
|
+
"version": "1.1.12",
|
|
308
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
|
|
309
|
+
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
|
|
311
310
|
"dev": true,
|
|
312
311
|
"license": "MIT",
|
|
313
312
|
"dependencies": {
|
|
@@ -423,26 +422,25 @@
|
|
|
423
422
|
}
|
|
424
423
|
},
|
|
425
424
|
"node_modules/eslint": {
|
|
426
|
-
"version": "9.39.
|
|
427
|
-
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.
|
|
428
|
-
"integrity": "sha512-
|
|
425
|
+
"version": "9.39.4",
|
|
426
|
+
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz",
|
|
427
|
+
"integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==",
|
|
429
428
|
"dev": true,
|
|
430
429
|
"license": "MIT",
|
|
431
|
-
"peer": true,
|
|
432
430
|
"dependencies": {
|
|
433
431
|
"@eslint-community/eslint-utils": "^4.8.0",
|
|
434
432
|
"@eslint-community/regexpp": "^4.12.1",
|
|
435
|
-
"@eslint/config-array": "^0.21.
|
|
433
|
+
"@eslint/config-array": "^0.21.2",
|
|
436
434
|
"@eslint/config-helpers": "^0.4.2",
|
|
437
435
|
"@eslint/core": "^0.17.0",
|
|
438
|
-
"@eslint/eslintrc": "^3.3.
|
|
439
|
-
"@eslint/js": "9.39.
|
|
436
|
+
"@eslint/eslintrc": "^3.3.5",
|
|
437
|
+
"@eslint/js": "9.39.4",
|
|
440
438
|
"@eslint/plugin-kit": "^0.4.1",
|
|
441
439
|
"@humanfs/node": "^0.16.6",
|
|
442
440
|
"@humanwhocodes/module-importer": "^1.0.1",
|
|
443
441
|
"@humanwhocodes/retry": "^0.4.2",
|
|
444
442
|
"@types/estree": "^1.0.6",
|
|
445
|
-
"ajv": "^6.
|
|
443
|
+
"ajv": "^6.14.0",
|
|
446
444
|
"chalk": "^4.0.0",
|
|
447
445
|
"cross-spawn": "^7.0.6",
|
|
448
446
|
"debug": "^4.3.2",
|
|
@@ -461,7 +459,7 @@
|
|
|
461
459
|
"is-glob": "^4.0.0",
|
|
462
460
|
"json-stable-stringify-without-jsonify": "^1.0.1",
|
|
463
461
|
"lodash.merge": "^4.6.2",
|
|
464
|
-
"minimatch": "^3.1.
|
|
462
|
+
"minimatch": "^3.1.5",
|
|
465
463
|
"natural-compare": "^1.4.0",
|
|
466
464
|
"optionator": "^0.9.3"
|
|
467
465
|
},
|
|
@@ -753,9 +751,9 @@
|
|
|
753
751
|
"license": "ISC"
|
|
754
752
|
},
|
|
755
753
|
"node_modules/js-yaml": {
|
|
756
|
-
"version": "4.1.
|
|
757
|
-
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.
|
|
758
|
-
"integrity": "sha512-
|
|
754
|
+
"version": "4.1.1",
|
|
755
|
+
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
|
756
|
+
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
|
759
757
|
"dev": true,
|
|
760
758
|
"license": "MIT",
|
|
761
759
|
"dependencies": {
|
|
@@ -834,9 +832,9 @@
|
|
|
834
832
|
"license": "MIT"
|
|
835
833
|
},
|
|
836
834
|
"node_modules/minimatch": {
|
|
837
|
-
"version": "3.1.
|
|
838
|
-
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.
|
|
839
|
-
"integrity": "sha512-
|
|
835
|
+
"version": "3.1.5",
|
|
836
|
+
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
|
|
837
|
+
"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
|
|
840
838
|
"dev": true,
|
|
841
839
|
"license": "ISC",
|
|
842
840
|
"dependencies": {
|