diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 4b54cc8..cab6cc8 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -8,6 +8,8 @@ updates:
time: "10:00"
open-pull-requests-limit: 10
versioning-strategy: increase
+ reviewers:
+ - "pi-hole/docs-maintainers"
- package-ecosystem: pip
directory: "/"
schedule:
@@ -18,9 +20,13 @@ updates:
allow:
- dependency-type: direct
- dependency-type: indirect
+ reviewers:
+ - "pi-hole/docs-maintainers"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: weekly
day: saturday
time: "10:00"
+ reviewers:
+ - "pi-hole/docs-maintainers"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e00a2b6..1d81aaa 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,7 +22,7 @@ jobs:
fetch-depth: 0
- name: Set up Python
- uses: actions/setup-python@v3
+ uses: actions/setup-python@v4
with:
python-version: "${{ env.PYTHON_VERSION }}"
architecture: "x64"
diff --git a/docs/database/ftl.md b/docs/database/ftl.md
index e532225..31e7fee 100644
--- a/docs/database/ftl.md
+++ b/docs/database/ftl.md
@@ -130,6 +130,8 @@ ID | Status | | Details
12 | Allowed | ✅ | Retried query
13 | Allowed | ✅ | Retried but ignored query (this may happen during ongoing DNSSEC validation)
14 | Allowed | ✅ | Already forwarded, not forwarding again
+15 | Blocked | ❌ | Blocked (database is busy)
How these queries are handled can be [configured](../ftldns/configfile.md#reply_when_busy)
+16 | Blocked | ❌ | Blocked (special domain)
*E.g. Mozilla's canary domain and Apple's Private Relay domains*
Handling can be [configured](../ftldns/configfile.md)
### Supported reply types
diff --git a/docs/ftldns/telnet-api.md b/docs/ftldns/telnet-api.md
index 0df2784..5bec0a6 100644
--- a/docs/ftldns/telnet-api.md
+++ b/docs/ftldns/telnet-api.md
@@ -1,172 +1,250 @@
Connect via e.g. `telnet 127.0.0.1 4711` or use `echo ">command" | nc 127.0.0.1 4711`
-- `>quit`: Closes the connection to the client
+#### `>quit` {data-toc-label='quit'}
-- `>stats` : Get current statistics
+Closes the connection to the client
- ```text
- domains_being_blocked 116007
- dns_queries_today 30163
- ads_blocked_today 5650
- ads_percentage_today 18.731558
- unique_domains 1056
- queries_forwarded 4275
- queries_cached 20238
- clients_ever_seen 11
- unique_clients 9
- status enabled
- ```
+---
-- `>overTime` : over time data (10 min intervals)
+#### `>stats` {data-toc-label='stats'}
- ```text
- 1525546500 163 0
- 1525547100 154 1
- 1525547700 164 0
- 1525548300 167 0
- 1525548900 151 0
- 1525549500 143 0
- [...]
- ```
+Get current statistics
-- `>top-domains` : get top domains
+```text
+domains_being_blocked 116007
+dns_queries_today 30163
+ads_blocked_today 5650
+ads_percentage_today 18.731558
+unique_domains 1056
+queries_forwarded 4275
+queries_cached 20238
+clients_ever_seen 11
+unique_clients 9
+status enabled
+```
- ```text
- 0 8462 x.y.z.de
- 1 236 safebrowsing-cache.google.com
- 2 116 pi.hole
- 3 109 z.y.x.de
- 4 93 safebrowsing.google.com
- 5 96 plus.google.com
- [...]
- ```
+---
- Variant: `>top-domains (15)` to show (up to) 15 entries
+#### `>overTime` {data-toc-label='overTime'}
-- `>top-ads` : get top ad domains
+Get over time data (10 min intervals)
- ```text
- 0 8 googleads.g.doubleclick.net
- 1 6 www.googleadservices.com
- 2 1 cdn.mxpnl.com
- 3 1 collector.githubapp.com
- 4 1 www.googletagmanager.com
- 5 1 s.zkcdn.net
- [...]
- ```
+```text
+1525546500 163 0
+1525547100 154 1
+1525547700 164 0
+1525548300 167 0
+1525548900 151 0
+1525549500 143 0
+[...]
+```
- Variant: `>top-ads (14)` to show (up to) 14 entries
+---
-- `top-clients` : get recently active top clients (IP addresses + hostnames (if available))
+#### `>top-domains` {data-toc-label='top-domains'}
- ```text
- 0 9373 192.168.2.1 router
- 1 484 192.168.2.2 work-machine
- 2 8 127.0.0.1 localhost
- ```
+Get top domains
- Variant: `>top-clients (9)` to show (up to) 9 client entries or `>top-clients withzero (15)` to show (up to) 15 clients even if they have not been active recently (see PR #124 for further details)
+```text
+0 8462 x.y.z.de
+1 236 safebrowsing-cache.google.com
+2 116 pi.hole
+3 109 z.y.x.de
+4 93 safebrowsing.google.com
+5 96 plus.google.com
+[...]
+```
-- `>forward-dest` : get forward destinations (IP addresses + hostnames (if available)) along with the percentage. The first result (ID -2) will always be the percentage of domains answered from blocklists, whereas the second result (ID -1) will be the queries answered from the cache
+Variant: `>top-domains (15)` to show (up to) 15 entries
- ```text
- -2 18.70 blocklist blocklist
- -1 67.10 cache cache
- 0 14.20 127.0.0.1 localhost
- ```
+---
- Variant: `>forward-dest unsorted` to show forward destinations in unsorted order (equivalent to using `>forward-names`)
+#### `>top-ads` {data-toc-label='top-ads'}
-- `>querytypes` : get collected query types percentage
+Get top ad domains
- ```text
- A (IPv4): 53.45
- AAAA (IPv6): 45.32
- ANY: 0.00
- SRV: 0.64
- SOA: 0.05
- PTR: 0.54
- TXT: 0.00
- ```
+```text
+0 8 googleads.g.doubleclick.net
+1 6 www.googleadservices.com
+2 1 cdn.mxpnl.com
+3 1 collector.githubapp.com
+4 1 www.googletagmanager.com
+5 1 s.zkcdn.net
+[...]
+```
-- `>getallqueries` : get all queries that FTL has in memory
+Variant: `>top-ads (14)` to show (up to) 14 entries
- ```text
- 1525554586 A fonts.googleapis.com 192.168.2.100 3 0 4 6
- 1525554586 AAAA fonts.googleapis.com 192.168.2.100 3 0 4 5
- 1525554586 A www.mkdocs.org 192.168.2.100 3 0 4 7
- 1525554586 AAAA www.mkdocs.org 192.168.2.100 2 0 3 21
- 1525554586 A squidfunk.github.io 192.168.2.100 2 0 3 20
- 1525554586 A pi-hole.net 192.168.2.100 3 0 4 5
- 1525554586 AAAA squidfunk.github.io 192.168.2.100 3 0 1 6
- 1525554586 AAAA pi-hole.net 192.168.2.100 2 0 1 18
- 1525554586 A github.com 192.168.2.100 3 0 4 5
- 1525554586 AAAA github.com 192.168.2.100 2 0 1 18
- ```
+---
- Variants: `>getallqueries (37)` show (up to) 37 latest entries, `>getallqueries-time 1483964295 1483964312` gets all queries that FTL has in its database in a limited time interval, `>getallqueries-time 1483964295 1483964312 (17)` show matches in the (up to) 17 latest entries, `>getallqueries-domain www.google.com` gets all queries that FTL has in its database for a specific domain name, `>getallqueries-client 2.3.4.5` : gets all queries that FTL has in its database for a specific client name *or* IP
+#### `>top-clients` {data-toc-label='top-clients'}
-- `>recentBlocked` : get most recently pi-holed domain name
+Get recently active top clients (IP addresses + hostnames (if available))
- ```text
- www.googleadservices.com
- ```
+```text
+0 9373 192.168.2.1 router
+1 484 192.168.2.2 work-machine
+2 8 127.0.0.1 localhost
+```
- Variant: `>recentBlocked (4)` show the four most recent blocked domains
+Variant: `>top-clients (9)` to show (up to) 9 client entries or `>top-clients withzero (15)` to show (up to) 15 clients even if they have not been active recently (see PR #124 for further details)
-- `>clientID` : Get ID of currently connected client
+---
- ```text
- 6
- ```
+#### `>forward-dest` {data-toc-label='forward-dest'}
-- `>version` : Get version information of the currently running FTL instance
+Get forward destinations (IP addresses + hostnames (if available)) along with the percentage. The first result (ID -2) will always be the percentage of domains answered from blocklists, whereas the second result (ID -1) will be the queries answered from the cache
- ```text
- version v1.6-3-g106498d-dirty
- tag v1.6
- branch master
- hash 106498d
- date 2017-03-26 13:10:43 +0200
- ```
+```text
+-2 18.70 blocklist blocklist
+-1 67.10 cache cache
+0 14.20 127.0.0.1 localhost
+```
-- `>dbstats` : Get some statistics about `FTL`'s' long-term storage database (this request may take some time for processing in case of a large database file)
+Variant: `>forward-dest unsorted` to show forward destinations in unsorted order (equivalent to using `>forward-names`)
- ```text
- queries in database: 2700304
- database filesize: 199.20 MB
- SQLite version: 3.23.1
- ```
+---
-- `>domain pi-hole.net`: Get detailed information about domain (if available)
+#### `>querytypes` {data-toc-label='querytypes'}
- ```text
- Domain "pi-hole.net", ID: 254
- Total: 179
- Blocked: 0
- Wildcard blocked: false
- ```
+Get collected query types percentage
-- `>cacheinfo`: Get DNS server cache size and usage information
+```text
+A (IPv4): 53.45
+AAAA (IPv6): 45.32
+ANY: 0.00
+SRV: 0.64
+SOA: 0.05
+PTR: 0.54
+TXT: 0.00
+```
- ```text
- cache-size: 500000
- cache-live-freed: 0
- cache-inserted: 15529
- ```
+---
-- `>dns-port`: Get DNS port FTL is listening on
+#### `>getallqueries` {data-toc-label='getallqueries'}
- ```text
- 53
- ```
+Get all queries that FTL has in memory
-- `>maxlogage`: Get timespan of the statistics shown on the dashboard (in seconds)
+ ```text
+1525554586 A fonts.googleapis.com 192.168.2.100 3 0 4 6
+1525554586 AAAA fonts.googleapis.com 192.168.2.100 3 0 4 5
+1525554586 A www.mkdocs.org 192.168.2.100 3 0 4 7
+1525554586 AAAA www.mkdocs.org 192.168.2.100 2 0 3 21
+1525554586 A squidfunk.github.io 192.168.2.100 2 0 3 20
+1525554586 A pi-hole.net 192.168.2.100 3 0 4 5
+1525554586 AAAA squidfunk.github.io 192.168.2.100 3 0 1 6
+1525554586 AAAA pi-hole.net 192.168.2.100 2 0 1 18
+1525554586 A github.com 192.168.2.100 3 0 4 5
+1525554586 AAAA github.com 192.168.2.100 2 0 1 18
+```
- ```text
- 86400
- ```
+Variants: `>getallqueries (37)` show (up to) 37 latest entries, `>getallqueries-time 1483964295 1483964312` gets all queries that FTL has in its database in a limited time interval, `>getallqueries-time 1483964295 1483964312 (17)` show matches in the (up to) 17 latest entries, `>getallqueries-domain www.google.com` gets all queries that FTL has in its database for a specific domain name, `>getallqueries-client 2.3.4.5` : gets all queries that FTL has in its database for a specific client name *or* IP
+
+---
+
+#### `>recentBlocked` {data-toc-label='recentBlocked'}
+
+Get most recently pi-holed domain name
+
+```text
+www.googleadservices.com
+```
+
+Variant: `>recentBlocked (4)` show the four most recent blocked domains
+
+---
+
+#### `>clientID` {data-toc-label='clientID'}
+
+Get ID of currently connected client
+
+```text
+6
+```
+
+---
+
+#### `>version` {data-toc-label='version'}
+
+Get version information of the currently running FTL instance
+
+```text
+version v1.6-3-g106498d-dirty
+tag v1.6
+branch master
+hash 106498d
+date 2017-03-26 13:10:43 +0200
+```
+
+---
+
+#### `>dbstats` {data-toc-label='dbstats'}
+
+Get some statistics about `FTL`'s' long-term storage database (this request may take some time for processing in case of a large database file)
+
+```text
+queries in database: 2700304
+database filesize: 199.20 MB
+SQLite version: 3.23.1
+```
+
+---
+
+#### `>domain pi-hole.net` {data-toc-label='domain'}
+
+Get detailed information about domain (if available)
+
+```text
+Domain "pi-hole.net", ID: 254
+Total: 179
+Blocked: 0
+Wildcard blocked: false
+```
+
+---
+
+#### `>cacheinfo` {data-toc-label='cacheinfo'}
+
+Get DNS server cache size and usage information
+
+```text
+cache-size: 500000
+cache-live-freed: 0
+cache-inserted: 15529
+```
+
+---
+
+#### `>dns-port` {data-toc-label='dns-port'}
+
+Get DNS port FTL is listening on
+
+```text
+53
+```
Note that the port can also be `0` if someone decides to disable the DNS server part of Pi-hole
+---
+
+#### `>maxlogage` {data-toc-label='maxlogage'}
+
+Get timespan of the statistics shown on the dashboard (in seconds)
+
+```text
+86400
+```
+
+---
+
+#### `>gateway` {data-toc-label='gateway'}
+
+Get the IP of the gateway of the default route and the corresponding interface
+
+```text
+192.168.0.1 enp2s0
+```
+
+Note that if no non-default route could be found, `0.0.0.0` and an empty interface string is returned
+
{!abbreviations.md!}
diff --git a/docs/regex/tutorial.md b/docs/regex/tutorial.md
index 0ca66e9..c478b1b 100644
--- a/docs/regex/tutorial.md
+++ b/docs/regex/tutorial.md
@@ -119,7 +119,7 @@ Blocks domains containing only numbers (no letters) and ending in `.com` or `.ed
### Block domains without subdomains
```
-^[a-z0-9]+([\-]{1}[a-z0-9]+)*\.[a-z]{2,7}$
+^[a-z0-9]+([-]{1}[a-z0-9]+)*\.[a-z]{2,7}$
```
A domain name shall not start or end with a dash but can contain any number of them. It must be followed by a TLD (we assume a valid TLD length of two to seven characters)
diff --git a/package-lock.json b/package-lock.json
index 81f28de..568155d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "CC-BY-SA-4.0",
"devDependencies": {
- "linkinator": "^3.0.3",
+ "linkinator": "^3.1.0",
"markdownlint-cli2": "0.4.0"
}
},
@@ -303,13 +303,12 @@
}
},
"node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "^1.0.0"
}
},
"node_modules/braces": {
@@ -457,12 +456,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
"node_modules/configstore": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
@@ -490,9 +483,9 @@
}
},
"node_modules/debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"dependencies": {
"ms": "2.1.2"
@@ -589,32 +582,23 @@
}
},
"node_modules/dom-serializer": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
- "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"dev": true,
"dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
},
"funding": {
"url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
}
},
- "node_modules/dom-serializer/node_modules/entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true,
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
"node_modules/domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true,
"funding": [
{
@@ -624,12 +608,12 @@
]
},
"node_modules/domhandler": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
- "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"dev": true,
"dependencies": {
- "domelementtype": "^2.2.0"
+ "domelementtype": "^2.3.0"
},
"engines": {
"node": ">= 4"
@@ -639,14 +623,14 @@
}
},
"node_modules/domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
"dev": true,
"dependencies": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
},
"funding": {
"url": "https://github.com/fb55/domutils?sponsor=1"
@@ -686,9 +670,9 @@
}
},
"node_modules/entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz",
+ "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==",
"dev": true,
"engines": {
"node": ">=0.12"
@@ -801,7 +785,7 @@
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
"node_modules/function-bind": {
@@ -811,19 +795,19 @@
"dev": true
},
"node_modules/gaxios": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz",
- "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.0.tgz",
+ "integrity": "sha512-VD/yc5ln6XU8Ch1hyYY6kRMBE0Yc2np3fPyeJeYHhrPs1i8rgnsApPMWyrugkl7LLoSqpOJVBWlQIa87OAvt8Q==",
"dev": true,
"dependencies": {
"abort-controller": "^3.0.0",
"extend": "^3.0.2",
"https-proxy-agent": "^5.0.0",
"is-stream": "^2.0.0",
- "node-fetch": "^2.6.1"
+ "node-fetch": "^2.6.7"
},
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
"node_modules/get-stream": {
@@ -839,20 +823,19 @@
}
},
"node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -985,9 +968,9 @@
}
},
"node_modules/htmlparser2": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
- "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
"dev": true,
"funding": [
"https://github.com/fb55/htmlparser2?sponsor=1",
@@ -997,10 +980,10 @@
}
],
"dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.2",
- "domutils": "^2.8.0",
- "entities": "^3.0.1"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
}
},
"node_modules/http-cache-semantics": {
@@ -1010,9 +993,9 @@
"dev": true
},
"node_modules/https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"dependencies": {
"agent-base": "6",
@@ -1064,7 +1047,7 @@
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"dependencies": {
"once": "^1.3.0",
@@ -1307,16 +1290,16 @@
}
},
"node_modules/linkinator": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-3.0.3.tgz",
- "integrity": "sha512-JpZFe1VIdaVy2wMCf8HDAB61tIjD69hOY1lPHCfM0OTPEhu9z9oPe449veZIympH9PUJUXe6yoif7DXHs8H5xw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-3.1.0.tgz",
+ "integrity": "sha512-ikQtLZ0JtY2JQXGZlzHID9Y87R4Zxe4TPAtFTem9T2UxQqXr0Ab8z9fse+apHEaD2l+WIX8f/P0IMODBMHhPWw==",
"dev": true,
"dependencies": {
"chalk": "^5.0.0",
"escape-html": "^1.0.3",
- "gaxios": "^4.3.2",
- "glob": "^7.2.0",
- "htmlparser2": "^7.2.0",
+ "gaxios": "^5.0.0",
+ "glob": "^8.0.1",
+ "htmlparser2": "^8.0.1",
"jsonexport": "^3.2.0",
"marked": "^4.0.3",
"meow": "^10.1.1",
@@ -1587,21 +1570,21 @@
}
},
"node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dev": true,
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "*"
+ "node": ">=10"
}
},
"node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"node_modules/minimist-options": {
@@ -1767,15 +1750,6 @@
"node": ">=8"
}
},
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -2188,7 +2162,7 @@
"node_modules/tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true
},
"node_modules/trim-newlines": {
@@ -2295,13 +2269,13 @@
"node_modules/webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true
},
"node_modules/whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"dependencies": {
"tr46": "~0.0.3",
@@ -2624,13 +2598,12 @@
}
},
"brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "balanced-match": "^1.0.0"
}
},
"braces": {
@@ -2738,12 +2711,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
"configstore": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
@@ -2765,9 +2732,9 @@
"dev": true
},
"debug": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
- "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"requires": {
"ms": "2.1.2"
@@ -2834,48 +2801,40 @@
}
},
"dom-serializer": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
- "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"dev": true,
"requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true
- }
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
}
},
"domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true
},
"domhandler": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
- "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"dev": true,
"requires": {
- "domelementtype": "^2.2.0"
+ "domelementtype": "^2.3.0"
}
},
"domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
"dev": true,
"requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
}
},
"dot-prop": {
@@ -2909,9 +2868,9 @@
}
},
"entities": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
- "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.0.tgz",
+ "integrity": "sha512-/iP1rZrSEJ0DTlPiX+jbzlA3eVkY/e8L8SozroF395fIqE3TYF/Nz7YOMAawta+vLmyJ/hkGNNPcSbMADCCXbg==",
"dev": true
},
"error-ex": {
@@ -2997,7 +2956,7 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
"function-bind": {
@@ -3007,16 +2966,16 @@
"dev": true
},
"gaxios": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.2.tgz",
- "integrity": "sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.0.tgz",
+ "integrity": "sha512-VD/yc5ln6XU8Ch1hyYY6kRMBE0Yc2np3fPyeJeYHhrPs1i8rgnsApPMWyrugkl7LLoSqpOJVBWlQIa87OAvt8Q==",
"dev": true,
"requires": {
"abort-controller": "^3.0.0",
"extend": "^3.0.2",
"https-proxy-agent": "^5.0.0",
"is-stream": "^2.0.0",
- "node-fetch": "^2.6.1"
+ "node-fetch": "^2.6.7"
}
},
"get-stream": {
@@ -3029,17 +2988,16 @@
}
},
"glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
}
},
"glob-parent": {
@@ -3136,15 +3094,15 @@
}
},
"htmlparser2": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
- "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
"dev": true,
"requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.2",
- "domutils": "^2.8.0",
- "entities": "^3.0.1"
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
}
},
"http-cache-semantics": {
@@ -3154,9 +3112,9 @@
"dev": true
},
"https-proxy-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
- "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"requires": {
"agent-base": "6",
@@ -3190,7 +3148,7 @@
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"requires": {
"once": "^1.3.0",
@@ -3376,16 +3334,16 @@
}
},
"linkinator": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-3.0.3.tgz",
- "integrity": "sha512-JpZFe1VIdaVy2wMCf8HDAB61tIjD69hOY1lPHCfM0OTPEhu9z9oPe449veZIympH9PUJUXe6yoif7DXHs8H5xw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/linkinator/-/linkinator-3.1.0.tgz",
+ "integrity": "sha512-ikQtLZ0JtY2JQXGZlzHID9Y87R4Zxe4TPAtFTem9T2UxQqXr0Ab8z9fse+apHEaD2l+WIX8f/P0IMODBMHhPWw==",
"dev": true,
"requires": {
"chalk": "^5.0.0",
"escape-html": "^1.0.3",
- "gaxios": "^4.3.2",
- "glob": "^7.2.0",
- "htmlparser2": "^7.2.0",
+ "gaxios": "^5.0.0",
+ "glob": "^8.0.1",
+ "htmlparser2": "^8.0.1",
"jsonexport": "^3.2.0",
"marked": "^4.0.3",
"meow": "^10.1.1",
@@ -3574,18 +3532,18 @@
"dev": true
},
"minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
+ "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
"dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "brace-expansion": "^2.0.1"
}
},
"minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
},
"minimist-options": {
@@ -3703,12 +3661,6 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
"path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -3997,7 +3949,7 @@
"tr46": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
"dev": true
},
"trim-newlines": {
@@ -4080,13 +4032,13 @@
"webidl-conversions": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
"dev": true
},
"whatwg-url": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"dev": true,
"requires": {
"tr46": "~0.0.3",
diff --git a/package.json b/package.json
index ee154cf..5159de0 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
"test": "npm run markdownlint && npm run linkinator"
},
"devDependencies": {
- "linkinator": "^3.0.3",
+ "linkinator": "^3.1.0",
"markdownlint-cli2": "0.4.0"
}
}
diff --git a/requirements.txt b/requirements.txt
index d7102ef..1305e49 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
markdown-include==0.6.0
mkdocs==1.3.0
-mkdocs-git-revision-date-localized-plugin==1.0.0
-mkdocs-material==8.2.8
-mkdocs-redirects==1.0.3
+mkdocs-git-revision-date-localized-plugin==1.0.1
+mkdocs-material==8.3.8
+mkdocs-redirects==1.0.4