git: 33c48239fb6d - main - misc/dotenv-linter: New port: Linter for .env files. Written in Rust

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 03 Jan 2023 00:37:28 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=33c48239fb6d728b9989f908c6db7c28c8cdb0d5

commit 33c48239fb6d728b9989f908c6db7c28c8cdb0d5
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-03 00:33:56 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-03 00:37:16 +0000

    misc/dotenv-linter: New port: Linter for .env files. Written in Rust
---
 misc/Makefile                |   1 +
 misc/dotenv-linter/Makefile  | 143 +++++++++++++++++++++++++
 misc/dotenv-linter/distinfo  | 243 +++++++++++++++++++++++++++++++++++++++++++
 misc/dotenv-linter/pkg-descr |   4 +
 4 files changed, 391 insertions(+)

diff --git a/misc/Makefile b/misc/Makefile
index e8e436eb5544..4494f511b71b 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -80,6 +80,7 @@
     SUBDIR += dijo
     SUBDIR += dive
     SUBDIR += dnetc
+    SUBDIR += dotenv-linter
     SUBDIR += dtach
     SUBDIR += dvorak7min
     SUBDIR += dynomite
diff --git a/misc/dotenv-linter/Makefile b/misc/dotenv-linter/Makefile
new file mode 100644
index 000000000000..94c26f0b138d
--- /dev/null
+++ b/misc/dotenv-linter/Makefile
@@ -0,0 +1,143 @@
+PORTNAME=	dotenv-linter
+DISTVERSIONPREFIX=	v
+DISTVERSION=	3.3.0
+CATEGORIES=	misc
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Linter for .env files. Written in Rust
+WWW=		https://dotenv-linter.github.io
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+
+USE_GITHUB=	yes
+
+CARGO_CRATES=	adler-1.0.2 \
+		anes-0.1.6 \
+		assert_cmd-2.0.5 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		base64-0.13.0 \
+		bitflags-1.3.2 \
+		bstr-0.2.17 \
+		bumpalo-3.8.0 \
+		cast-0.3.0 \
+		cc-1.0.72 \
+		cfg-if-1.0.0 \
+		chunked_transfer-1.4.0 \
+		ciborium-0.2.0 \
+		ciborium-io-0.2.0 \
+		ciborium-ll-0.2.0 \
+		clap-3.1.10 \
+		clap_lex-0.1.1 \
+		colored-2.0.0 \
+		crc32fast-1.3.0 \
+		criterion-0.4.0 \
+		criterion-plot-0.5.0 \
+		crossbeam-channel-0.5.1 \
+		crossbeam-deque-0.8.1 \
+		crossbeam-epoch-0.9.5 \
+		crossbeam-utils-0.8.8 \
+		difflib-0.4.0 \
+		directories-4.0.1 \
+		dirs-sys-0.3.6 \
+		doc-comment-0.3.3 \
+		dunce-1.0.3 \
+		either-1.6.1 \
+		fastrand-1.7.0 \
+		filedescriptor-0.8.1 \
+		flate2-1.0.22 \
+		form_urlencoded-1.0.1 \
+		gag-1.0.0 \
+		getrandom-0.2.3 \
+		half-1.8.2 \
+		hashbrown-0.11.2 \
+		hermit-abi-0.1.19 \
+		idna-0.2.3 \
+		indexmap-1.8.0 \
+		instant-0.1.12 \
+		itertools-0.10.3 \
+		itoa-1.0.1 \
+		js-sys-0.3.55 \
+		lazy_static-1.4.0 \
+		libc-0.2.112 \
+		log-0.4.14 \
+		matches-0.1.9 \
+		memchr-2.4.1 \
+		memoffset-0.6.5 \
+		miniz_oxide-0.4.4 \
+		num-traits-0.2.14 \
+		num_cpus-1.13.1 \
+		once_cell-1.10.0 \
+		oorandom-11.1.3 \
+		os_str_bytes-6.0.0 \
+		percent-encoding-2.1.0 \
+		plotters-0.3.1 \
+		plotters-backend-0.3.2 \
+		plotters-svg-0.3.1 \
+		predicates-2.1.0 \
+		predicates-core-1.0.2 \
+		predicates-tree-1.0.4 \
+		proc-macro2-1.0.36 \
+		quote-1.0.14 \
+		rayon-1.5.1 \
+		rayon-core-1.9.1 \
+		redox_syscall-0.2.10 \
+		redox_users-0.4.0 \
+		regex-1.5.6 \
+		regex-automata-0.1.10 \
+		regex-syntax-0.6.26 \
+		remove_dir_all-0.5.3 \
+		ring-0.16.20 \
+		rustls-0.20.2 \
+		ryu-1.0.9 \
+		same-file-1.0.6 \
+		scopeguard-1.1.0 \
+		sct-0.7.0 \
+		semver-1.0.4 \
+		serde-1.0.133 \
+		serde_derive-1.0.133 \
+		serde_json-1.0.74 \
+		spin-0.5.2 \
+		strsim-0.10.0 \
+		syn-1.0.84 \
+		tempfile-3.3.0 \
+		termcolor-1.1.3 \
+		termtree-0.2.3 \
+		textwrap-0.15.0 \
+		thiserror-1.0.30 \
+		thiserror-impl-1.0.30 \
+		tinytemplate-1.2.1 \
+		tinyvec-1.5.1 \
+		tinyvec_macros-0.1.0 \
+		unicode-bidi-0.3.7 \
+		unicode-normalization-0.1.19 \
+		unicode-xid-0.2.2 \
+		untrusted-0.7.1 \
+		update-informer-0.6.0 \
+		ureq-2.4.0 \
+		url-2.2.2 \
+		wait-timeout-0.2.0 \
+		walkdir-2.3.2 \
+		wasi-0.10.2+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.78 \
+		wasm-bindgen-backend-0.2.78 \
+		wasm-bindgen-macro-0.2.78 \
+		wasm-bindgen-macro-support-0.2.78 \
+		wasm-bindgen-shared-0.2.78 \
+		web-sys-0.3.55 \
+		webpki-0.22.0 \
+		webpki-roots-0.22.2 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.5 \
+		winapi-x86_64-pc-windows-gnu-0.4.0
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/misc/dotenv-linter/distinfo b/misc/dotenv-linter/distinfo
new file mode 100644
index 000000000000..7c2c1c6a4246
--- /dev/null
+++ b/misc/dotenv-linter/distinfo
@@ -0,0 +1,243 @@
+TIMESTAMP = 1672705412
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/assert_cmd-2.0.5.crate) = d5c2ca00549910ec251e3bd15f87aeeb206c9456b9a77b43ff6c97c54042a472
+SIZE (rust/crates/assert_cmd-2.0.5.crate) = 22683
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223
+SIZE (rust/crates/bstr-0.2.17.crate) = 330350
+SHA256 (rust/crates/bumpalo-3.8.0.crate) = 8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c
+SIZE (rust/crates/bumpalo-3.8.0.crate) = 79835
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
+SIZE (rust/crates/cc-1.0.72.crate) = 57495
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chunked_transfer-1.4.0.crate) = fff857943da45f546682664a79488be82e69e43c1a7a2307679ab9afb3a66d2e
+SIZE (rust/crates/chunked_transfer-1.4.0.crate) = 9238
+SHA256 (rust/crates/ciborium-0.2.0.crate) = b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f
+SIZE (rust/crates/ciborium-0.2.0.crate) = 30130
+SHA256 (rust/crates/ciborium-io-0.2.0.crate) = 346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369
+SIZE (rust/crates/ciborium-io-0.2.0.crate) = 2738
+SHA256 (rust/crates/ciborium-ll-0.2.0.crate) = 213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b
+SIZE (rust/crates/ciborium-ll-0.2.0.crate) = 10740
+SHA256 (rust/crates/clap-3.1.10.crate) = 3124f3f75ce09e22d1410043e1e24f2ecc44fad3afe4f08408f1f7663d68da2b
+SIZE (rust/crates/clap-3.1.10.crate) = 206697
+SHA256 (rust/crates/clap_lex-0.1.1.crate) = 189ddd3b5d32a70b35e7686054371742a937b0d99128e76dde6340210e966669
+SIZE (rust/crates/clap_lex-0.1.1.crate) = 9603
+SHA256 (rust/crates/colored-2.0.0.crate) = b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd
+SIZE (rust/crates/colored-2.0.0.crate) = 21619
+SHA256 (rust/crates/crc32fast-1.3.0.crate) = 738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836
+SIZE (rust/crates/crc32fast-1.3.0.crate) = 38565
+SHA256 (rust/crates/criterion-0.4.0.crate) = e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb
+SIZE (rust/crates/criterion-0.4.0.crate) = 108978
+SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
+SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
+SHA256 (rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
+SIZE (rust/crates/crossbeam-channel-0.5.1.crate) = 86919
+SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
+SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
+SHA256 (rust/crates/crossbeam-epoch-0.9.5.crate) = 4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd
+SIZE (rust/crates/crossbeam-epoch-0.9.5.crate) = 43883
+SHA256 (rust/crates/crossbeam-utils-0.8.8.crate) = 0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38
+SIZE (rust/crates/crossbeam-utils-0.8.8.crate) = 39681
+SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
+SIZE (rust/crates/difflib-0.4.0.crate) = 7638
+SHA256 (rust/crates/directories-4.0.1.crate) = f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210
+SIZE (rust/crates/directories-4.0.1.crate) = 16040
+SHA256 (rust/crates/dirs-sys-0.3.6.crate) = 03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780
+SIZE (rust/crates/dirs-sys-0.3.6.crate) = 10626
+SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
+SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
+SHA256 (rust/crates/dunce-1.0.3.crate) = 0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c
+SIZE (rust/crates/dunce-1.0.3.crate) = 8035
+SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
+SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
+SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
+SHA256 (rust/crates/filedescriptor-0.8.1.crate) = 9ed3d8a5e20435ff00469e51a0d82049bae66504b5c429920dadf9bb54d47b3f
+SIZE (rust/crates/filedescriptor-0.8.1.crate) = 10851
+SHA256 (rust/crates/flate2-1.0.22.crate) = 1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f
+SIZE (rust/crates/flate2-1.0.22.crate) = 76026
+SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
+SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/gag-1.0.0.crate) = a713bee13966e9fbffdf7193af71d54a6b35a0bb34997cd6c9519ebeb5005972
+SIZE (rust/crates/gag-1.0.0.crate) = 5495
+SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
+SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
+SHA256 (rust/crates/half-1.8.2.crate) = eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7
+SIZE (rust/crates/half-1.8.2.crate) = 41874
+SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
+SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
+SIZE (rust/crates/idna-0.2.3.crate) = 271023
+SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
+SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
+SIZE (rust/crates/itertools-0.10.3.crate) = 118661
+SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
+SIZE (rust/crates/itoa-1.0.1.crate) = 11059
+SHA256 (rust/crates/js-sys-0.3.55.crate) = 7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84
+SIZE (rust/crates/js-sys-0.3.55.crate) = 70499
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.112.crate) = 1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125
+SIZE (rust/crates/libc-0.2.112.crate) = 571445
+SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
+SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
+SIZE (rust/crates/matches-0.1.9.crate) = 2246
+SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
+SIZE (rust/crates/memchr-2.4.1.crate) = 64977
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
+SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/once_cell-1.10.0.crate) = 87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9
+SIZE (rust/crates/once_cell-1.10.0.crate) = 30414
+SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575
+SIZE (rust/crates/oorandom-11.1.3.crate) = 10068
+SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64
+SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046
+SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
+SHA256 (rust/crates/plotters-0.3.1.crate) = 32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a
+SIZE (rust/crates/plotters-0.3.1.crate) = 8595577
+SHA256 (rust/crates/plotters-backend-0.3.2.crate) = d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c
+SIZE (rust/crates/plotters-backend-0.3.2.crate) = 13524
+SHA256 (rust/crates/plotters-svg-0.3.1.crate) = 521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9
+SIZE (rust/crates/plotters-svg-0.3.1.crate) = 7596
+SHA256 (rust/crates/predicates-2.1.0.crate) = 95e5a7689e456ab905c22c2b48225bb921aba7c8dfa58440d68ba13f6222a715
+SIZE (rust/crates/predicates-2.1.0.crate) = 23141
+SHA256 (rust/crates/predicates-core-1.0.2.crate) = 57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451
+SIZE (rust/crates/predicates-core-1.0.2.crate) = 8185
+SHA256 (rust/crates/predicates-tree-1.0.4.crate) = 338c7be2905b732ae3984a2f40032b5e94fd8f52505b186c7d4d68d193445df7
+SIZE (rust/crates/predicates-tree-1.0.4.crate) = 7682
+SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
+SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
+SHA256 (rust/crates/quote-1.0.14.crate) = 47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d
+SIZE (rust/crates/quote-1.0.14.crate) = 27252
+SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
+SIZE (rust/crates/rayon-1.5.1.crate) = 160424
+SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
+SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
+SHA256 (rust/crates/redox_syscall-0.2.10.crate) = 8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff
+SIZE (rust/crates/redox_syscall-0.2.10.crate) = 23582
+SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
+SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
+SHA256 (rust/crates/regex-1.5.6.crate) = d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1
+SIZE (rust/crates/regex-1.5.6.crate) = 238593
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-syntax-0.6.26.crate) = 49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64
+SIZE (rust/crates/regex-syntax-0.6.26.crate) = 293912
+SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
+SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rustls-0.20.2.crate) = d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84
+SIZE (rust/crates/rustls-0.20.2.crate) = 238289
+SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
+SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/semver-1.0.4.crate) = 568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012
+SIZE (rust/crates/semver-1.0.4.crate) = 29375
+SHA256 (rust/crates/serde-1.0.133.crate) = 97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a
+SIZE (rust/crates/serde-1.0.133.crate) = 75566
+SHA256 (rust/crates/serde_derive-1.0.133.crate) = ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537
+SIZE (rust/crates/serde_derive-1.0.133.crate) = 54726
+SHA256 (rust/crates/serde_json-1.0.74.crate) = ee2bb9cd061c5865d345bb02ca49fcef1391741b672b54a0bf7b679badec3142
+SIZE (rust/crates/serde_json-1.0.74.crate) = 115919
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.84.crate) = ecb2e6da8ee5eb9a61068762a32fa9619cc591ceb055b3687f4cd4051ec2e06b
+SIZE (rust/crates/syn-1.0.84.crate) = 235025
+SHA256 (rust/crates/tempfile-3.3.0.crate) = 5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4
+SIZE (rust/crates/tempfile-3.3.0.crate) = 27578
+SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
+SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
+SHA256 (rust/crates/termtree-0.2.3.crate) = 13a4ec180a2de59b57434704ccfad967f789b12737738798fa08798cd5824c16
+SIZE (rust/crates/termtree-0.2.3.crate) = 6926
+SHA256 (rust/crates/textwrap-0.15.0.crate) = b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb
+SIZE (rust/crates/textwrap-0.15.0.crate) = 52998
+SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
+SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
+SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
+SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
+SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
+SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
+SHA256 (rust/crates/tinyvec-1.5.1.crate) = 2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2
+SIZE (rust/crates/tinyvec-1.5.1.crate) = 44942
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/unicode-bidi-0.3.7.crate) = 1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f
+SIZE (rust/crates/unicode-bidi-0.3.7.crate) = 33759
+SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
+SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/update-informer-0.6.0.crate) = 152ff185ca29f7f487c51ca785b0f1d85970c4581f4cdd12ed499227890200f5
+SIZE (rust/crates/update-informer-0.6.0.crate) = 15160
+SHA256 (rust/crates/ureq-2.4.0.crate) = 9399fa2f927a3d327187cbd201480cee55bee6ac5d3c77dd27f0c6814cff16d5
+SIZE (rust/crates/ureq-2.4.0.crate) = 91872
+SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
+SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
+SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
+SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
+SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
+SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
+SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/wasm-bindgen-0.2.78.crate) = 632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce
+SIZE (rust/crates/wasm-bindgen-0.2.78.crate) = 162111
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.78.crate) = a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b
+SIZE (rust/crates/wasm-bindgen-backend-0.2.78.crate) = 25576
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.78.crate) = d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9
+SIZE (rust/crates/wasm-bindgen-macro-0.2.78.crate) = 11700
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 17858
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc
+SIZE (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 7206
+SHA256 (rust/crates/web-sys-0.3.55.crate) = 38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb
+SIZE (rust/crates/web-sys-0.3.55.crate) = 664827
+SHA256 (rust/crates/webpki-0.22.0.crate) = f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd
+SIZE (rust/crates/webpki-0.22.0.crate) = 58663
+SHA256 (rust/crates/webpki-roots-0.22.2.crate) = 552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449
+SIZE (rust/crates/webpki-roots-0.22.2.crate) = 237864
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
+SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (dotenv-linter-dotenv-linter-v3.3.0_GH0.tar.gz) = ffcd2f0d5bb40a19ea747ad7786fea796a7454f51e6da8f37fec572da8ae3c5f
+SIZE (dotenv-linter-dotenv-linter-v3.3.0_GH0.tar.gz) = 72622
diff --git a/misc/dotenv-linter/pkg-descr b/misc/dotenv-linter/pkg-descr
new file mode 100644
index 000000000000..3e2464831e74
--- /dev/null
+++ b/misc/dotenv-linter/pkg-descr
@@ -0,0 +1,4 @@
+dotenv-linter is a lightning-fast linter for .env files written in Rust.
+
+A .env file or 'dotenv' file is a simple text file containing all the
+environment variables of a project.