Merge pull request #305824 from zeorin/init-vscode-js-debug

vscode-js-debug: init at 1.90.0
This commit is contained in:
Damien Cassou 2024-06-12 21:15:12 +02:00 committed by GitHub
commit c666380242
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 92 additions and 0 deletions

View File

@ -23089,6 +23089,16 @@
fingerprint = "1127 F188 280A E312 3619 3329 87E1 7EEF 9B18 B6C9";
}];
};
zeorin = {
name = "Xandor Schiefer";
email = "me@xandor.co.za";
matrix = "@zeorin:matrix.org";
github = "zeorin";
githubId = 1187078;
keys = [{
fingerprint = "863F 093A CF82 D2C8 6FD7 FB74 5E1C 0971 FE4F 665A";
}];
};
zeratax = {
email = "mail@zera.tax";
github = "zeratax";

View File

@ -0,0 +1,82 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
, jq
, libsecret
, pkg-config
, nodePackages
, runCommand
, vscode-js-debug
, nix-update-script
}:
buildNpmPackage rec {
pname = "vscode-js-debug";
version = "1.90.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "vscode-js-debug";
rev = "v${version}";
hash = "sha256-SmWPKO7CEXaOIkuf9Y+825EfGsIz+rWlnCsh1T2UEF0=";
};
npmDepsHash = "sha256-DfeaiqKadTnGzOObK01ctlavwqTMa0tqn59sLZMPvUM=";
nativeBuildInputs = [ pkg-config nodePackages.node-gyp jq ];
buildInputs = [ libsecret ];
postPatch = ''
jq '
.scripts.postinstall |= empty | # tries to install playwright, not necessary for build
.scripts.build |= "gulp dapDebugServer" | # there is no build script defined
.bin |= "./dist/src/dapDebugServer.js" # there is no bin output defined
' ${src}/package.json > package.json
'';
makeCacheWritable = true;
npmInstallFlags = [ "--include=dev" ];
preBuild = ''
export PATH="node_modules/.bin:$PATH"
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex" "v((?!\d{4}\.\d\.\d{3}).*)" ];
};
passthru.tests.test = runCommand "${pname}-test"
{
nativeBuildInputs = [ vscode-js-debug ];
meta.timeout = 60;
} ''
output=$(js-debug --help 2>&1)
if grep -Fw -- "Usage: dapDebugServer.js [port|socket path=8123] [host=localhost]" - <<< "$output"; then
touch $out
else
echo "Expected help output was not found!" >&2
echo "The output was:" >&2
echo "$output" >&2
exit 1
fi
'';
meta = with lib; {
description = "A DAP-compatible JavaScript debugger";
longDescription = ''
This is a [DAP](https://microsoft.github.io/debug-adapter-protocol/)-based
JavaScript debugger. It debugs Node.js, Chrome, Edge, WebView2, VS Code
extensions, and more. It has been the default JavaScript debugger in
Visual Studio Code since 1.46, and is gradually rolling out in Visual
Studio proper.
'';
homepage = "https://github.com/microsoft/vscode-js-debug";
changelog =
"https://github.com/microsoft/vscode-js-debug/blob/v${version}/CHANGELOG.md";
mainProgram = "js-debug";
license = licenses.mit;
maintainers = with maintainers; [ zeorin ];
};
}