aaf-mdqt 0.8.7 → 0.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.cachedFiles +19 -0
- data/.dockerignore +15 -0
- data/.dockleignore +0 -0
- data/.editorconfig +9 -0
- data/.github/workflows/pr-housekeeping.yml +14 -0
- data/.github/workflows/ruby.yml +2 -2
- data/.github/workflows/self-approve-tidying.yml +19 -0
- data/.gitignore +14 -0
- data/.hadolint.yaml +2 -0
- data/.nvmrc +1 -0
- data/.prettierignore +2 -0
- data/.prettierrc +6 -0
- data/.ruby-version +1 -1
- data/.streerc +6 -0
- data/.tool-versions +1 -1
- data/.vscode/extensions.json +94 -0
- data/README.md +54 -55
- data/aaf-mdqt.gemspec +9 -9
- data/eslint.config.js +85 -0
- data/lib/mdqt/version.rb +1 -1
- data/package.json +18 -0
- data/trivy.yaml +4 -0
- data/yarn.lock +1900 -0
- metadata +37 -22
- data/.github/workflows/codeql-analysis.yml +0 -70
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea9d489c8449e5db97040a7baf524f815a808808d4d8e96ce07a9ef1c34bd997
|
4
|
+
data.tar.gz: af2ff714e44d18f0eb85b45d2bcf5ffc2d152af23eaa115b21efa391c9504bdc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d280113111701cfe464841ae5446b2115138490d5a190f83af931e884f16102dbae7117f694e3dd4e5838dee02f8c13a603504364ad8754a0b66fc6054c367d0
|
7
|
+
data.tar.gz: ca0bc9b6267f3be1066227ab1ad22cdf02c144c40aedfecc7baf616244bcebed1db964e1247c880f7b823efe0daeeba1a361e3d1f4354ee20df6b63af0f166fa
|
data/.cachedFiles
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
workflows/distributions/.cachedFiles
|
2
|
+
workflows/distributions/.dockerignore
|
3
|
+
workflows/distributions/.dockleignore
|
4
|
+
workflows/distributions/.editorconfig
|
5
|
+
workflows/distributions/.github/workflows/deploy.yml
|
6
|
+
workflows/distributions/.github/workflows/pr-housekeeping.yml
|
7
|
+
workflows/distributions/.github/workflows/self-approve-tidying.yml
|
8
|
+
workflows/distributions/.github/workflows/sync-development.yml
|
9
|
+
workflows/distributions/.gitignore
|
10
|
+
workflows/distributions/.hadolint.yaml
|
11
|
+
workflows/distributions/.nvmrc
|
12
|
+
workflows/distributions/.prettierignore
|
13
|
+
workflows/distributions/.prettierrc
|
14
|
+
workflows/distributions/.streerc
|
15
|
+
workflows/distributions/.vscode/extensions.json
|
16
|
+
workflows/distributions/eslint.config.js
|
17
|
+
workflows/distributions/package.json
|
18
|
+
workflows/distributions/trivy.yaml
|
19
|
+
workflows/distributions/yarn.lock
|
data/.dockerignore
ADDED
data/.dockleignore
ADDED
File without changes
|
data/.editorconfig
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
name: PR Housekeeping
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
types: [opened, reopened]
|
5
|
+
jobs:
|
6
|
+
pr_housekeeping:
|
7
|
+
name: 'PR Housekeeping'
|
8
|
+
permissions:
|
9
|
+
contents: write
|
10
|
+
issues: write
|
11
|
+
pull-requests: write
|
12
|
+
secrets:
|
13
|
+
REPO_SCOPED_TOKEN: ${{secrets.ALL_REPO_SCOPED_TOKEN_2}}
|
14
|
+
uses: ausaccessfed/workflows/.github/workflows/pr-housekeeping.yml@main
|
data/.github/workflows/ruby.yml
CHANGED
@@ -28,12 +28,12 @@ jobs:
|
|
28
28
|
ruby-version: ['3.0']
|
29
29
|
|
30
30
|
steps:
|
31
|
-
- uses: actions/checkout@
|
31
|
+
- uses: actions/checkout@v4
|
32
32
|
- name: Set up Ruby
|
33
33
|
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
34
34
|
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
35
35
|
# uses: ruby/setup-ruby@v1
|
36
|
-
uses: ruby/setup-ruby@
|
36
|
+
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc # v1.202.0
|
37
37
|
with:
|
38
38
|
ruby-version: ${{ matrix.ruby-version }}
|
39
39
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
@@ -0,0 +1,19 @@
|
|
1
|
+
name: Self-approve tidying
|
2
|
+
on:
|
3
|
+
issue_comment:
|
4
|
+
types: [created]
|
5
|
+
jobs:
|
6
|
+
all:
|
7
|
+
permissions:
|
8
|
+
id-token: write
|
9
|
+
contents: read
|
10
|
+
statuses: write
|
11
|
+
issues: read
|
12
|
+
pull-requests: write
|
13
|
+
secrets:
|
14
|
+
REPO_SCOPED_TOKEN: ${{secrets.ALL_REPO_SCOPED_TOKEN_2}}
|
15
|
+
uses: ausaccessfed/workflows/.github/workflows/self-approve-tidying.yml@main
|
16
|
+
with:
|
17
|
+
event_name: ${{ github.event_name }}
|
18
|
+
event_comment_id: ${{ github.event.comment.id }}
|
19
|
+
event_comment_body: ${{ github.event.comment.body }}
|
data/.gitignore
CHANGED
data/.hadolint.yaml
ADDED
data/.nvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
16
|
data/.prettierignore
ADDED
data/.prettierrc
ADDED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.3.
|
1
|
+
3.3.6
|
data/.streerc
ADDED
data/.tool-versions
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 3.
|
1
|
+
ruby 3.3.6
|
@@ -0,0 +1,94 @@
|
|
1
|
+
{
|
2
|
+
"recommendations": [
|
3
|
+
//html
|
4
|
+
"formulahendry.auto-close-tag",
|
5
|
+
"formulahendry.auto-complete-tag",
|
6
|
+
"formulahendry.auto-rename-tag",
|
7
|
+
"ecmel.vscode-html-css",
|
8
|
+
"redhat.vscode-xml",
|
9
|
+
"redhat.vscode-yaml",
|
10
|
+
|
11
|
+
// shell
|
12
|
+
"foxundermoon.shell-format",
|
13
|
+
|
14
|
+
// css
|
15
|
+
"mrmlnc.vscode-scss",
|
16
|
+
"stylelint.vscode-stylelint",
|
17
|
+
|
18
|
+
// js
|
19
|
+
"steoates.autoimport",
|
20
|
+
"mgmcdermott.vscode-language-babel",
|
21
|
+
"dbaeumer.vscode-eslint",
|
22
|
+
"Orta.vscode-jest",
|
23
|
+
"leizongmin.node-module-intellisense",
|
24
|
+
"christian-kohler.npm-intellisense",
|
25
|
+
"esbenp.prettier-vscode",
|
26
|
+
|
27
|
+
// linting
|
28
|
+
"dbaeumer.vscode-eslint",
|
29
|
+
"rvest.vs-code-prettier-eslint",
|
30
|
+
|
31
|
+
//jinja
|
32
|
+
"samuelcolvin.jinjahtml",
|
33
|
+
|
34
|
+
// spell checker
|
35
|
+
"streetsidesoftware.code-spell-checker",
|
36
|
+
|
37
|
+
// coverage
|
38
|
+
"ryanluker.vscode-coverage-gutters",
|
39
|
+
|
40
|
+
//env
|
41
|
+
"mikestead.dotenv",
|
42
|
+
|
43
|
+
// editorconfig
|
44
|
+
"EditorConfig.EditorConfig",
|
45
|
+
|
46
|
+
// ruby
|
47
|
+
"aliariff.vscode-erb-beautify",
|
48
|
+
"rubocop.vscode-rubocop",
|
49
|
+
"Shopify.ruby-lsp",
|
50
|
+
"connorshea.vscode-ruby-test-adapter",
|
51
|
+
"sianglim.slim",
|
52
|
+
"aliariff.slim-lint",
|
53
|
+
"KoichiSasada.vscode-rdbg",
|
54
|
+
|
55
|
+
// random
|
56
|
+
"ue.alphabetical-sorter",
|
57
|
+
"kisstkondoros.vscode-gutter-preview",
|
58
|
+
"christian-kohler.path-intellisense",
|
59
|
+
"alefragnani.project-manager",
|
60
|
+
"cssho.vscode-svgviewer",
|
61
|
+
"TabNine.tabnine-vscode",
|
62
|
+
"wayou.vscode-todo-highlight",
|
63
|
+
"aaron-bond.better-comments",
|
64
|
+
"vscode-icons-team.vscode-icons",
|
65
|
+
"tomoki1207.pdf",
|
66
|
+
|
67
|
+
//test
|
68
|
+
"ms-vscode.test-adapter-converter",
|
69
|
+
"hbenl.vscode-test-explorer",
|
70
|
+
|
71
|
+
//github
|
72
|
+
"github.vscode-github-actions",
|
73
|
+
|
74
|
+
// git
|
75
|
+
"codezombiech.gitignore",
|
76
|
+
"qezhu.gitlink",
|
77
|
+
"eamodio.gitlens",
|
78
|
+
|
79
|
+
// terraform
|
80
|
+
"hashicorp.terraform",
|
81
|
+
"4ops.terraform",
|
82
|
+
|
83
|
+
//helm
|
84
|
+
"Tim-Koehler.helm-intellisense",
|
85
|
+
|
86
|
+
// live share
|
87
|
+
"ms-vsliveshare.vsliveshare",
|
88
|
+
|
89
|
+
// markdown
|
90
|
+
"yzhang.markdown-all-in-one",
|
91
|
+
"bierner.markdown-mermaid",
|
92
|
+
"DavidAnson.vscode-markdownlint"
|
93
|
+
]
|
94
|
+
}
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
# NOTE: forked from <https://github.com/Digital-Identity-Labs/mdqt>
|
2
|
+
|
1
3
|
# MDQT - A Metadata Query Tool
|
2
4
|
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/mdqt.svg)](https://badge.fury.io/rb/
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/aaf-mdqt.svg)](https://badge.fury.io/rb/aaf-mdqt)
|
4
6
|
|
5
7
|
MDQT is small library and commandline tool to query MDQ services for SAML metadata.
|
6
8
|
You could do this with `curl` and `xmlsec1` but it's a little more convenient to use `mdqt` instead.
|
@@ -9,17 +11,16 @@ MDQT also has features for managing local metadata files, to help when running a
|
|
9
11
|
|
10
12
|
MDQ currently provides these features:
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
14
|
+
- Downloading single entities, lists or aggregates
|
15
|
+
- Signature verification
|
16
|
+
- Validating metadata against SAML2 schema
|
17
|
+
- Saving metadata to disk
|
18
|
+
- Extracting entity IDs from both aggregate and individual metadata files
|
19
|
+
- Renaming metadata files to their entity ID sha1 hashes (for use with LocalDynamicMetadataProvider)
|
20
|
+
- Creating sha1 hash symlinks to metadata files (also for use with Local Dynamic Metadata)
|
21
|
+
- Listing the entity IDs of downloaded metadata files
|
22
|
+
- Showing the full URL of an entity
|
23
|
+
- Caching entity metadata and using Gzip compression
|
23
24
|
|
24
25
|
## MDQ?
|
25
26
|
|
@@ -39,11 +40,11 @@ MDQT is tested on recent MacOS and Linux, and should work with
|
|
39
40
|
|
40
41
|
To install system-wide on your default Ruby, use
|
41
42
|
|
42
|
-
|
43
|
+
sudo gem install mdqt
|
43
44
|
|
44
45
|
If using a per-user Ruby via `rbenv`, `asdf` or similar, you'll need
|
45
46
|
|
46
|
-
|
47
|
+
gem install mdqt
|
47
48
|
|
48
49
|
### As part of a Ruby project
|
49
50
|
|
@@ -55,7 +56,7 @@ gem 'mdqt'
|
|
55
56
|
|
56
57
|
and then execute:
|
57
58
|
|
58
|
-
|
59
|
+
bundle
|
59
60
|
|
60
61
|
### As a Docker container
|
61
62
|
|
@@ -71,39 +72,39 @@ signature. Some MDQ services use unencrypted HTTP connections and rely
|
|
71
72
|
MDQT supports signature verification but requires a Ruby library called
|
72
73
|
Nokogiri to do the hard work. Nokogiri is fast and useful but can sometimes
|
73
74
|
be awkward to install for non-developers (it can sometimes require a C development
|
74
|
-
environment and various XML libraries). In most cases Nokogiri will install
|
75
|
-
automatically, without problems, when you install MDQT, but if you encounter any
|
75
|
+
environment and various XML libraries). In most cases Nokogiri will install
|
76
|
+
automatically, without problems, when you install MDQT, but if you encounter any
|
76
77
|
problems installing Nokogiri the [Installing Nokogiri](http://www.nokogiri.org/tutorials/installing_nokogiri.html) documentation is very helpful.
|
77
78
|
|
78
79
|
## Commandline Usage as an MDQ client
|
79
80
|
|
80
81
|
You can see a list of commandline options by typing:
|
81
82
|
|
82
|
-
|
83
|
+
mdqt help
|
83
84
|
|
84
85
|
To see more information about a command, use the `--help` option after the command or type `help <command>`:
|
85
86
|
|
86
|
-
|
87
|
+
mdqt help get
|
87
88
|
|
88
89
|
### Selecting an MDQ service to access
|
89
90
|
|
90
91
|
You can specify the MDQ service with a commandline option:
|
91
92
|
|
92
|
-
|
93
|
+
mdqt get --service https://mdq.example.com/mdq http://entity.ac.uk/shibboleth
|
93
94
|
|
94
95
|
It's more convenient to set an environment variable to specify a default MDQ
|
95
96
|
service. Set `MDQT_SERVICE` or `MDQ_BASE_URL` to the base URL of your MDQ service.
|
96
97
|
|
97
|
-
|
98
|
-
|
99
|
-
|
98
|
+
export MDQT_SERVICE=https://mdq.example.com/mdq
|
99
|
+
mdqt get http://entity.ac.uk/shibboleth
|
100
|
+
mdqt get http://example.org/service
|
100
101
|
|
101
102
|
Finally, if you don't specify an MDQ service with `--service` or `MDQT_SERVICE` then `mdqt` *might* be
|
102
103
|
able to guess your local NREN's MDQ service. Do not do this in production!
|
103
104
|
|
104
105
|
If an MDQ service is known to MDQT it can be selected using an alias:
|
105
106
|
|
106
|
-
|
107
|
+
mdqt get --service incommon http://entity.edu/shibboleth
|
107
108
|
|
108
109
|
You can see known services and their aliases using `mdqt services`
|
109
110
|
|
@@ -111,20 +112,19 @@ You can see known services and their aliases using `mdqt services`
|
|
111
112
|
|
112
113
|
Downloading entity metadata to STDOUT:
|
113
114
|
|
114
|
-
|
115
|
+
mdqt get https://test-idp.ukfederation.org.uk/idp/shibboleth
|
115
116
|
|
116
117
|
Using the sha1 hashed version of entity IDs requires quotes or escaping in some shells:
|
117
118
|
|
118
|
-
|
119
|
+
mdqt get "{sha1}52e2065fc0d53744e8d4ee2c2f30696ebfc5def9"
|
119
120
|
|
120
|
-
|
121
|
+
mdqt get \{sha1\}52e2065fc0d53744e8d4ee2c2f30696ebfc5def9
|
121
122
|
|
122
|
-
|
123
|
+
mdqt get [sha1]52e2065fc0d53744e8d4ee2c2f30696ebfc5def9
|
123
124
|
|
124
125
|
Requesting all metadata from an MDQ endpoint is done by specifying `--all`:
|
125
126
|
|
126
|
-
|
127
|
-
|
127
|
+
mdqt get --all
|
128
128
|
|
129
129
|
### Caching metadata
|
130
130
|
|
@@ -132,16 +132,15 @@ Caching can be enabled using `--cache`. At the moment the `mdqt` executable
|
|
132
132
|
only supports caching to disk. It will create a cache directory in your temporary
|
133
133
|
directory.
|
134
134
|
|
135
|
-
|
135
|
+
mdqt get --cache --service https://mdq.example.com/mdq http://entity.ac.uk/shibboleth
|
136
136
|
|
137
137
|
Caching is now on by default. To force a single command to *not* use the cache, include `--reset`
|
138
138
|
|
139
|
-
|
139
|
+
mdqt get --reset --service https://mdq.example.com/mdq http://entity.ac.uk/shibboleth
|
140
140
|
|
141
141
|
You can clear the cache by using the `reset` command:
|
142
142
|
|
143
|
-
|
144
|
-
|
143
|
+
mdqt reset
|
145
144
|
|
146
145
|
### Verifying metadata
|
147
146
|
|
@@ -149,22 +148,22 @@ If you have enabled verification by installing `xmldsig` (and have downloaded an
|
|
149
148
|
certificate for your MDQ server) you can require verification by passing
|
150
149
|
they `verify-with` flag with the path of your certificate.
|
151
150
|
|
152
|
-
|
151
|
+
mdqt get --verify-with myfederation.pem https://indiid.net/idp/shibboleth
|
153
152
|
|
154
153
|
It's possible to pass more than one certificate by separating them with commas
|
155
154
|
|
156
|
-
|
155
|
+
mdqt get --verify-with myfederation.pem,previous.pem https://indiid.net/idp/shibboleth
|
157
156
|
|
158
157
|
Basic XML correctness and validation against SAML2 Metadata schema can be enabled with the
|
159
158
|
`--validate` switch:
|
160
159
|
|
161
|
-
|
160
|
+
mdqt get --validate https://indiid.net/idp/shibboleth
|
162
161
|
|
163
162
|
If you need to check metadata that has already been downloaded then try the `check`
|
164
163
|
command:
|
165
164
|
|
166
|
-
|
167
|
-
|
165
|
+
mdqt check metadata.xml # Just validate
|
166
|
+
mdqt check --verify-with myfederation.pem metadata.xml # Verify signature too
|
168
167
|
|
169
168
|
You shouldn't need to *validate* XML from a trusted MDQ service such as one run by a
|
170
169
|
national federation. You should however always *verify* the signature of XML sent over an unencrypyted HTTP connection,
|
@@ -175,11 +174,11 @@ or debugging your own MDQ service.
|
|
175
174
|
|
176
175
|
The simplest way to save metadata is to redirect output from the `get` command:
|
177
176
|
|
178
|
-
|
177
|
+
mdqt get http://entity.ac.uk/shibboleth > metadata.xml
|
179
178
|
|
180
179
|
MDQT also offers the `--save-to` option to write all metadata into a directory
|
181
180
|
|
182
|
-
|
181
|
+
mdqt get http://entity.ac.uk/shibboleth --save-to metadata_directory
|
183
182
|
|
184
183
|
The `--save-to` option requires a directory to be specified. All files will be saved
|
185
184
|
with a name based on their transformed identifier (sha1 hash) such as
|
@@ -194,55 +193,55 @@ For more information about current settings, download results, and so on, add
|
|
194
193
|
|
195
194
|
To convert normal URI entity IDs into MDQ SHA1 hashed transformed identifiers use the `transform` command:
|
196
195
|
|
197
|
-
|
196
|
+
mdqt transform http://example.org/service
|
198
197
|
|
199
198
|
Transforming identifiers that have already been transformed should not re-transform them.
|
200
199
|
|
201
200
|
To see more details of what is being sent and received by a `get` command add the `--explain` flag
|
202
201
|
|
203
|
-
|
202
|
+
mdqt get --explain --service https://mdq.example.com/mdq http://entity.ac.uk/shibboleth
|
204
203
|
|
205
204
|
MDQT will then show a table of sent and received headers which may be useful when debugging servers.
|
206
205
|
|
207
206
|
To extract a list of all entity IDs from a file:
|
208
207
|
|
209
|
-
|
208
|
+
mdqt entities metadata.xml
|
210
209
|
|
211
|
-
|
210
|
+
mdqt entities --sha1 metadata.xml
|
212
211
|
|
213
212
|
To create sha1 symlinks to a metadata file:
|
214
213
|
|
215
|
-
|
214
|
+
mdqt ln example_idp.xml
|
216
215
|
|
217
216
|
To rename a file to its entity ID sha1 has:
|
218
217
|
|
219
|
-
|
218
|
+
mdqt rename example_idp.xml
|
220
219
|
|
221
220
|
To list the entity IDs of files in a directory:
|
222
221
|
|
223
|
-
|
222
|
+
mdqt ls
|
224
223
|
|
225
224
|
To list all entities available at an MDQ service:
|
226
225
|
|
227
|
-
|
226
|
+
mdqt list
|
228
227
|
|
229
228
|
To show the MDQ services known to MDQT, and their aliases:
|
230
229
|
|
231
|
-
|
230
|
+
mdqt services
|
232
231
|
|
233
232
|
To show the full MDQ URL of an entity
|
234
233
|
|
235
|
-
|
234
|
+
mdqt url http://entity.ac.uk/shibboleth
|
236
235
|
|
237
236
|
MDQT can accept input on stdin, allowing composition and pipelining
|
238
237
|
|
239
|
-
|
238
|
+
cat list_of_ids.txt | mdqt url
|
240
239
|
|
241
|
-
|
240
|
+
mdqt list | grep cern.ch | mdqt get --save-to cern_metadata/ --list | mdqt ls
|
242
241
|
|
243
242
|
## Alternatives
|
244
243
|
|
245
|
-
|
244
|
+
- [SAML Library](https://github.com/trscavo/saml-library) is a set of scripts to help with metadata-related tasks, written
|
246
245
|
by Tom Scavo of Internet2. Some of the scripts provide similar functionality to MDQT, and are designed to be piped together.
|
247
246
|
|
248
247
|
## Library Usage
|
@@ -260,7 +259,7 @@ To install this gem onto your local machine, run `bundle exec rake install`.
|
|
260
259
|
|
261
260
|
## Contributing
|
262
261
|
|
263
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/Digital-Identity-Labs/mdqt
|
262
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/Digital-Identity-Labs/mdqt>.
|
264
263
|
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
265
264
|
|
266
265
|
## License
|
data/aaf-mdqt.gemspec
CHANGED
@@ -23,17 +23,17 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
-
spec.add_dependency 'commander', "~>4
|
27
|
-
spec.add_dependency 'faraday', "~>2
|
28
|
-
spec.add_dependency 'faraday-http-cache', "~>2
|
29
|
-
spec.add_dependency 'faraday-follow_redirects', "~>0.3
|
30
|
-
spec.add_dependency 'httpx', "~>1
|
31
|
-
spec.add_dependency 'activesupport', "
|
32
|
-
spec.add_dependency 'dalli', "~>3
|
26
|
+
spec.add_dependency 'commander', "~>4"
|
27
|
+
spec.add_dependency 'faraday', "~>2"
|
28
|
+
spec.add_dependency 'faraday-http-cache', "~>2"
|
29
|
+
spec.add_dependency 'faraday-follow_redirects', "~>0.3"
|
30
|
+
spec.add_dependency 'httpx', "~>1"
|
31
|
+
spec.add_dependency 'activesupport', ">= 7"
|
32
|
+
spec.add_dependency 'dalli', "~>3"
|
33
33
|
spec.add_dependency 'pastel', "~>0.8"
|
34
|
-
spec.add_dependency 'terminal-table', "~>3
|
34
|
+
spec.add_dependency 'terminal-table', "~>3"
|
35
35
|
spec.add_dependency 'concurrent-ruby-ext', "~>1"
|
36
|
-
spec.add_dependency 'xmldsig', "~>0.7
|
36
|
+
spec.add_dependency 'xmldsig', "~>0.7"
|
37
37
|
|
38
38
|
# spec.add_development_dependency "bundler", "~>2"
|
39
39
|
# spec.add_development_dependency "rake", ">= 13.1.0"
|
data/eslint.config.js
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
/* eslint-disable no-undef */
|
2
|
+
const eslintPluginPrettierRecommended = require('eslint-plugin-prettier/recommended')
|
3
|
+
const eslintPluginYml = require('eslint-plugin-yml')
|
4
|
+
const eslint = require('@eslint/js')
|
5
|
+
const globals = require('globals')
|
6
|
+
|
7
|
+
const common = [
|
8
|
+
eslintPluginPrettierRecommended,
|
9
|
+
eslint.configs.recommended,
|
10
|
+
...eslintPluginYml.configs['flat/recommended'],
|
11
|
+
{
|
12
|
+
languageOptions: {
|
13
|
+
parserOptions: {
|
14
|
+
sourceType: 'module'
|
15
|
+
},
|
16
|
+
globals: {
|
17
|
+
...globals.browser,
|
18
|
+
...globals.node
|
19
|
+
}
|
20
|
+
},
|
21
|
+
rules: {
|
22
|
+
'class-methods-use-this': 'warn',
|
23
|
+
'no-param-reassign': [
|
24
|
+
'error',
|
25
|
+
{
|
26
|
+
props: false
|
27
|
+
}
|
28
|
+
],
|
29
|
+
'no-tabs': 'error',
|
30
|
+
'no-plusplus': 'off',
|
31
|
+
'no-underscore-dangle': 'off',
|
32
|
+
'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
|
33
|
+
'import/extensions': 'off',
|
34
|
+
'import/first': 'off',
|
35
|
+
'import/no-unresolved': 'off',
|
36
|
+
'prettier/prettier': 'error',
|
37
|
+
'yml/plain-scalar': 'off',
|
38
|
+
'yml/quotes': [
|
39
|
+
'error',
|
40
|
+
{
|
41
|
+
prefer: 'single'
|
42
|
+
}
|
43
|
+
],
|
44
|
+
'yml/indent': 'off',
|
45
|
+
'yml/sort-keys': 'off',
|
46
|
+
'yml/no-empty-mapping-value': 'off',
|
47
|
+
'yml/no-multiple-empty-lines': [
|
48
|
+
'error',
|
49
|
+
{
|
50
|
+
max: 1
|
51
|
+
}
|
52
|
+
],
|
53
|
+
'yml/no-empty-document': 'off'
|
54
|
+
},
|
55
|
+
settings: {}
|
56
|
+
},
|
57
|
+
{
|
58
|
+
ignores: [
|
59
|
+
'.DS_Store',
|
60
|
+
'node_modules/',
|
61
|
+
'tmp/',
|
62
|
+
'coverage/',
|
63
|
+
'.vscode/',
|
64
|
+
'yarn.lock',
|
65
|
+
'Gemfile.lock',
|
66
|
+
'.env*',
|
67
|
+
'!.env*.dist',
|
68
|
+
'coverage/',
|
69
|
+
'public/assets/',
|
70
|
+
'**/.terraform/',
|
71
|
+
'tmp/*',
|
72
|
+
'.idea/*',
|
73
|
+
'dump.rdb',
|
74
|
+
'*.iml',
|
75
|
+
'**/kustomization.yaml',
|
76
|
+
'**/templates/',
|
77
|
+
'**/values.yaml',
|
78
|
+
'**/templates/',
|
79
|
+
'.github/',
|
80
|
+
'.torba/'
|
81
|
+
]
|
82
|
+
}
|
83
|
+
]
|
84
|
+
|
85
|
+
//EOF_DISTRIBUTION
|
data/lib/mdqt/version.rb
CHANGED