33 lines
895 B
Nix
33 lines
895 B
Nix
|
{ lib, buildNpmPackage, fetchFromGitHub, runCommand, hred, jq }:
|
||
|
|
||
|
buildNpmPackage rec {
|
||
|
pname = "hred";
|
||
|
version = "1.5.0";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "danburzo";
|
||
|
repo = "hred";
|
||
|
rev = "v${version}";
|
||
|
hash = "sha256-rnobJG9Z1lXEeFm+c0f9OsbiTzxeP3+zut5LYpGzWfc=";
|
||
|
};
|
||
|
|
||
|
npmDepsHash = "sha256-POxlGWK0TJMwNWDpiK5+OXLGtAx4lFJO3imoe/h+7Sc=";
|
||
|
|
||
|
dontNpmBuild = true;
|
||
|
|
||
|
passthru.tests = {
|
||
|
simple = runCommand "${pname}-test" {} ''
|
||
|
set -e -o pipefail
|
||
|
echo '<i id="foo">bar</i>' | ${hred}/bin/hred 'i#foo { @id => id, @.textContent => text }' -c | ${jq}/bin/jq -c > $out
|
||
|
[ "$(cat $out)" = '{"id":"foo","text":"bar"}' ]
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
meta = {
|
||
|
description = "A command-line tool to extract data from HTML";
|
||
|
license = lib.licenses.mit;
|
||
|
homepage = "https://github.com/danburzo/hred";
|
||
|
maintainers = with lib.maintainers; [ tejing ];
|
||
|
};
|
||
|
}
|