diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 2d83921501fe..a81de0fdb95e 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -206,6 +206,8 @@ of pulling the upstream container image from Docker Hub. If you want the old beh - `rocmPackages_6` has been removed. `rocmPackages` has been updated to ROCm 7.x. Out of tree packages may rely on obsolete hipblas APIs or compile time constant warp size and need to be updated. +- `services.prometheus.exporters.rspamd` has been removed. It relied on the Rspamd /stat endpoint via the JSON exporter. You can use the Rspamd [/metrics](https://docs.rspamd.com/developers/protocol#controller-http-endpoints) endpoint directly instead. + - The Bash implementation of the `nixos-rebuild` program is removed. All switchable systems now use the Python rewrite. Any prior usage of `system.rebuild.enableNg` must now be removed. If you have any outstanding issues with the new implementation, please open an issue on GitHub. - `services.desktopManager.gnome` no longer installs the Geary e-mail client since it is not part of the GNOME [core applications](https://apps.gnome.org/) list. Geary's position in the default favorite apps section has been replaced by GNOME Text Editor. To keep it installed, add `programs.geary.enable = true;` to your configuration. diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index d3298742772c..e602916426e8 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -110,7 +110,6 @@ let "rasdaemon" "redis" "restic" - "rspamd" "rtl_433" "sabnzbd" "scaphandre" @@ -398,6 +397,10 @@ in (lib.mkRemovedOptionModule [ "tor" ] '' The Tor exporter has been removed, as it was broken and unmaintained. '') + (lib.mkRemovedOptionModule [ "rspamd" ] '' + The Rspamd exporter has been removed. You can use the Rspamd /metrics endpoint directly instead: + https://docs.rspamd.com/developers/protocol#controller-http-endpoints + '') ]; }; description = "Prometheus exporter configuration"; diff --git a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix b/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix deleted file mode 100644 index de8ba9d676ae..000000000000 --- a/nixos/modules/services/monitoring/prometheus/exporters/rspamd.nix +++ /dev/null @@ -1,119 +0,0 @@ -{ - config, - lib, - pkgs, - options, - ... -}: - -let - cfg = config.services.prometheus.exporters.rspamd; - inherit (lib) - mkOption - types - replaceStrings - mkRemovedOptionModule - recursiveUpdate - concatStringsSep - literalExpression - ; - - mkFile = conf: pkgs.writeText "rspamd-exporter-config.yml" (builtins.toJSON conf); - - generateConfig = extraLabels: { - modules.default.metrics = - (map - (path: { - name = "rspamd_${replaceStrings [ "[" "." " " "]" "\\" "'" ] [ "_" "_" "_" "" "" "" ] path}"; - path = "{ .${path} }"; - labels = extraLabels; - }) - [ - "actions['add\\ header']" - "actions['no\\ action']" - "actions['rewrite\\ subject']" - "actions['soft\\ reject']" - "actions.greylist" - "actions.reject" - "bytes_allocated" - "chunks_allocated" - "chunks_freed" - "chunks_oversized" - "connections" - "control_connections" - "ham_count" - "learned" - "pools_allocated" - "pools_freed" - "read_only" - "scanned" - "shared_chunks_allocated" - "spam_count" - "total_learns" - ] - ) - ++ [ - { - name = "rspamd_statfiles"; - type = "object"; - path = "{.statfiles[*]}"; - labels = recursiveUpdate { - symbol = "{.symbol}"; - type = "{.type}"; - } extraLabels; - values = { - revision = "{.revision}"; - size = "{.size}"; - total = "{.total}"; - used = "{.used}"; - languages = "{.languages}"; - users = "{.users}"; - }; - } - ]; - }; -in -{ - port = 7980; - extraOpts = { - extraLabels = mkOption { - type = types.attrsOf types.str; - default = { - host = config.networking.hostName; - }; - defaultText = literalExpression "{ host = config.networking.hostName; }"; - example = literalExpression '' - { - host = config.networking.hostName; - custom_label = "some_value"; - } - ''; - description = "Set of labels added to each metric."; - }; - }; - serviceOpts.serviceConfig.ExecStart = '' - ${pkgs.prometheus-json-exporter}/bin/json_exporter \ - --config.file ${mkFile (generateConfig cfg.extraLabels)} \ - --web.listen-address "${cfg.listenAddress}:${toString cfg.port}" \ - ${concatStringsSep " \\\n " cfg.extraFlags} - ''; - - imports = [ - (mkRemovedOptionModule [ "url" ] '' - This option was removed. The URL of the rspamd metrics endpoint - must now be provided to the exporter by prometheus via the url - parameter `target'. - - In prometheus a scrape URL would look like this: - - http://some.rspamd-exporter.host:7980/probe?target=http://some.rspamd.host:11334/stat - - For more information, take a look at the official documentation - (https://github.com/prometheus-community/json_exporter) of the json_exporter. - '') - { - options.warnings = options.warnings; - options.assertions = options.assertions; - } - ]; -} diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index 3a70bd554e1e..5f736f86fdf6 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1540,26 +1540,6 @@ let ''; }; - rspamd = - { ... }: - { - exporterConfig = { - enable = true; - }; - metricProvider = { - services.rspamd.enable = true; - }; - exporterTest = '' - wait_for_unit("rspamd.service") - wait_for_unit("prometheus-rspamd-exporter.service") - wait_for_open_port(11334) - wait_for_open_port(7980) - wait_until_succeeds( - "curl -sSf 'localhost:7980/probe?target=http://localhost:11334/stat' | grep 'rspamd_scanned{host=\"rspamd\"} 0'" - ) - ''; - }; - rtl_433 = { ... }: { diff --git a/pkgs/applications/emulators/libretro/cores/gpsp.nix b/pkgs/applications/emulators/libretro/cores/gpsp.nix index 79b6fb8cbf9c..c882a781f890 100644 --- a/pkgs/applications/emulators/libretro/cores/gpsp.nix +++ b/pkgs/applications/emulators/libretro/cores/gpsp.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "gpsp"; - version = "0-unstable-2026-01-27"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "gpsp"; - rev = "602512d7c687acb84cd56265cbcf2d7b7c75fb37"; - hash = "sha256-YloLG2anJJ1hcVltN+d8XsshgZoDBrFRgRoQA7mfhN8="; + rev = "6373ff347a07ac17c50a00f20aa63d29c080abcf"; + hash = "sha256-1aLSJ0oB8WJnIfKHHdwBQ52uVPs1XiFZvgFgrF9zUoA="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix index b92b41037062..30a043cc3d91 100644 --- a/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix +++ b/pkgs/applications/emulators/libretro/cores/mame2003-plus.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "mame2003-plus"; - version = "0-unstable-2026-03-10"; + version = "0-unstable-2026-04-04"; src = fetchFromGitHub { owner = "libretro"; repo = "mame2003-plus-libretro"; - rev = "53453e57676ff31131441f08c0b734c9ad84e4f0"; - hash = "sha256-IpVv/bpT7AHF8QaGFGgTWei5JKuy7H5/O70W2n88s1c="; + rev = "3da943f4bcf264c7af83a07b78617e98ce3822cd"; + hash = "sha256-3hJj8BLePPdEEsQriHSWhIMhamr7pvpKswP5/RxtjcM="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/quicknes.nix b/pkgs/applications/emulators/libretro/cores/quicknes.nix index 365a64725c7a..6b493d5fcc55 100644 --- a/pkgs/applications/emulators/libretro/cores/quicknes.nix +++ b/pkgs/applications/emulators/libretro/cores/quicknes.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "quicknes"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "QuickNES_Core"; - rev = "dbf19f73e3eb9701d1c7f5898f57c097e05c9fbd"; - hash = "sha256-oFQUMp1imc8JCsQYCy1BtIUmTC+u0VcoYHpWzUpKNb4="; + rev = "71782569078f29214017a966b0f992b9e512bf19"; + hash = "sha256-Bx1iZcrUG5B/wjeWf2hZEAIocM7dKgRwRPqpGzS2Cgc="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/smsplus-gx.nix b/pkgs/applications/emulators/libretro/cores/smsplus-gx.nix index d0e9569bfc77..aa6e54f10b8d 100644 --- a/pkgs/applications/emulators/libretro/cores/smsplus-gx.nix +++ b/pkgs/applications/emulators/libretro/cores/smsplus-gx.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "smsplus"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "smsplus-gx"; - rev = "c642bbd0680b5959180a420036108893d0aec961"; - hash = "sha256-SHBrwzLyVZ4Tp/kVCnr4xj2B3pmdg+JUmZUM7hYao64="; + rev = "41212ee3309fcf84ef0c04317a0916f0e1252c00"; + hash = "sha256-7IKnFdSYCVrwjvtP4cTxQCCKANYSVVR6IwrhnjzqPPg="; }; meta = { diff --git a/pkgs/applications/emulators/libretro/cores/snes9x2002.nix b/pkgs/applications/emulators/libretro/cores/snes9x2002.nix index 1f76c95869d2..a698c15e200f 100644 --- a/pkgs/applications/emulators/libretro/cores/snes9x2002.nix +++ b/pkgs/applications/emulators/libretro/cores/snes9x2002.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "snes9x2002"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "snes9x2002"; - rev = "a0709ec7dcd6de2fbebb43106bd757b649e3b7cf"; - hash = "sha256-rrMPhXIsQ48fVvjgZgC3xeqm9k9kwe43oZNzs2d/h1Q="; + rev = "15826a2afc1474b30c310502b5dbe25c639be59d"; + hash = "sha256-LVTtpnmZzmKCohFwc74qLMR6cN4ntT/o/OUQOg6mdU0="; }; makefile = "Makefile"; diff --git a/pkgs/applications/emulators/libretro/cores/snes9x2010.nix b/pkgs/applications/emulators/libretro/cores/snes9x2010.nix index 7f0624716e60..64d38695d142 100644 --- a/pkgs/applications/emulators/libretro/cores/snes9x2010.nix +++ b/pkgs/applications/emulators/libretro/cores/snes9x2010.nix @@ -5,13 +5,13 @@ }: mkLibretroCore rec { core = "snes9x2010"; - version = "0-unstable-2024-11-19"; + version = "0-unstable-2026-03-31"; src = fetchFromGitHub { owner = "libretro"; repo = "snes9x2010"; - rev = "f9ae8fd28b13070a945a829ccf41cbf90a21d0f7"; - hash = "sha256-nsExAYnzDenPvXzeN60jGykRTrCGMi/mRPV+vgS8ZtE="; + rev = "693c0dd2a3004a6332a076a08d14c78086f26bc1"; + hash = "sha256-/+VdaLY6JycN2o1/LOPFIOmcp6ZVAqpX1MVuHN3B/Nc="; }; makeFlags = [ "GIT_VERSION=${builtins.substring 0 7 src.rev}" ]; diff --git a/pkgs/applications/emulators/libretro/cores/virtualjaguar.nix b/pkgs/applications/emulators/libretro/cores/virtualjaguar.nix index 60b3ac75dd67..0ce4cc4c0ab6 100644 --- a/pkgs/applications/emulators/libretro/cores/virtualjaguar.nix +++ b/pkgs/applications/emulators/libretro/cores/virtualjaguar.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "virtualjaguar"; - version = "0-unstable-2024-10-21"; + version = "0-unstable-2026-04-03"; src = fetchFromGitHub { owner = "libretro"; repo = "virtualjaguar-libretro"; - rev = "48096c1f6f8b98cfff048a5cb4e6a86686631072"; - hash = "sha256-DLBQQARHqupGGQS8YznDSSMuxQliyt5apGA4Ku2jlYo="; + rev = "68265f930f6120f8f05c1f71c9fc9e417dab0d28"; + hash = "sha256-BWpOm0DECqTqbQ1FR9YgjxjsxU7LdB4MlYHzGatcrJk="; }; makefile = "Makefile"; diff --git a/pkgs/by-name/ai/aider-chat/package.nix b/pkgs/by-name/ai/aider-chat/package.nix index 0dd4adcbe110..4384666fb541 100644 --- a/pkgs/by-name/ai/aider-chat/package.nix +++ b/pkgs/by-name/ai/aider-chat/package.nix @@ -37,6 +37,9 @@ let pythonRemoveDeps = [ "importlib-resources" + "tree-sitter-c-sharp" + "tree-sitter-embedded-template" + "tree-sitter-yaml" ]; build-system = with python3Packages; [ setuptools-scm ]; @@ -200,6 +203,10 @@ let "test_main_exit_calls_version_check" # AssertionError: assert 2 == 1 "test_simple_send_non_retryable_error" + # Upstream tests incompatible with current litellm version + "test_max_context_tokens" + "test_cmd_tokens_output" + "test_cmd_read_only_with_image_file" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # Tests fails on darwin diff --git a/pkgs/by-name/am/amber-secret/package.nix b/pkgs/by-name/am/amber-secret/package.nix index e9744135345e..59ed8eb25c29 100644 --- a/pkgs/by-name/am/amber-secret/package.nix +++ b/pkgs/by-name/am/amber-secret/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage (finalAttrs: { # Renaming it to amber-secret because another package named amber exists pname = "amber-secret"; - version = "0.1.7"; + version = "0.1.8"; src = fetchFromGitHub { owner = "fpco"; repo = "amber"; tag = "v${finalAttrs.version}"; - hash = "sha256-nduSnDhLvHpZD7Y1zeZC4nNL7P1qfLWc0yMpsdqrKHM="; + hash = "sha256-nBC/IJgad7/LaKfQ4d+aynKmzwd2t3VcPcUVlWHByzI="; }; - cargoHash = "sha256-Gwj0rnbKWifja5NJwskcrFpPoK15HjSQHXolGbgV784="; + cargoHash = "sha256-svHEeCcudQ4fXxAcYkz8Y8NJ8ATQacXIWXF1c5shom0="; meta = { description = "Manage secret values in-repo via public key cryptography"; diff --git a/pkgs/by-name/cd/cdncheck/package.nix b/pkgs/by-name/cd/cdncheck/package.nix index cd4a9902848e..3c848f798e79 100644 --- a/pkgs/by-name/cd/cdncheck/package.nix +++ b/pkgs/by-name/cd/cdncheck/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "cdncheck"; - version = "1.2.28"; + version = "1.2.30"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "cdncheck"; tag = "v${finalAttrs.version}"; - hash = "sha256-G0h/0HEPE0kOPfCJIFCXZnqeyCYs7JdnlNjusk9+Nzw="; + hash = "sha256-CzTwax3XuUt5ZJsYXIbXHz3czev6natd1WsTQIrokEE="; }; - vendorHash = "sha256-bYN119IyOkO9w+CWGwnCOXqpo4QHJV6iDuToMnTo0og="; + vendorHash = "sha256-z/wOCtd39ENUe8WQUst4uhl8R6RwCDdcUC4OZcRJWSs="; subPackages = [ "cmd/cdncheck/" ]; diff --git a/pkgs/by-name/ce/censor/package.nix b/pkgs/by-name/ce/censor/package.nix index d26bea105cec..605ae0c26b8b 100644 --- a/pkgs/by-name/ce/censor/package.nix +++ b/pkgs/by-name/ce/censor/package.nix @@ -13,14 +13,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "censor"; - version = "0.6.0"; + version = "0.7.0"; pyproject = false; src = fetchFromCodeberg { owner = "censor"; repo = "Censor"; tag = "v${finalAttrs.version}"; - hash = "sha256-r5GhPr7dFLVy8nyKWg0poZSjWVrLrpnUHhe4MdEThvM="; + hash = "sha256-ALWctGCV1ttocbjD+F1cV9kMnb/WfWXYzv96j+KAhmk="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/cn/cnspec/package.nix b/pkgs/by-name/cn/cnspec/package.nix index f3d9e00726c8..62a3285c2696 100644 --- a/pkgs/by-name/cn/cnspec/package.nix +++ b/pkgs/by-name/cn/cnspec/package.nix @@ -6,18 +6,18 @@ buildGoModule (finalAttrs: { pname = "cnspec"; - version = "13.2.0"; + version = "13.3.3"; src = fetchFromGitHub { owner = "mondoohq"; repo = "cnspec"; tag = "v${finalAttrs.version}"; - hash = "sha256-z02BAKPPWqKUiCotgGr+kOIg8omXjyXnLze/RaNdWc0="; + hash = "sha256-yCxry1f5CEF51WSgrYN1m9F8YpVjtt+UNZG978nPXbY="; }; proxyVendor = true; - vendorHash = "sha256-EgSj4EL6s30u4p5tNOJMyH4h+DM1O8UMg8iveRi6hJA="; + vendorHash = "sha256-wgebRTa1ox+LUzxlYLb3pqcLEF/uUushZ1Oq2mvRGCk="; subPackages = [ "apps/cnspec" ]; diff --git a/pkgs/by-name/do/docstrfmt/package.nix b/pkgs/by-name/do/docstrfmt/package.nix index 9cb6d2e0a05c..2aeb29fae8fb 100644 --- a/pkgs/by-name/do/docstrfmt/package.nix +++ b/pkgs/by-name/do/docstrfmt/package.nix @@ -6,29 +6,38 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pname = "docstrfmt"; - version = "1.11.0"; + version = "2.0.2"; pyproject = true; src = fetchFromGitHub { owner = "LilSpazJoekp"; repo = "docstrfmt"; tag = "v${finalAttrs.version}"; - hash = "sha256-5Yx+omXZSlpJSzA4dTY/JdfmHQshM7qI++OVvqYg1jc="; + hash = "sha256-N2uPFOdDvAUL9eV4kn8MYM6OTMWJm24inlyY+k9Eqm8="; }; build-system = [ python3.pkgs.flit-core ]; + pythonRelaxDeps = [ + # https://github.com/LilSpazJoekp/docstrfmt/issues/186 + "types-docutils" + ]; + dependencies = with python3.pkgs; [ black click + coverage docutils + docutils-stubs libcst platformdirs + roman sphinx tabulate - toml + tomli + types-docutils ]; nativeCheckInputs = with python3.pkgs; [ diff --git a/pkgs/by-name/es/eslint/package-lock.json b/pkgs/by-name/es/eslint/package-lock.json index 53836bbee137..1d71732443b7 100644 --- a/pkgs/by-name/es/eslint/package-lock.json +++ b/pkgs/by-name/es/eslint/package-lock.json @@ -1,20 +1,20 @@ { "name": "eslint", - "version": "10.1.0", + "version": "10.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "eslint", - "version": "10.1.0", + "version": "10.2.0", "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.3", - "@eslint/config-helpers": "^0.5.3", - "@eslint/core": "^1.1.1", - "@eslint/plugin-kit": "^0.6.1", + "@eslint/config-array": "^0.23.4", + "@eslint/config-helpers": "^0.5.4", + "@eslint/core": "^1.2.0", + "@eslint/plugin-kit": "^0.7.0", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -63,7 +63,7 @@ "ejs": "^3.0.2", "eslint": "file:.", "eslint-config-eslint": "file:packages/eslint-config-eslint", - "eslint-plugin-eslint-plugin": "^6.0.0", + "eslint-plugin-eslint-plugin": "^7.3.2", "eslint-plugin-expect-type": "^0.6.0", "eslint-plugin-yml": "^1.14.0", "eslint-release": "^3.3.0", @@ -80,7 +80,7 @@ "lint-staged": "^11.0.0", "markdown-it": "^12.2.0", "markdown-it-container": "^3.0.0", - "markdownlint-cli2": "^0.21.0", + "markdownlint-cli2": "^0.22.0", "marked": "^4.0.8", "metascraper": "^5.25.7", "metascraper-description": "^5.25.7", @@ -437,9 +437,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.7.tgz", - "integrity": "sha512-6Fqi8MtQ/PweQ9xvux65emkLQ83uB+qAVtfHkC9UodyHMIZdxNI01HjLCLUtybElp2KY2XNE0nOgyP1E1vXw9w==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.8.tgz", + "integrity": "sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==", "dev": true, "license": "MIT", "dependencies": { @@ -628,23 +628,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { @@ -1660,9 +1660,9 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", - "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.2.tgz", + "integrity": "sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==", "dev": true, "license": "MIT", "dependencies": { @@ -1941,9 +1941,9 @@ } }, "node_modules/@csstools/css-syntax-patches-for-csstree": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.0.tgz", - "integrity": "sha512-H4tuz2nhWgNKLt1inYpoVCfbJbMwX/lQKp3g69rrrIMIYlFD9+zTykOKhNR8uGrAmbS/kT9n6hTFkmDkxLgeTA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.2.tgz", + "integrity": "sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==", "dev": true, "funding": [ { @@ -1955,7 +1955,15 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT-0" + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } }, "node_modules/@csstools/css-tokenizer": { "version": "4.0.0", @@ -2058,51 +2066,54 @@ } }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.2.tgz", + "integrity": "sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.2.tgz", + "integrity": "sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.84.0", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.84.0.tgz", - "integrity": "sha512-0xew1CxOam0gV5OMjh2KjFQZsKL2bByX1+q4j3E73MpYIdyUxcZb/xQct9ccUb+ve5KGUYbCUxyPnYB7RbuP+w==", + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.86.0.tgz", + "integrity": "sha512-ukZmRQ81WiTpDWO6D/cTBM7XbrNtutHKvAVnZN/8pldAwLoJArGOvkNyxPTBGsPjsoaQBJxlH+tE2TNA/92Qgw==", "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.8", - "@typescript-eslint/types": "^8.54.0", - "comment-parser": "1.4.5", + "@typescript-eslint/types": "^8.58.0", + "comment-parser": "1.4.6", "esquery": "^1.7.0", - "jsdoc-type-pratt-parser": "~7.1.1" + "jsdoc-type-pratt-parser": "~7.2.0" }, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" @@ -2188,12 +2199,12 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.23.3", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.3.tgz", - "integrity": "sha512-j+eEWmB6YYLwcNOdlwQ6L2OsptI/LO6lNBuLIqe5R7RetD658HLoF+Mn7LzYmAWWNNzdC6cqP+L6r8ujeYXWLw==", + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.4.tgz", + "integrity": "sha512-lf19F24LSMfF8weXvW5QEtnLqW70u7kgit5e9PSx0MsHAFclGd1T9ynvWEMDT1w5J4Qt54tomGeAhdoAku1Xow==", "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^3.0.3", + "@eslint/object-schema": "^3.0.4", "debug": "^4.3.1", "minimatch": "^10.2.4" }, @@ -2202,21 +2213,21 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.3.tgz", - "integrity": "sha512-lzGN0onllOZCGroKJmRwY6QcEHxbjBw1gwB8SgRSqK8YbbtEXMvKynsXc3553ckIEBxsbMBU7oOZXKIPGZNeZw==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.5.4.tgz", + "integrity": "sha512-jJhqiY3wPMlWWO3370M86CPJ7pt8GmEwSLglMfQhjXal07RCvhmU0as4IuUEW5SJeunfItiEetHmSxCCe9lDBg==", "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.1.1" + "@eslint/core": "^1.2.0" }, "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.1.1.tgz", - "integrity": "sha512-QUPblTtE51/7/Zhfv8BDwO0qkkzQL7P/aWWbqcf4xWLEYn1oKjdO0gglQBB4GAsu7u6wjijbCmzsUTy6mnk6oQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.0.tgz", + "integrity": "sha512-8FTGbNzTvmSlc4cZBaShkC6YvFMG0riksYWRFKXztqVdXaQbcZLXlFbSpC05s70sGEsXAw0qwhx69JiW7hQS7A==", "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" @@ -2257,9 +2268,9 @@ "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "dev": true, "license": "MIT", "dependencies": { @@ -2361,22 +2372,36 @@ "node": "^20.19.0 || ^22.13.0 || >=24" } }, + "node_modules/@eslint/json/node_modules/@eslint/plugin-kit": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz", + "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^1.1.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, "node_modules/@eslint/object-schema": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.3.tgz", - "integrity": "sha512-iM869Pugn9Nsxbh/YHRqYiqd23AmIbxJOcpUMOuWCVNdoQJ5ZtwL6h3t0bcZzJUlC3Dq9jCFCESBZnX0GTv7iQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.4.tgz", + "integrity": "sha512-55lO/7+Yp0ISKRP0PsPtNTeNGapXaO085aELZmWCVc5SH3jfrqpuU6YgOdIxMS99ZHkQN1cXKE+cdIqwww9ptw==", "license": "Apache-2.0", "engines": { "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.6.1.tgz", - "integrity": "sha512-iH1B076HoAshH1mLpHMgwdGeTs0CYwL0SPMkGuSebZrwBp16v415e9NZXg2jtrqPVQjf6IANe2Vtlr5KswtcZQ==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.0.tgz", + "integrity": "sha512-ejvBr8MQCbVsWNZnCwDXjUKq40MDmHalq7cJ6e9s/qzTUFIIo/afzt1Vui9T97FM/V/pN4YsFVoed5NIa96RDg==", "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^1.1.1", + "@eslint/core": "^1.2.0", "levn": "^0.4.1" }, "engines": { @@ -2402,14 +2427,11 @@ } }, "node_modules/@gar/promise-retry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.2.tgz", - "integrity": "sha512-Lm/ZLhDZcBECta3TmCQSngiQykFdfw+QtI1/GYMsZd4l3nG+P8WLB16XuS7WaBGLQ+9E+cOcWQsth9cayuGt8g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", "dev": true, "license": "MIT", - "dependencies": { - "retry": "^0.13.1" - }, "engines": { "node": "^20.17.0 || >=22.9.0" } @@ -2644,9 +2666,9 @@ } }, "node_modules/@kikobeats/time-span": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@kikobeats/time-span/-/time-span-1.0.11.tgz", - "integrity": "sha512-S+msolgD9aPVoJ+ZomVD0WSKm+qJBKvJimzwq8dMvlGKbIPsAyEWhHHdSRuQT3g2VpDIctvbi9nU++kN/VPZaw==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@kikobeats/time-span/-/time-span-1.0.12.tgz", + "integrity": "sha512-YeeiMfGaBKGoob/APJlRTZE1j8OL4cxKvjiOba49ED1IXlB+vj85q/aXMw/EZjEUMp5nBnfPmFoZEiwWLDNrYg==", "dev": true, "license": "MIT", "engines": { @@ -2664,9 +2686,9 @@ } }, "node_modules/@metascraper/helpers": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/@metascraper/helpers/-/helpers-5.49.25.tgz", - "integrity": "sha512-JnbSQ8j1eaRdCM1k2d9JvfbcJdxcCpEPw+75unisnLwI7JGbxhu2cm5jHl11mL/n4hfILxBmtewbX9Zg38tcvg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@metascraper/helpers/-/helpers-5.50.0.tgz", + "integrity": "sha512-w5eJO9sblf5btT0qSenQf8IlrHzifY7F7yTBB6q0RH+6gXgb9KgLno8WwWDjNeWkr+3n0D+8v0Ty5YGKGLAmyw==", "dev": true, "license": "MIT", "dependencies": { @@ -2713,21 +2735,30 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/@metascraper/helpers/node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.2.tgz", + "integrity": "sha512-sNXv5oLJ7ob93xkZ1XnxisYhGYXfaG9f65/ZgYuAu3qt7b3NadcOEhLvx28hv31PgX8SZJRYrAIPQilQmFpLVw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -2798,6 +2829,16 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@oxc-resolver/binding-android-arm-eabi": { "version": "11.19.1", "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.19.1.tgz", @@ -3317,9 +3358,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", - "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", + "version": "22.19.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.17.tgz", + "integrity": "sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -3376,16 +3417,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", - "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.58.0.tgz", + "integrity": "sha512-rLoGZIf9afaRBYsPUMtvkDWykwXwUPL60HebR4JgTI8mxfFe2cQTu3AGitANp4b9B2QlVru6WzjgB2IzJKiCSA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/scope-manager": "8.58.0", + "@typescript-eslint/types": "8.58.0", + "@typescript-eslint/typescript-estree": "8.58.0", + "@typescript-eslint/visitor-keys": "8.58.0", "debug": "^4.4.3" }, "engines": { @@ -3397,18 +3438,18 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.56.1.tgz", - "integrity": "sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.58.0.tgz", + "integrity": "sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.56.1", - "@typescript-eslint/types": "^8.56.1", + "@typescript-eslint/tsconfig-utils": "^8.58.0", + "@typescript-eslint/types": "^8.58.0", "debug": "^4.4.3" }, "engines": { @@ -3419,18 +3460,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz", - "integrity": "sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.58.0.tgz", + "integrity": "sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1" + "@typescript-eslint/types": "8.58.0", + "@typescript-eslint/visitor-keys": "8.58.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3441,9 +3482,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz", - "integrity": "sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.58.0.tgz", + "integrity": "sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==", "dev": true, "license": "MIT", "engines": { @@ -3454,13 +3495,13 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.56.1.tgz", - "integrity": "sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.58.0.tgz", + "integrity": "sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==", "dev": true, "license": "MIT", "engines": { @@ -3472,21 +3513,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz", - "integrity": "sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.58.0.tgz", + "integrity": "sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.56.1", - "@typescript-eslint/tsconfig-utils": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/visitor-keys": "8.56.1", + "@typescript-eslint/project-service": "8.58.0", + "@typescript-eslint/tsconfig-utils": "8.58.0", + "@typescript-eslint/types": "8.58.0", + "@typescript-eslint/visitor-keys": "8.58.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "ts-api-utils": "^2.5.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3496,20 +3537,20 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.56.1.tgz", - "integrity": "sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.58.0.tgz", + "integrity": "sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.56.1", - "@typescript-eslint/types": "8.56.1", - "@typescript-eslint/typescript-estree": "8.56.1" + "@typescript-eslint/scope-manager": "8.58.0", + "@typescript-eslint/types": "8.58.0", + "@typescript-eslint/typescript-estree": "8.58.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3520,17 +3561,17 @@ }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.0.0" + "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.56.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz", - "integrity": "sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==", + "version": "8.58.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.58.0.tgz", + "integrity": "sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.56.1", + "@typescript-eslint/types": "8.58.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -4192,14 +4233,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.16.tgz", - "integrity": "sha512-xaVwwSfebXf0ooE11BJovZYKhFjIvQo7TsyVpETuIeH2JHv0k/T6Y5j22pPTvqYqmpkxdlPAJlyJ0tfOJAoMxw==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz", + "integrity": "sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==", "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.28.6", - "@babel/helper-define-polyfill-provider": "^0.6.7", + "@babel/helper-define-polyfill-provider": "^0.6.8", "semver": "^6.3.1" }, "peerDependencies": { @@ -4217,13 +4258,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.1.tgz", - "integrity": "sha512-ENp89vM9Pw4kv/koBb5N2f9bDZsR0hpf3BdPMOg/pkS3pwO4dzNnQZVXtBbeyAadgm865DmQG2jMMLqmZXvuCw==", + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.2.tgz", + "integrity": "sha512-coWpDLJ410R781Npmn/SIBZEsAetR4xVi0SxLMXPaMO4lSf1MwnkGYMtkFxew0Dn8B3/CpbpYxN0JCgg8mn67g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.7", + "@babel/helper-define-polyfill-provider": "^0.6.8", "core-js-compat": "^3.48.0" }, "peerDependencies": { @@ -4231,13 +4272,13 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.7.tgz", - "integrity": "sha512-OTYbUlSwXhNgr4g6efMZgsO8//jA61P7ZbRX3iTT53VON8l+WQS8IAUEVo4a4cWknrg2W8Cj4gQhRYNCJ8GkAA==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.8.tgz", + "integrity": "sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.7" + "@babel/helper-define-polyfill-provider": "^0.6.8" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4274,9 +4315,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "version": "2.10.15", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.15.tgz", + "integrity": "sha512-1nfKCq9wuAZFTkA2ey/3OXXx7GzFjLdkTiFVNwlJ9WqdI706CZRIhEqjuwanjMIja+84jDLa9rcyZDPDiVkASQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -4345,9 +4386,9 @@ "license": "ISC" }, "node_modules/brace-expansion": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz", - "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "license": "MIT", "dependencies": { "balanced-match": "^4.0.2" @@ -4517,9 +4558,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -4537,11 +4578,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -4653,72 +4694,10 @@ } } }, - "node_modules/c8/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/c8/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/c8/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/cacache": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz", - "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", "dev": true, "license": "ISC", "dependencies": { @@ -4731,8 +4710,7 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^7.0.2", - "ssri": "^13.0.0", - "unique-filename": "^5.0.0" + "ssri": "^13.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -4899,9 +4877,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001777", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", - "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", + "version": "1.0.30001785", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001785.tgz", + "integrity": "sha512-blhOL/WNR+Km1RI/LCVAvA73xplXA7ZbjzI4YkMK9pa6T/P3F2GxjNpEkyw5repTw9IvkyrjyHpwjnhZ5FOvYQ==", "dev": true, "funding": [ { @@ -5212,6 +5190,16 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", @@ -5338,6 +5326,65 @@ "npm": ">=5.0.0" } }, + "node_modules/cli-highlight/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cli-highlight/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-highlight/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/cli-table3": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", @@ -5372,15 +5419,18 @@ } }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/cliui/node_modules/wrap-ansi": { @@ -5491,9 +5541,9 @@ } }, "node_modules/comment-parser": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.5.tgz", - "integrity": "sha512-aRDkn3uyIlCFfk5NUA+VdwMmMsh8JGhc4hapfV4yxymHGQ3BVskMQfoXGpCo5IoBuQ9tS5iiVKhCpTcB4pW4qw==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.6.tgz", + "integrity": "sha512-ObxuY6vnbWTN6Od72xfwN9DbzC7Y2vv8u1Soi9ahRKL37gb6y1qk6/dgjs+3JWuXJHWvsg3BXIwzd/rkmAwavg==", "dev": true, "license": "MIT", "engines": { @@ -5555,9 +5605,9 @@ "license": "MIT" }, "node_modules/core-js": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", - "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -5567,9 +5617,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", - "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.49.0.tgz", + "integrity": "sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==", "dev": true, "license": "MIT", "dependencies": { @@ -5605,9 +5655,9 @@ } }, "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", "dev": true, "license": "ISC", "engines": { @@ -5888,9 +5938,9 @@ } }, "node_modules/data-uri-utils": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/data-uri-utils/-/data-uri-utils-1.0.9.tgz", - "integrity": "sha512-oJNXjA6X7WpJHXVhy8ZWpiTSsigd6z64Mret1Aj8XcqDlWQSFPaAkvG0yCJnlsUmcTAWa9p0ENNWMBbxUckFFg==", + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/data-uri-utils/-/data-uri-utils-1.0.12.tgz", + "integrity": "sha512-TvKeyxno5JjVbUhjTY3C8dfBOPpn5nN7Hs2StbsrvBEqhA/n3sc3K2cwja2Le5JXtiwxxPiIn8GrW+qzUy60yg==", "dev": true, "license": "MIT", "dependencies": { @@ -5935,9 +5985,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", + "version": "1.11.20", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", "dev": true, "license": "MIT" }, @@ -5959,9 +6009,9 @@ } }, "node_modules/debug-logfmt": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/debug-logfmt/-/debug-logfmt-1.4.8.tgz", - "integrity": "sha512-tdHndIqcBCy5vEjDBCcyv9FnCkn38QrPRP0Q5B5qi+0S2Lgc6JOPjy2ozsLt00qslzJVbxoO2W05PXNYNB0IMQ==", + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/debug-logfmt/-/debug-logfmt-1.4.10.tgz", + "integrity": "sha512-+8rNw7zjXNRntMoJyp5211Y4W3nkhCCMBO7qe8Pht/9NscMklHwyTXMLUzk84YUDSksg87XRmK/LCzJdJ4eU7Q==", "dev": true, "license": "MIT", "dependencies": { @@ -6308,9 +6358,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.307", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", - "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", + "version": "1.5.331", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.331.tgz", + "integrity": "sha512-IbxXrsTlD3hRodkLnbxAPP4OuJYdWCeM3IOdT+CpcMoIwIoDfCmRpEtSPfwBXxVkg9xmBeY7Lz2Eo2TDn/HC3Q==", "dev": true, "license": "ISC" }, @@ -6399,9 +6449,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.20.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.0.tgz", - "integrity": "sha512-/ce7+jQ1PQ6rVXwe+jKEg5hW5ciicHwIQUagZkp6IufBoY3YDgdTTY1azVs0qoRgVmvsNB+rbjLJxDAeHHtwsQ==", + "version": "5.20.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.20.1.tgz", + "integrity": "sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==", "dev": true, "license": "MIT", "dependencies": { @@ -6620,9 +6670,9 @@ } }, "node_modules/eslint-plugin-eslint-plugin": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-6.5.0.tgz", - "integrity": "sha512-DT8YpcXDtMBcBZN39JlkHGurHKU8eYFLavTrnowQLeNwqe/diRUsllsftgD/7dZ2/ItabNLLF2/EYapE1H+G7Q==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-7.3.2.tgz", + "integrity": "sha512-odUwjaeon0s3W96vAmZf13XbTEGKnnXStnRykwM3XysTce7ZI7C8AJRn47OFJMdDNVtG/jLb/gFk0Wvj9zkSbQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6630,10 +6680,10 @@ "estraverse": "^5.3.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" }, "peerDependencies": { - "eslint": ">=8.23.0" + "eslint": ">=9.0.0" } }, "node_modules/eslint-plugin-expect-type": { @@ -6672,19 +6722,19 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "62.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.7.1.tgz", - "integrity": "sha512-4Zvx99Q7d1uggYBUX/AIjvoyqXhluGbbKrRmG8SQTLprPFg6fa293tVJH1o1GQwNe3lUydd8ZHzn37OaSncgSQ==", + "version": "62.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-62.9.0.tgz", + "integrity": "sha512-PY7/X4jrVgoIDncUmITlUqK546Ltmx/Pd4Hdsu4CvSjryQZJI2mEV4vrdMufyTetMiZ5taNSqvK//BTgVUlNkA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@es-joy/jsdoccomment": "~0.84.0", + "@es-joy/jsdoccomment": "~0.86.0", "@es-joy/resolve.exports": "1.2.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.5", + "comment-parser": "1.4.6", "debug": "^4.4.3", "escape-string-regexp": "^4.0.0", - "espree": "^11.1.0", + "espree": "^11.2.0", "esquery": "^1.7.0", "html-entities": "^2.6.0", "object-deep-merge": "^2.0.0", @@ -6752,35 +6802,25 @@ } }, "node_modules/eslint-plugin-regexp": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-2.10.0.tgz", - "integrity": "sha512-ovzQT8ESVn5oOe5a7gIDPD5v9bCSjIFJu57sVPDqgPRXicQzOnYfFN21WoQBQF18vrhT5o7UMKFwJQVVjyJ0ng==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-regexp/-/eslint-plugin-regexp-3.1.0.tgz", + "integrity": "sha512-qGXIC3DIKZHcK1H9A9+Byz9gmndY6TTSRkSMTZpNXdyCw2ObSehRgccJv35n9AdUakEjQp5VFNLas6BMXizCZg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.11.0", "comment-parser": "^1.4.0", - "jsdoc-type-pratt-parser": "^4.0.0", + "jsdoc-type-pratt-parser": "^7.0.0", "refa": "^0.12.1", "regexp-ast-analysis": "^0.7.1", "scslre": "^0.3.0" }, "engines": { - "node": "^18 || >=20" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "peerDependencies": { - "eslint": ">=8.44.0" - } - }, - "node_modules/eslint-plugin-regexp/node_modules/jsdoc-type-pratt-parser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.8.0.tgz", - "integrity": "sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" + "eslint": ">=9.38.0" } }, "node_modules/eslint-plugin-unicorn": { @@ -7355,9 +7395,9 @@ "license": "MIT" }, "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "dev": true, "license": "MIT", "dependencies": { @@ -7485,9 +7525,9 @@ } }, "node_modules/flatted": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", - "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "license": "ISC" }, "node_modules/follow-redirects": { @@ -7787,9 +7827,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.13.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", - "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "version": "4.13.7", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.7.tgz", + "integrity": "sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==", "dev": true, "license": "MIT", "dependencies": { @@ -7898,9 +7938,9 @@ "license": "MIT" }, "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "dev": true, "license": "MIT", "dependencies": { @@ -7953,9 +7993,9 @@ } }, "node_modules/globby": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-16.1.0.tgz", - "integrity": "sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==", + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-16.1.1.tgz", + "integrity": "sha512-dW7vl+yiAJSp6aCekaVnVJxurRv7DCOLyXqEG3RYMYUg7AuJ2jCqPkZTA8ooqC2vtnkaMcV5WfFBMuEnTu1OQg==", "dev": true, "license": "MIT", "dependencies": { @@ -8969,9 +9009,9 @@ } }, "node_modules/is-uri": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/is-uri/-/is-uri-1.2.12.tgz", - "integrity": "sha512-dsdV/MQ1enO8kwkPSJcB2TsTNR0GbQI7s2wgx1XQFu6akGJmS/Qo1xjdSmyuivVelltgWC4UyNjAJ7cCaBwY6w==", + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/is-uri/-/is-uri-1.2.13.tgz", + "integrity": "sha512-6KXiOBu0Y9bvxaWzVWhDfXBdiE5jQWS5MIuRITXHdLVJ11LaOGYRYJtJqUQkjNyUbtCfZZyREdnEFlJfhzIlog==", "dev": true, "license": "MIT", "dependencies": { @@ -9194,9 +9234,9 @@ "license": "MIT" }, "node_modules/jsdoc-type-pratt-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-7.1.1.tgz", - "integrity": "sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-7.2.0.tgz", + "integrity": "sha512-dh140MMgjyg3JhJZY/+iEzW+NO5xR2gpbDFKHqotCmexElVntw7GjWjt511+C/Ef02RU5TKYrJo/Xlzk+OLaTw==", "dev": true, "license": "MIT", "engines": { @@ -9270,9 +9310,9 @@ } }, "node_modules/jsdom/node_modules/tough-cookie": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", - "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz", + "integrity": "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9367,10 +9407,20 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jsonrepair": { - "version": "3.13.2", - "resolved": "https://registry.npmjs.org/jsonrepair/-/jsonrepair-3.13.2.tgz", - "integrity": "sha512-Leuly0nbM4R+S5SVJk3VHfw1oxnlEK9KygdZvfUtEtTawNDyzB4qa1xWTmFt1aeoA7sXZkVTRuIixJ8bAvqVUg==", + "version": "3.13.3", + "resolved": "https://registry.npmjs.org/jsonrepair/-/jsonrepair-3.13.3.tgz", + "integrity": "sha512-BTznj0owIt2CBAH/LTo7+1I5pMvl1e1033LRl/HUowlZmJOIhzC0zbX5bxMngLkfT4WnzPP26QnW5wMr2g9tsQ==", "dev": true, "license": "ISC", "bin": { @@ -9401,9 +9451,9 @@ "license": "MIT" }, "node_modules/katex": { - "version": "0.16.40", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.40.tgz", - "integrity": "sha512-1DJcK/L05k1Y9Gf7wMcyuqFOL6BiY3vY0CFcAM/LPRN04NALxcl6u7lOWNsp3f/bCHWxigzQl6FbR95XJ4R84Q==", + "version": "0.16.45", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.45.tgz", + "integrity": "sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==", "dev": true, "funding": [ "https://opencollective.com/katex", @@ -9447,9 +9497,9 @@ } }, "node_modules/knip": { - "version": "5.86.0", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.86.0.tgz", - "integrity": "sha512-tGpRCbP+L+VysXnAp1bHTLQ0k/SdC3M3oX18+Cpiqax1qdS25iuCPzpK8LVmAKARZv0Ijri81Wq09Rzk0JTl+Q==", + "version": "5.88.1", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.88.1.tgz", + "integrity": "sha512-tpy5o7zu1MjawVkLPuahymVJekYY3kYjvzcoInhIchgePxTlo+api90tBv2KfhAIe5uXh+mez1tAfmbv8/TiZg==", "dev": true, "funding": [ { @@ -9752,9 +9802,9 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "dev": true, "license": "MIT" }, @@ -9955,9 +10005,9 @@ } }, "node_modules/lru-cache": { - "version": "11.2.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", - "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", "dev": true, "license": "BlueOak-1.0.0", "engines": { @@ -9991,14 +10041,15 @@ } }, "node_modules/make-fetch-happen": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.4.tgz", - "integrity": "sha512-vM2sG+wbVeVGYcCm16mM3d5fuem9oC28n436HjsGO3LcxoTI8LNVa4rwZDn3f76+cWyT4GGJDxjTYU1I2nr6zw==", + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", "dev": true, "license": "ISC", "dependencies": { "@gar/promise-retry": "^1.0.0", "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", "cacache": "^20.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", @@ -10072,19 +10123,21 @@ } }, "node_modules/markdownlint-cli2": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.21.0.tgz", - "integrity": "sha512-DzzmbqfMW3EzHsunP66x556oZDzjcdjjlL2bHG4PubwnL58ZPAfz07px4GqteZkoCGnBYi779Y2mg7+vgNCwbw==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.22.0.tgz", + "integrity": "sha512-mOC9BY/XGtdX3M9n3AgERd79F0+S7w18yBBTNIQ453sI87etZfp1z4eajqSMV70CYjbxKe5ktKvT2HCpvcWx9w==", "dev": true, "license": "MIT", "dependencies": { - "globby": "16.1.0", + "globby": "16.1.1", "js-yaml": "4.1.1", "jsonc-parser": "3.3.1", + "jsonpointer": "5.0.1", "markdown-it": "14.1.1", "markdownlint": "0.40.0", "markdownlint-cli2-formatter-default": "0.0.6", - "micromatch": "4.0.8" + "micromatch": "4.0.8", + "smol-toml": "1.6.0" }, "bin": { "markdownlint-cli2": "markdownlint-cli2-bin.mjs" @@ -10157,6 +10210,19 @@ "dev": true, "license": "MIT" }, + "node_modules/markdownlint-cli2/node_modules/smol-toml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", + "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, "node_modules/markdownlint-cli2/node_modules/uc.micro": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", @@ -10332,13 +10398,13 @@ } }, "node_modules/metascraper": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/metascraper/-/metascraper-5.49.25.tgz", - "integrity": "sha512-fjNe37piap0OMU9728iggofFbpRh/MJiJ8KhYAO0r9mR4kF63SwfcjMXUI5y5F0+2pe5CvFETnJg5Evi7AelNA==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/metascraper/-/metascraper-5.50.0.tgz", + "integrity": "sha512-YuE4Bg6uB5Eh2iiSWozgHmrBonDc/qlgk49v97OI5v4WBqwgOhfnXToyixmAoU3ryDLbHouSCyq8hyPEVqnPIw==", "dev": true, "license": "MIT", "dependencies": { - "@metascraper/helpers": "5.49.25", + "@metascraper/helpers": "5.50.0", "cheerio": "~1.1.2", "debug-logfmt": "~1.4.7", "whoops": "~5.0.7" @@ -10348,39 +10414,39 @@ } }, "node_modules/metascraper-description": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/metascraper-description/-/metascraper-description-5.49.25.tgz", - "integrity": "sha512-SwxgzWq4Nsv5wg96PWbWXurEHdoQGtIOG7Mx5isZcN4TOkBRL+8B98x6MfBD91ro4lwSkFPy+vGEPQYGlyC6UQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/metascraper-description/-/metascraper-description-5.50.0.tgz", + "integrity": "sha512-NuR+y5QkLbszW/X5s9Nf5UKob0Qy0NrbuGkccLiQRA1NM+qSpBCq+piPPnEvWU4LEBC3v0O1gRCrngVA09bX4w==", "dev": true, "license": "MIT", "dependencies": { - "@metascraper/helpers": "5.49.25" + "@metascraper/helpers": "5.50.0" }, "engines": { "node": ">= 22" } }, "node_modules/metascraper-image": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/metascraper-image/-/metascraper-image-5.49.25.tgz", - "integrity": "sha512-Ip/Euz+ghEchm7DfYR7ujGG/1l8slJ8sCqr6IAWuUARq2epsmGEIyGJfKmxMi1ksGsADtt/6lScng/Y5TERuMg==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/metascraper-image/-/metascraper-image-5.50.0.tgz", + "integrity": "sha512-22k2Pg0/RvQ3jJ7yrU8DV2qTDQQTKtsOaHPzltWHMxl5j/fBugOVfOCJJYi4jDtMNmCnLneqgzxE7+SAE9K3Iw==", "dev": true, "license": "MIT", "dependencies": { - "@metascraper/helpers": "5.49.25" + "@metascraper/helpers": "5.50.0" }, "engines": { "node": ">= 22" } }, "node_modules/metascraper-logo": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/metascraper-logo/-/metascraper-logo-5.49.25.tgz", - "integrity": "sha512-BBXqn0/7nJQBsr1k/w6mjV/k9lYtr7WEnUDQN040mMxSQd64lXio29Smupdu7+D2XS/kJMrksMA+k6ws9ithDQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/metascraper-logo/-/metascraper-logo-5.50.0.tgz", + "integrity": "sha512-weA8eQ5N8AYYnT5i05waFQ3eVQ43LnbO+zGnKeBsthkNI7j1GP2z5WfnnWBf33iLCCjpIkIcKNKkAnPHfBiY3w==", "dev": true, "license": "MIT", "dependencies": { - "@metascraper/helpers": "5.49.25", + "@metascraper/helpers": "5.50.0", "lodash": "~4.17.23" }, "engines": { @@ -10388,14 +10454,14 @@ } }, "node_modules/metascraper-logo-favicon": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/metascraper-logo-favicon/-/metascraper-logo-favicon-5.49.25.tgz", - "integrity": "sha512-pk5A4lMGJxlFAwRJtJA462ds3HVc4Q0yzZ6SFiUv+mnz50TWNQAdlkDloFDmoE/0ybUWsOhNYeI3i1hPblqfsQ==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/metascraper-logo-favicon/-/metascraper-logo-favicon-5.50.0.tgz", + "integrity": "sha512-eNEzqUAvJlRWGGfpHhv1+zrwQxjGYaz0NZzOat/UWGY2YaIWLRJ5LKwUiugtMHMsPXLwRjNvctxd8wVX+uVABQ==", "dev": true, "license": "MIT", "dependencies": { "@keyvhq/memoize": "~2.1.11", - "@metascraper/helpers": "5.49.25", + "@metascraper/helpers": "5.50.0", "lodash": "~4.17.23", "reachable-url": "~1.8.3" }, @@ -10403,14 +10469,28 @@ "node": ">= 22" } }, + "node_modules/metascraper-logo-favicon/node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/metascraper-logo/node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, "node_modules/metascraper-title": { - "version": "5.49.25", - "resolved": "https://registry.npmjs.org/metascraper-title/-/metascraper-title-5.49.25.tgz", - "integrity": "sha512-9MT0vB08VQO4YKJrB4DZcz/nSYTDS8qH7qafQitzzktvEexobC9Lj+ZgVZ85Oigex0FmlMW+EaoOzVEgGgx9ow==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/metascraper-title/-/metascraper-title-5.50.0.tgz", + "integrity": "sha512-K4pTkskUGstWz/EtPrnIbTD88C2xMyfG8prd7uNU9BCUSLhleHpsu4xyJji8t8JAGwwSs3kvaxE6qAkwdqysug==", "dev": true, "license": "MIT", "dependencies": { - "@metascraper/helpers": "5.49.25" + "@metascraper/helpers": "5.50.0" }, "engines": { "node": ">= 22" @@ -11138,9 +11218,9 @@ } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -11151,9 +11231,9 @@ } }, "node_modules/microsoft-capitalize": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/microsoft-capitalize/-/microsoft-capitalize-1.0.6.tgz", - "integrity": "sha512-ZIt5am7KOboDsVR9ngsZVHViPpvuNZhuGWCmrPKMMVUJ1BAXAjK1eewwQNFbAV3K1SvIGgBQHxF1XSCt6A2qhg==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/microsoft-capitalize/-/microsoft-capitalize-1.0.7.tgz", + "integrity": "sha512-5CQkknFQ7Wq54JWtrv6OydAhNcGEYHlsuhYN81S1rREJskZBfAwbseA+nTvMqH7tZlEzGFz4vwrybyaxIteqqw==", "dev": true, "license": "MIT", "engines": { @@ -11252,12 +11332,12 @@ "license": "MIT" }, "node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^5.0.2" + "brace-expansion": "^5.0.5" }, "engines": { "node": "18 || 20 || >=22" @@ -11318,11 +11398,11 @@ } }, "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.7.tgz", + "integrity": "sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { "minipass": "^3.0.0" }, @@ -11343,6 +11423,13 @@ "node": ">=8" } }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", @@ -11369,6 +11456,13 @@ "node": ">=8" } }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/minipass-sized": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", @@ -11453,30 +11547,15 @@ "license": "MIT" }, "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, - "node_modules/mocha/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/mocha/node_modules/minimatch": { "version": "9.0.9", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", @@ -11509,53 +11588,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/mocha/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/mocha/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/module-not-found-error": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz", @@ -11589,9 +11621,9 @@ } }, "node_modules/nan": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.25.0.tgz", - "integrity": "sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==", + "version": "2.26.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.26.2.tgz", + "integrity": "sha512-0tTvBTYkt3tdGw22nrAy50x7gpbGCCFH3AFcyS5WiUu7Eu4vWlri1woE6qHBSfy11vksDqkiwjOnlR7WV8G1Hw==", "dev": true, "license": "MIT" }, @@ -11713,16 +11745,6 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/node-gyp/node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/node-gyp/node_modules/isexe": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", @@ -11749,23 +11771,6 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/node-gyp/node_modules/tar": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.10.tgz", - "integrity": "sha512-8mOPs1//5q/rlkNSPcCegA6hiHJYDmSLEI8aMH/CdSQJNWztHC9WHNam5zdQlfpTwB9Xp7IBEsHfV5LKMJGVAw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.1.0", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/node-gyp/node_modules/which": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", @@ -11782,16 +11787,6 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/node-gyp/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/node-polyfill-webpack-plugin": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/node-polyfill-webpack-plugin/-/node-polyfill-webpack-plugin-1.1.4.tgz", @@ -11857,9 +11852,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", - "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.37.tgz", + "integrity": "sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==", "dev": true, "license": "MIT" }, @@ -11992,9 +11987,9 @@ } }, "node_modules/null-prototype-object": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/null-prototype-object/-/null-prototype-object-1.2.5.tgz", - "integrity": "sha512-YAPMPwBVlXXmIx/eIHx/KwIL1Bsd8I+YHQdFpW0Ydvez6vu5Bx2CaP4GrEnH5c1huVWZD9MqEuFwAJoBMm5LJQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/null-prototype-object/-/null-prototype-object-1.2.6.tgz", + "integrity": "sha512-m+HuHAqaOiqlxVAzI3GtRgS4JIk3aAZ5RbkYxxPiACXyQZzS5uxjOXMASlWNdPYZ/5d4/+YclUlI+XXNlyN7Jg==", "dev": true, "license": "MIT", "engines": { @@ -12382,9 +12377,9 @@ "license": "MIT" }, "node_modules/parse-uri": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-2.0.4.tgz", - "integrity": "sha512-ITV6S3dwNU98VMAPn+SQP798cA7CKbhLjkt9QZK/fhocz7diEfnmAVPkJ5HhJPwtOub4cJIJByUYyWK7o/bQ/w==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-2.0.5.tgz", + "integrity": "sha512-E4J7siDZ1CL5EE/0YHX9y8IVNdSB/ZqjFPIKZWtWbSi5w8Q2h1OYjHSBezG15CsA6ieZmH5srrbpv0Rtf3I8rw==", "dev": true, "license": "MIT", "engines": { @@ -12587,9 +12582,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -13078,9 +13073,9 @@ "license": "MIT" }, "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "dev": true, "license": "MIT", "dependencies": { @@ -13286,9 +13281,9 @@ "license": "MIT" }, "node_modules/regjsparser": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", - "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.1.tgz", + "integrity": "sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -13439,16 +13434,6 @@ "node": ">=8" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", @@ -14154,9 +14139,9 @@ } }, "node_modules/smol-toml": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", - "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -14550,9 +14535,9 @@ "license": "MIT" }, "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.2.tgz", + "integrity": "sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==", "dev": true, "license": "MIT", "engines": { @@ -14563,10 +14548,27 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/tar": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "version": "5.46.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.1.tgz", + "integrity": "sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -14583,9 +14585,9 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.17", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz", - "integrity": "sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", + "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", "dev": true, "license": "MIT", "dependencies": { @@ -14818,22 +14820,22 @@ } }, "node_modules/tldts": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.25.tgz", - "integrity": "sha512-keinCnPbwXEUG3ilrWQZU+CqcTTzHq9m2HhoUP2l7Xmi8l1LuijAXLpAJ5zRW+ifKTNscs4NdCkfkDCBYm352w==", + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.28.tgz", + "integrity": "sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^7.0.25" + "tldts-core": "^7.0.28" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "7.0.25", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.25.tgz", - "integrity": "sha512-ZjCZK0rppSBu7rjHYDYsEaMOIbbT+nWF57hKkv4IUmZWBNrBWBOjIElc0mKRgLM8bm7x/BBlof6t2gi/Oq/Asw==", + "version": "7.0.28", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.28.tgz", + "integrity": "sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==", "dev": true, "license": "MIT" }, @@ -14958,9 +14960,9 @@ } }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", "dev": true, "license": "MIT", "engines": { @@ -15112,9 +15114,9 @@ "dev": true }, "node_modules/undici": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-7.22.0.tgz", - "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.7.tgz", + "integrity": "sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ==", "dev": true, "license": "MIT", "engines": { @@ -15205,32 +15207,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unique-filename": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz", - "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/unique-slug": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz", - "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, "node_modules/universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -15937,9 +15913,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", + "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", "dev": true, "license": "MIT", "engines": { @@ -15996,16 +15972,19 @@ } }, "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "license": "ISC" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } }, "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", + "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "dev": true, "license": "ISC", "bin": { @@ -16049,32 +16028,32 @@ } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-unparser": { @@ -16290,7 +16269,7 @@ "@eslint/js": "^10.0.1", "eslint-plugin-jsdoc": "^62.7.0", "eslint-plugin-n": "^17.11.1", - "eslint-plugin-regexp": "^2.10.0", + "eslint-plugin-regexp": "^3.1.0", "eslint-plugin-unicorn": "^63.0.0" }, "devDependencies": { diff --git a/pkgs/by-name/es/eslint/package.nix b/pkgs/by-name/es/eslint/package.nix index 44e322920b0f..5af40686ba84 100644 --- a/pkgs/by-name/es/eslint/package.nix +++ b/pkgs/by-name/es/eslint/package.nix @@ -6,13 +6,13 @@ }: buildNpmPackage rec { pname = "eslint"; - version = "10.1.0"; + version = "10.2.0"; src = fetchFromGitHub { owner = "eslint"; repo = "eslint"; tag = "v${version}"; - hash = "sha256-VO7Q+3utTp9+Z/EcN4jwNafbOwdeeCCJb8dtPMcvyjE="; + hash = "sha256-JsfiBU+BiqiBAIc4DwxXYl/wtBoM9bQntiem1+vi+/s="; }; # NOTE: Generating lock-file @@ -24,7 +24,7 @@ buildNpmPackage rec { cp ${./package-lock.json} package-lock.json ''; - npmDepsHash = "sha256-AXUh8KPqsv4tHGCHvdxjqVV+PRCtkyOuGtWSpoBwKX0="; + npmDepsHash = "sha256-qpxHGNBRWN3hys5R+zJR870xIoN5VL6U3dUnKrIH0go="; npmInstallFlags = [ "--omit=dev" ]; dontNpmBuild = true; diff --git a/pkgs/by-name/fe/felix86/package.nix b/pkgs/by-name/fe/felix86/package.nix new file mode 100644 index 000000000000..20a53729c324 --- /dev/null +++ b/pkgs/by-name/fe/felix86/package.nix @@ -0,0 +1,66 @@ +{ + lib, + stdenv, + fetchFromGitHub, + + cmake, + pkg-config, + + libGL, + libx11, + vulkan-headers, + vulkan-loader, + + callPackage, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "felix86"; + version = "26.04"; + + src = fetchFromGitHub { + owner = "OFFTKP"; + repo = "felix86"; + tag = finalAttrs.version; + hash = "sha256-onhPibvO74yo95zop7EhG+EILn4M70X9ivhS9I+fIBY="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + pkg-config + vulkan-headers + ]; + + buildInputs = [ + libGL + libx11 + vulkan-loader + ]; + + installPhase = '' + runHook preInstall + + install -Dm755 felix86 $out/bin/felix86 + + runHook postInstall + ''; + + cmakeFlags = [ + (lib.cmakeBool "ZYDIS_BUILD_DOXYGEN" false) + (lib.cmakeBool "BUILD_TESTS" true) + ]; + + passthru.tests = callPackage ./test.nix { }; + + meta = { + description = "x86 and x86-64 userspace emulator for RISC-V Linux"; + homepage = "https://github.com/OFFTKP/felix86"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ eljamm ]; + teams = with lib.teams; [ ngi ]; + mainProgram = "felix86"; + platforms = [ "riscv64-linux" ]; + }; +}) diff --git a/pkgs/by-name/fe/felix86/test.nix b/pkgs/by-name/fe/felix86/test.nix new file mode 100644 index 000000000000..3dbd202d8eaa --- /dev/null +++ b/pkgs/by-name/fe/felix86/test.nix @@ -0,0 +1,35 @@ +{ + pkgs, + ... +}: + +pkgs.testers.nixosTest { + name = "felix86"; + + nodes.machine = + { + config, + pkgs, + ... + }: + { + boot.binfmt.emulatedSystems = [ "riscv64-linux" ]; + + environment.systemPackages = [ + pkgs.pkgsCross.riscv64.felix86 + ]; + }; + + testScript = + # python + '' + machine.wait_for_unit("multi-user.target") + machine.succeed("felix86 --help") + ''; + + interactive.nodes.machine = { + virtualisation.graphics = false; + environment.systemPackages = [ pkgs.binutils ]; + }; + interactive.sshBackdoor.enable = true; +} diff --git a/pkgs/by-name/fm/fmd-server/package.nix b/pkgs/by-name/fm/fmd-server/package.nix index 45ad8a2f774e..efd319a5dae0 100644 --- a/pkgs/by-name/fm/fmd-server/package.nix +++ b/pkgs/by-name/fm/fmd-server/package.nix @@ -17,12 +17,12 @@ buildGoModule ( in { pname = "fmd-server"; - version = "0.14.1"; + version = "0.14.2"; src = fetchFromGitLab { owner = "fmd-foss"; repo = "fmd-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-UmiYtriLC9qztv7nW+1tFpYv9I0NAOsApAJWP72OINg="; + hash = "sha256-zAGwKOfPu7AEYhaDxx1P3EoA1K9p/f3Vwh7GrynqKho="; }; pnpmDeps = fetchPnpmDeps { diff --git a/pkgs/by-name/ip/ipsw/package.nix b/pkgs/by-name/ip/ipsw/package.nix new file mode 100644 index 000000000000..27ac7c6ad37b --- /dev/null +++ b/pkgs/by-name/ip/ipsw/package.nix @@ -0,0 +1,40 @@ +{ + lib, + stdenv, + fetchFromGitHub, + buildGo126Module, +}: + +buildGo126Module (finalAttrs: { + version = "3.1.665"; + pname = "ipsw"; + + src = fetchFromGitHub { + owner = "blacktop"; + repo = "ipsw"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Oxf+hpNo/Li/S0kVjekp2RArGrYQP7voNBSTz3/Gr+Q="; + }; + + vendorHash = "sha256-rzOw51n8G9H5Sxr2rCevrmG6z2SqKZOjluYwJzYiY70="; + + ldflags = [ + "-s" + "-w" + "-X github.com/blacktop/ipsw/cmd/ipsw/cmd.AppVersion==${finalAttrs.version}" + "-X github.com/blacktop/ipsw/cmd/ipsw/cmd.AppBuildCommit==${finalAttrs.src.tag}" + ]; + + subPackages = [ + "cmd/ipsw" + ]; + + meta = { + description = "iOS/macOS Research Swiss Army Knife"; + homepage = "https://blacktop.github.io/ipsw"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.viraptor ]; + platforms = lib.platforms.unix; + mainProgram = "ipsw"; + }; +}) diff --git a/pkgs/by-name/je/jellyfin-web/package.nix b/pkgs/by-name/je/jellyfin-web/package.nix index b6f97daf670c..0beb6b2c0a1a 100644 --- a/pkgs/by-name/je/jellyfin-web/package.nix +++ b/pkgs/by-name/je/jellyfin-web/package.nix @@ -13,7 +13,7 @@ }: buildNpmPackage (finalAttrs: { pname = "jellyfin-web"; - version = "10.11.7"; + version = "10.11.8"; src = assert finalAttrs.version == jellyfin.version; @@ -21,7 +21,7 @@ buildNpmPackage (finalAttrs: { owner = "jellyfin"; repo = "jellyfin-web"; tag = "v${finalAttrs.version}"; - hash = "sha256-DA3UDAcaHyxJmLfw8mRgRNxwOiGu6QIm9QHDrMAaG1w="; + hash = "sha256-Nrh4BNlhJyzj9cXQ6Yr7349r5H+4r9W3aldcg9+J6dU="; }; nodejs = nodejs_20; # does not build with 22 @@ -31,7 +31,7 @@ buildNpmPackage (finalAttrs: { --replace-fail "git describe --always --dirty" "echo ${finalAttrs.src.rev}" \ ''; - npmDepsHash = "sha256-U90aZ3Kym0yxcsNUSAdm3P3XU6Nb2GjEru64wODrm8M="; + npmDepsHash = "sha256-oxytp6n/4X1bhpfFqpqMAji86sbjV669F324zY3hoK4="; preBuild = '' # using sass-embedded fails at executing node_modules/sass-embedded-linux-x64/dart-sass/src/dart diff --git a/pkgs/by-name/je/jellyfin/package.nix b/pkgs/by-name/je/jellyfin/package.nix index cb46e96d91ff..975ae1745201 100644 --- a/pkgs/by-name/je/jellyfin/package.nix +++ b/pkgs/by-name/je/jellyfin/package.nix @@ -14,13 +14,13 @@ buildDotnetModule (finalAttrs: { pname = "jellyfin"; - version = "10.11.7"; # ensure that jellyfin-web has matching version + version = "10.11.8"; # ensure that jellyfin-web has matching version src = fetchFromGitHub { owner = "jellyfin"; repo = "jellyfin"; tag = "v${finalAttrs.version}"; - hash = "sha256-u2J55xGjjHwT+nrGvmO01JUS9edaxzYcTdoau3xqnDM="; + hash = "sha256-wBf561mZvC65Hu4MHHSu8YeILQDp/WN9vGA+JxGXwE8="; }; propagatedBuildInputs = [ sqlite ]; diff --git a/pkgs/by-name/ks/kstars/package.nix b/pkgs/by-name/ks/kstars/package.nix index 299572ec0504..b171b963d46f 100644 --- a/pkgs/by-name/ks/kstars/package.nix +++ b/pkgs/by-name/ks/kstars/package.nix @@ -23,11 +23,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "kstars"; - version = "3.8.1"; + version = "3.8.2"; src = fetchurl { url = "mirror://kde/stable/kstars/${finalAttrs.version}/kstars-${finalAttrs.version}.tar.xz"; - hash = "sha256-1f40IdBzjKV2dt1TZtIwLE+ivuPkb0GMWM02Az0Sauo="; + hash = "sha256-rKP2YsBjccPu/NVTo6aHyUulinrkYNDGOQf2y59pztk="; }; nativeBuildInputs = with kdePackages; [ diff --git a/pkgs/by-name/lu/lua-language-server/package.nix b/pkgs/by-name/lu/lua-language-server/package.nix index 108e7e649c53..0ab2225a577e 100644 --- a/pkgs/by-name/lu/lua-language-server/package.nix +++ b/pkgs/by-name/lu/lua-language-server/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lua-language-server"; - version = "3.17.1"; + version = "3.18.0"; src = fetchFromGitHub { owner = "luals"; repo = "lua-language-server"; tag = finalAttrs.version; - hash = "sha256-NfxBiXiGF4+meXTwp6We9+bmHW7Z9ZcxvRXAGwWAULo="; + hash = "sha256-5N27/bGMEQDXUD9amXgGVO8dtiV/7c/8sfSPEhit8gc="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/me/memorado/package.nix b/pkgs/by-name/me/memorado/package.nix index a1fd942c7c7a..79f10c8ca66b 100644 --- a/pkgs/by-name/me/memorado/package.nix +++ b/pkgs/by-name/me/memorado/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "memorado"; - version = "0.6"; + version = "0.7"; src = fetchFromGitHub { owner = "wbernard"; repo = "Memorado"; tag = finalAttrs.version; - hash = "sha256-pHbZ8zBfgAHLmCaMRS4MS/awFat41OG++hSSHz3k2KM="; + hash = "sha256-/AGrtVULG8rnfdd3dYqftv2YU+SjhdCQMQSlc8oY8zI="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/me/metacubexd/package.nix b/pkgs/by-name/me/metacubexd/package.nix index bce953d8a947..e83ac6189ffd 100644 --- a/pkgs/by-name/me/metacubexd/package.nix +++ b/pkgs/by-name/me/metacubexd/package.nix @@ -10,13 +10,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "metacubexd"; - version = "1.241.3"; + version = "1.244.2"; src = fetchFromGitHub { owner = "MetaCubeX"; repo = "metacubexd"; rev = "v${finalAttrs.version}"; - hash = "sha256-oR8rhD/wPgm14rG5ic8Dx4WNCnpmxapzUWomqAC3708="; + hash = "sha256-IDbAxFplMh1mDVobiHgIghjjgy4WyOLxRbJdMR6gcTQ="; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 3; - hash = "sha256-i6MSmv6dS/bkpKvId6oroKPAtFYk5OUIvUWyfFa/NJU="; + hash = "sha256-BXyKwwhktRAQ/Eol48iKzD5h4iHYB/p2jJHCuXbZ8Js="; }; buildPhase = '' diff --git a/pkgs/by-name/mo/moe/package.nix b/pkgs/by-name/mo/moe/package.nix index 329bec821eb3..011e4f69afe7 100644 --- a/pkgs/by-name/mo/moe/package.nix +++ b/pkgs/by-name/mo/moe/package.nix @@ -5,22 +5,15 @@ lzip, ncurses, }: - stdenv.mkDerivation (finalAttrs: { pname = "moe"; - version = "1.15"; + version = "1.16"; src = fetchurl { url = "mirror://gnu/moe/moe-${finalAttrs.version}.tar.lz"; - hash = "sha256-QfjIsJnOMEeUXKTgl6YNkkPpxz+7JowZShLaiw2fCmY="; + hash = "sha256-TCXNeJGScq6+wKf4wSYBG7Wktdh0IoB6NCMhbwoXqGg="; }; - prePatch = '' - substituteInPlace window_vector.cc --replace \ - "insert( 0U, 1," \ - "insert( 0U, 1U," - ''; - nativeBuildInputs = [ lzip ]; @@ -44,9 +37,8 @@ stdenv.mkDerivation (finalAttrs: { delimiter matching, text conversion from/to UTF-8, romanization, etc. ''; license = lib.licenses.gpl2Plus; - maintainers = [ ]; + maintainers = with lib.maintainers; [ videl ]; platforms = lib.platforms.unix; mainProgram = "moe"; }; }) -# TODO: a configurable, global moerc file diff --git a/pkgs/by-name/mo/mopac/package.nix b/pkgs/by-name/mo/mopac/package.nix index f11e0117546b..6c3637a404f8 100644 --- a/pkgs/by-name/mo/mopac/package.nix +++ b/pkgs/by-name/mo/mopac/package.nix @@ -13,13 +13,13 @@ assert blas.isILP64 == lapack.isILP64; stdenv.mkDerivation (finalAttrs: { pname = "mopac"; - version = "23.2.3"; + version = "23.2.4"; src = fetchFromGitHub { owner = "openmopac"; repo = "mopac"; rev = "v${finalAttrs.version}"; - hash = "sha256-wQinzdy0zPe9ZMZuxwkDIb0vjIkW9fcSwrkAZzM4iv8="; + hash = "sha256-Pc9o2ZEHNhU0Dy36vR8egt6hSbTdVmRhSHXB+zNexi0="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/mo/motrix-next/package.nix b/pkgs/by-name/mo/motrix-next/package.nix new file mode 100644 index 000000000000..7810d5705865 --- /dev/null +++ b/pkgs/by-name/mo/motrix-next/package.nix @@ -0,0 +1,126 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + cargo-tauri, + pnpm_10, + fetchPnpmDeps, + pnpmConfigHook, + nodejs, + pkg-config, + jq, + moreutils, + glib-networking, + openssl, + webkitgtk_4_1, + libayatana-appindicator, + wrapGAppsHook4, + desktop-file-utils, + xdg-utils, + nix-update-script, +}: +let + pnpm = pnpm_10; +in +rustPlatform.buildRustPackage (finalAttrs: { + pname = "motrix-next"; + version = "3.6.1"; + + src = fetchFromGitHub { + owner = "AnInsomniacy"; + repo = "motrix-next"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DeqHF36iH2kPi4F7RU5Ipde0lnwGWJqHfu4kz3znexg="; + }; + + cargoHash = "sha256-v+0dWo3w42wglv23Ydj0+Cb5HXF2fZ4Z0DC8EIsN5ww="; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) + pname + version + src + ; + inherit pnpm; + hash = "sha256-WvcN4LLRKiOxYEjImZ7VerwHFj33ELJvDKyP3F2UYG8="; + fetcherVersion = 3; + }; + + nativeBuildInputs = [ + cargo-tauri.hook + + pnpmConfigHook + pnpm + nodejs + + pkg-config + jq + moreutils + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ wrapGAppsHook4 ]; + + # we don't want to wrap aria2c + dontWrapGApps = true; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + glib-networking + openssl + webkitgtk_4_1 + libayatana-appindicator + ]; + + cargoRoot = "src-tauri"; + buildAndTestSubdir = finalAttrs.cargoRoot; + + checkFlags = lib.optional stdenv.hostPlatform.isDarwin "--skip=commands::protocol::tests::macos_tests::get_default_handler_bundle_id_returns_some_for_https"; + + # Deactivate the upstream update mechanism + postPatch = '' + jq ' + .bundle.createUpdaterArtifacts = false | + .plugins.updater = {"active": false, "pubkey": "", "endpoints": []} + ' \ + src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json + ''; + + preFixup = lib.optionalString stdenv.hostPlatform.isLinux '' + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + libayatana-appindicator + ] + } + --suffix PATH : ${ + lib.makeBinPath [ + desktop-file-utils + xdg-utils + ] + } + # Tricky way to make the protocol handler desktop file point to the wrapper + --set-default APPIMAGE $out/bin/motrix-next + ) + wrapGApp $out/bin/motrix-next + ''; + + passthru.updateScript = nix-update-script { extraArgs = [ "--use-github-releases" ]; }; + + meta = { + description = "Full-featured download manager, rebuilt from scratch with Tauri 2, Vue 3, and Rust"; + homepage = "https://github.com/AnInsomniacy/motrix-next"; + changelog = "https://github.com/AnInsomniacy/motrix-next/releases/tag/v${finalAttrs.version}"; + license = with lib.licenses; [ + mit + gpl2Plus + ]; + sourceProvenance = with lib.sourceTypes; [ + fromSource + # ships an upstream-provided aria2c binary (statically linked, max connections increased) + # source for this binary: https://github.com/AnInsomniacy/aria2-builder + binaryNativeCode + ]; + maintainers = with lib.maintainers; [ ccicnce113424 ]; + mainProgram = "motrix-next"; + platforms = with lib.platforms; linux ++ darwin; + }; +}) diff --git a/pkgs/by-name/ne/netgen-vlsi/package.nix b/pkgs/by-name/ne/netgen-vlsi/package.nix index 154f4435b534..11c224e7bf3a 100644 --- a/pkgs/by-name/ne/netgen-vlsi/package.nix +++ b/pkgs/by-name/ne/netgen-vlsi/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "netgen"; - version = "1.5.316"; + version = "1.5.318"; src = fetchFromGitHub { owner = "RTimothyEdwards"; repo = "netgen"; tag = finalAttrs.version; - hash = "sha256-Cw/JZXzkvstfCD3oyWhZ3sWZcXtpGBkZhZIHjq2vQ6Q="; + hash = "sha256-JefKDDzavI/fFJ0nsL6n3z4NHTAVWpOEyMxffYVHLac="; }; strictDeps = true; diff --git a/pkgs/by-name/pi/pinta/package.nix b/pkgs/by-name/pi/pinta/package.nix index 520044178312..62610f67a3e3 100644 --- a/pkgs/by-name/pi/pinta/package.nix +++ b/pkgs/by-name/pi/pinta/package.nix @@ -1,20 +1,35 @@ { lib, - buildDotnetModule, + stdenv, dotnetCorePackages, + buildDotnetModule, fetchFromGitHub, glibcLocales, gtk4, glib, - intltool, libadwaita, + intltool, wrapGAppsHook4, + nix-update-script, + + # Darwin transitive deps + graphene, + gettext, + pango, + gdk-pixbuf, + cairo, + harfbuzz, + fribidi, + fontconfig, + freetype, + libthai, + pcre2, + libepoxy, }: buildDotnetModule rec { pname = "Pinta"; version = "3.1.1"; - src = fetchFromGitHub { owner = "PintaProject"; repo = "Pinta"; @@ -31,6 +46,22 @@ buildDotnetModule rec { gtk4 glib libadwaita + ] + ++ lib.optionals stdenv.isDarwin [ + # Transitive dylib deps that Pinta's NativeImportResolver dlopen's by bare name. + # These are not pulled in by wrapGAppsHook4's LD_LIBRARY_PATH on Darwin, so symlink is needed. + graphene + gettext + pango + gdk-pixbuf + cairo + harfbuzz + fribidi + fontconfig + freetype + libthai + pcre2 + libepoxy ]; buildInputs = runtimeDeps; @@ -38,63 +69,74 @@ buildDotnetModule rec { dotnet-sdk = dotnetCorePackages.sdk_8_0; dotnet-runtime = dotnetCorePackages.runtime_8_0; - # How-to update deps: - # $ nix-build -A pinta.fetch-deps - # $ ./result - # TODO: create update script nugetDeps = ./deps.json; projectFile = "Pinta"; - # https://github.com/NixOS/nixpkgs/issues/38991 - # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) - env.LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; + env = lib.optionalAttrs (!stdenv.isDarwin) { + LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; + }; + + dotnetFlags = [ "-p:BuildTranslations=true" ]; - # Do the autoreconf/Makefile job manually - # TODO: use upstream build system postBuild = '' - # Substitute translation placeholders intltool-merge -x po/ xdg/com.github.PintaProject.Pinta.metainfo.xml.in xdg/com.github.PintaProject.Pinta.metainfo.xml intltool-merge -d po/ xdg/com.github.PintaProject.Pinta.desktop.in xdg/com.github.PintaProject.Pinta.desktop - - # Build translations - dotnet build Pinta \ - --no-restore \ - -p:ContinuousIntegrationBuild=true \ - -p:Deterministic=true \ - -target:CompileTranslations,PublishTranslations \ - -p:BuildTranslations=true \ - -p:PublishDir="$NIX_BUILD_TOP/source/publish" ''; postFixup = '' - # Rename the binary - mv "$out/bin/Pinta" "$out/bin/pinta" + # Two-step rename needed on macOS: 'Pinta' is the same as 'pinta' on case-insensitive filesystems. + mv "$out/bin/Pinta" "$out/bin/pinta_tmp" + mv "$out/bin/pinta_tmp" "$out/bin/pinta" - # Copy runtime icons - for i in "Pinta.Resources/icons/hicolor/"*; do - res="$(basename $i)" - mkdir -p "$out/share/icons/hicolor/$res" - cp -rv "Pinta.Resources/icons/hicolor/$res/"* "$out/share/icons/hicolor/$res/" - done - - # Install + # Use icons from the dotnet publish output (already at $out/lib/Pinta/icons/). + mkdir -p "$out/share/icons" + cp -r "$out/lib/Pinta/icons/." "$out/share/icons/" + '' + + lib.optionalString (!stdenv.isDarwin) '' dotnet build installer/linux/install.proj \ -target:Install \ -p:ContinuousIntegrationBuild=true \ -p:Deterministic=true \ -p:SourceDir="$NIX_BUILD_TOP/source" \ - -p:PublishDir="$NIX_BUILD_TOP/source/publish" \ + -p:PublishDir="$out/lib/Pinta" \ -p:InstallPrefix="$out" + '' + + lib.optionalString stdenv.isDarwin '' + # Symlink all dylibs from runtimeDeps into the assembly dir. + # GirCore and Pinta's own NativeImportResolver both search here by bare name. + for dir in ${lib.concatMapStringsSep " " (d: "${lib.getLib d}/lib") runtimeDeps}; do + for dylib in "$dir"/*.dylib; do + [ -e "$dylib" ] || continue + ln -sf "$dylib" "$out/lib/Pinta/$(basename "$dylib")" + done + done + + APP="$out/Applications/Pinta.app/Contents" + mkdir -p "$APP/MacOS" "$APP/Resources" + + cp "$NIX_BUILD_TOP/source/installer/macos/Info.plist" "$APP/Info.plist" + cp "$NIX_BUILD_TOP/source/installer/macos/pinta.icns" "$APP/Resources/pinta.icns" + + ln -s "$out/bin/pinta" "$APP/MacOS/pinta" + ln -s "$out/share" "$APP/Resources/share" + ln -s "$out/lib" "$APP/Resources/lib" ''; + passthru = { + updateScript = nix-update-script { }; + }; + meta = { homepage = "https://www.pinta-project.com/"; description = "Drawing/editing program modeled after Paint.NET"; changelog = "https://github.com/PintaProject/Pinta/releases/tag/${version}"; license = lib.licenses.mit; - maintainers = with lib.maintainers; [ thiagokokada ]; - platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + thiagokokada + philocalyst + ]; + platforms = lib.platforms.unix; mainProgram = "pinta"; }; } diff --git a/pkgs/by-name/pm/pmix/package.nix b/pkgs/by-name/pm/pmix/package.nix index 8807343ee0e8..476ff708edc0 100644 --- a/pkgs/by-name/pm/pmix/package.nix +++ b/pkgs/by-name/pm/pmix/package.nix @@ -20,21 +20,23 @@ stdenv.mkDerivation (finalAttrs: { pname = "pmix"; - version = "5.0.10"; + version = "6.1.0"; src = fetchFromGitHub { repo = "openpmix"; owner = "openpmix"; tag = "v${finalAttrs.version}"; - hash = "sha256-i7DZCJeNwjcRYCp3t0GlKM1V1rU/ws22u5Ct/JZ5P1Q="; + hash = "sha256-wMVppqSXpQeBgkwna+jaU5kY03WHbGwMQQrouCyGROo="; fetchSubmodules = true; }; outputs = [ "out" ] ++ lib.optionals stdenv.hostPlatform.isLinux [ "dev" ]; postPatch = '' - patchShebangs ./autogen.pl - patchShebangs ./config + patchShebangs --build ./autogen.pl + patchShebangs --build ./config + patchShebangs --build ./contrib + patchShebangs --build ./src/util/convert-help.py ''; nativeBuildInputs = [ diff --git a/pkgs/by-name/pr/prrte/package.nix b/pkgs/by-name/pr/prrte/package.nix index e95860f0a244..48e132e0f8dd 100644 --- a/pkgs/by-name/pr/prrte/package.nix +++ b/pkgs/by-name/pr/prrte/package.nix @@ -6,6 +6,7 @@ autoconf, automake, libtool, + pkg-config, gitMinimal, perl, python3, @@ -18,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "prrte"; - version = "3.0.13"; + version = "4.1.0"; src = fetchFromGitHub { owner = "openpmix"; repo = "prrte"; tag = "v${finalAttrs.version}"; - hash = "sha256-T/iHmSO2isyIjsaiTrNYeTiBobM/9eg7gTP12m7ehno="; + hash = "sha256-FO2dFqvJ3Ahc7rE2gAiQhmM5GTc7LJ8nE4y5fe+FgDg="; fetchSubmodules = true; }; @@ -46,10 +47,12 @@ stdenv.mkDerivation (finalAttrs: { preConfigure = '' ./autogen.pl + patchShebangs --build ./src/util/prte-convert-help.py ''; postInstall = '' moveToOutput "bin/prte_info" "''${!outputDev}" + moveToOutput "bin/prte-info" "''${!outputDev}" # Fix a broken symlink, created due to FHS assumptions rm "$out/bin/pcc" ln -s ${lib.getDev pmix}/bin/pmixcc "''${!outputDev}"/bin/pcc @@ -66,6 +69,7 @@ stdenv.mkDerivation (finalAttrs: { libtool flex gitMinimal + pkg-config ]; buildInputs = [ diff --git a/pkgs/by-name/qs/qsynth/package.nix b/pkgs/by-name/qs/qsynth/package.nix index e5a8641791ce..9df03820e21d 100644 --- a/pkgs/by-name/qs/qsynth/package.nix +++ b/pkgs/by-name/qs/qsynth/package.nix @@ -12,11 +12,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "qsynth"; - version = "1.0.4"; + version = "1.0.5"; src = fetchurl { url = "mirror://sourceforge/qsynth/qsynth-${finalAttrs.version}.tar.gz"; - hash = "sha256-nP08/Vzlf0WVSaPhCRgGqy/rsFRKH0OJfinvnx7tbww="; + hash = "sha256-s1z3gjKZKmsPYFrB6TFHijMUeL9xovSudQ1xphJK3Ng="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ra/radcli/package.nix b/pkgs/by-name/ra/radcli/package.nix index 63cf2fc20432..f60a527e42bc 100644 --- a/pkgs/by-name/ra/radcli/package.nix +++ b/pkgs/by-name/ra/radcli/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "radcli"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "radcli"; repo = "radcli"; tag = finalAttrs.version; - hash = "sha256-YnZkFYTiU2VNKxuP+JTnH64XYTB/+imeMKN1mZN9VCQ="; + hash = "sha256-PpPKNH9gDE9FewDCeBCog3p5C6FBBYBPVnhahVHYKnA="; }; postUnpack = '' diff --git a/pkgs/by-name/ro/roon-server/package.nix b/pkgs/by-name/ro/roon-server/package.nix index dbc8b2dd81b9..9ae93a6ad5f4 100644 --- a/pkgs/by-name/ro/roon-server/package.nix +++ b/pkgs/by-name/ro/roon-server/package.nix @@ -16,7 +16,7 @@ stdenv, }: let - version = "2.62.1641"; + version = "2.64.1646"; urlVersion = builtins.replaceStrings [ "." ] [ "0" ] version; in stdenv.mkDerivation { @@ -25,7 +25,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://download.roonlabs.com/updates/production/RoonServer_linuxx64_${urlVersion}.tar.bz2"; - hash = "sha256-DX05i4bgTar2d2xHyEqFXNlQ86FladX/xoEC4YLIxnI="; + hash = "sha256-tvNjz31xIo7UAB0t0seOfjiS7Qx6DPVu8VTBLK5ZjEo="; }; dontConfigure = true; diff --git a/pkgs/by-name/sa/samplv1/package.nix b/pkgs/by-name/sa/samplv1/package.nix index 9991c26e50db..1ac6710bc8b0 100644 --- a/pkgs/by-name/sa/samplv1/package.nix +++ b/pkgs/by-name/sa/samplv1/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "samplv1"; - version = "1.3.2"; + version = "1.4.1"; src = fetchurl { url = "mirror://sourceforge/samplv1/samplv1-${finalAttrs.version}.tar.gz"; - hash = "sha256-YCxt9RAP02uAigddA6HjBt2ryM6MyOtI3L2eLg0AhFg="; + hash = "sha256-siuzbsAkQi909/jBNtz/Lb8gMtxyxh+tiRGuvZ9JUts="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sl/slurm/package.nix b/pkgs/by-name/sl/slurm/package.nix index ea06a5f93d88..0994c3675546 100644 --- a/pkgs/by-name/sl/slurm/package.nix +++ b/pkgs/by-name/sl/slurm/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, runCommand, config, pkg-config, @@ -62,18 +61,18 @@ stdenv.mkDerivation (finalAttrs: { prePatch = '' substituteInPlace src/common/env.c \ - --replace "/bin/echo" "${lib.getExe' coreutils "echo"}" + --replace-fail "/bin/echo" "${lib.getExe' coreutils "echo"}" # Autoconf does not support split packages for pmix (libs and headers). # Fix the path to the pmix libraries, so dlopen can find it. substituteInPlace src/plugins/mpi/pmix/mpi_pmix.c \ - --replace 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \ - 'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")' + --replace-fail 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \ + 'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")' '' + (lib.optionalString enableX11 '' substituteInPlace src/common/x11_util.c \ - --replace '"/usr/bin/xauth"' '"${lib.getExe xauth}"' + --replace-fail '"/usr/bin/xauth"' '"${lib.getExe xauth}"' ''); # nixos test fails to start slurmd with 'undefined symbol: slurm_job_preempt_mode' diff --git a/pkgs/by-name/ve/vectorcode/package.nix b/pkgs/by-name/ve/vectorcode/package.nix index 130c7cead400..29f6325183ff 100644 --- a/pkgs/by-name/ve/vectorcode/package.nix +++ b/pkgs/by-name/ve/vectorcode/package.nix @@ -206,6 +206,9 @@ python.pkgs.buildPythonApplication rec { "test_get_reranker" "test_query_tool_success" "test_supported_rerankers_initialization" + # tree-sitter-language-pack 1.x.x raises LanguageNotFoundError for unknown + # languages here, while this test still expects LookupError. + "test_treesitter_chunker_parser_from_config_no_parser_found_error" ]; passthru = { diff --git a/pkgs/development/python-modules/accelerate/default.nix b/pkgs/development/python-modules/accelerate/default.nix index d38a2fe1e37f..e90ed4ddfe38 100644 --- a/pkgs/development/python-modules/accelerate/default.nix +++ b/pkgs/development/python-modules/accelerate/default.nix @@ -25,6 +25,7 @@ evaluate, parameterized, pytestCheckHook, + torchvision, transformers, config, cudatoolkit, @@ -62,6 +63,7 @@ buildPythonPackage (finalAttrs: { evaluate parameterized pytestCheckHook + torchvision transformers writableTmpDirAsHomeHook ]; diff --git a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix index 39fd5f7adbd9..f4549c970f69 100644 --- a/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix +++ b/pkgs/development/python-modules/agentic-threat-hunting-framework/default.nix @@ -16,14 +16,14 @@ buildPythonPackage (finalAttrs: { pname = "agentic-threat-hunting-framework"; - version = "0.7.2"; + version = "0.11.1"; pyproject = true; src = fetchFromGitHub { owner = "Nebulock-Inc"; repo = "agentic-threat-hunting-framework"; tag = "v${finalAttrs.version}"; - hash = "sha256-HFPPEonSRWTU+Cm/B657En78avehebGbWrsAfr+WmI8="; + hash = "sha256-dqiWldjPv5iU6OGsoZ4fTdw6dXbu/duFHt19qcPfVjk="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/diceware/default.nix b/pkgs/development/python-modules/diceware/default.nix index 540440db246c..d478f820d5e7 100644 --- a/pkgs/development/python-modules/diceware/default.nix +++ b/pkgs/development/python-modules/diceware/default.nix @@ -4,6 +4,7 @@ fetchPypi, setuptools, pytestCheckHook, + fetchpatch2, }: buildPythonPackage rec { @@ -16,6 +17,20 @@ buildPythonPackage rec { hash = "sha256-VLaQgJ8MVqswhaGOFaDDgE1KDRJ/OK7wtc9fhZ0PZjk="; }; + patches = [ + (fetchpatch2 { + # Set prog in ArgumentParser explicitly to fix test failure with Python 3.14 + # https://github.com/ulif/diceware/issues/122 + url = "https://github.com/ulif/diceware/commit/77d98606748df7755f36ebbb3bd838b1cdd80c61.patch"; + includes = [ "diceware/__init__.py" ]; + hunks = [ + 2 + 3 + ]; + hash = "sha256-yXGotV/tq7/vCYhY+1OZgCW3r6/SXTTvsHIU/jywbHc="; + }) + ]; + build-system = [ setuptools ]; dependencies = [ setuptools ]; diff --git a/pkgs/development/python-modules/docutils-stubs/default.nix b/pkgs/development/python-modules/docutils-stubs/default.nix new file mode 100644 index 000000000000..e0ceb4611e09 --- /dev/null +++ b/pkgs/development/python-modules/docutils-stubs/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + docutils, +}: + +buildPythonPackage (finalAttrs: { + pname = "docutils-stubs"; + version = "0.0.22"; + pyproject = true; + + src = fetchFromGitHub { + owner = "tk0miya"; + repo = "docutils-stubs"; + tag = finalAttrs.version; + hash = "sha256-ng/f5e8ElFGNqtpdiQsv897TNkJ4gd++HAxON2l+80s="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + docutils + ]; + + # Module doesn't have tests + doCheck = false; + + meta = { + description = "PEP 561 based Type information for docutils"; + homepage = "https://github.com/tk0miya/docutils-stubs"; + license = lib.licenses.unlicense; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +}) diff --git a/pkgs/development/python-modules/energyflow/default.nix b/pkgs/development/python-modules/energyflow/default.nix index 41200e2890c5..79cca7ae1c49 100644 --- a/pkgs/development/python-modules/energyflow/default.nix +++ b/pkgs/development/python-modules/energyflow/default.nix @@ -24,7 +24,7 @@ tf-keras, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "energyflow"; version = "1.4.0"; pyproject = true; @@ -32,7 +32,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "pkomiske"; repo = "EnergyFlow"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-4RzhpeOOty8IaVGByHD+PyeaeWgR7ZF98mSCJYoM9wY="; }; @@ -65,7 +65,7 @@ buildPythonPackage rec { pytestCheckHook tf-keras ] - ++ lib.concatAttrValues optional-dependencies; + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; disabledTests = [ # Issues with array @@ -73,6 +73,11 @@ buildPythonPackage rec { "test_gdim" "test_n_jobs" "test_periodic_phi" + + # NameError: name '_distance_wrap' is not defined + "test_emd_byhand_1_1" + "test_emd_return_flow" + "test_emde" ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # RuntimeError: EMDStatus - Infeasible @@ -86,8 +91,8 @@ buildPythonPackage rec { meta = { description = "Python package for the EnergyFlow suite of tools"; homepage = "https://energyflow.network/"; - changelog = "https://github.com/thaler-lab/EnergyFlow/releases/tag/v${version}"; + changelog = "https://github.com/thaler-lab/EnergyFlow/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ veprbl ]; }; -} +}) diff --git a/pkgs/development/python-modules/hf-xet/default.nix b/pkgs/development/python-modules/hf-xet/default.nix index 394f4e1916c2..3f56fcdab488 100644 --- a/pkgs/development/python-modules/hf-xet/default.nix +++ b/pkgs/development/python-modules/hf-xet/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "hf-xet"; - version = "1.4.2"; + version = "1.4.3"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "xet-core"; tag = "v${finalAttrs.version}"; - hash = "sha256-UdHEpJztlVI8LPs8Ne9sKe1Nv3kVVk4YLxQ3W8sUPbQ="; + hash = "sha256-zAliMR2d2j6ynHQmAljQ8XgDyjuPxNawI1bZks5aRgs="; }; sourceRoot = "${finalAttrs.src.name}/hf_xet"; @@ -28,7 +28,7 @@ buildPythonPackage (finalAttrs: { src sourceRoot ; - hash = "sha256-GV+XY5uV57yQWVGdRLpGU3eD8Gz2gy6p7OHlF+mlJI4="; + hash = "sha256-TOgBT0l7TvJamVdIAdAUFRWs8AMRRY+Ydoh6e+3dEp0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix index f27ff8c7af56..f6721fd09a41 100644 --- a/pkgs/development/python-modules/huggingface-hub/default.nix +++ b/pkgs/development/python-modules/huggingface-hub/default.nix @@ -25,6 +25,9 @@ toml, fastai, fastcore, + # gradio + gradio, + requests, # mcp mcp, @@ -34,14 +37,14 @@ buildPythonPackage (finalAttrs: { pname = "huggingface-hub"; - version = "1.5.0"; + version = "1.9.0"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "huggingface_hub"; tag = "v${finalAttrs.version}"; - hash = "sha256-XuqZvTu3DuncGpRWXipxtDLY2alY7QVm89ZmpgTdfVo="; + hash = "sha256-7spvenDWuSDVTlcbOQd8oJ3bwzsyuQDIyMiVSyFIhuQ="; }; build-system = [ setuptools ]; @@ -72,6 +75,10 @@ buildPythonPackage (finalAttrs: { fastai fastcore ]; + gradio = [ + gradio + requests + ]; hf_xet = [ hf-xet ]; diff --git a/pkgs/development/python-modules/iamdata/default.nix b/pkgs/development/python-modules/iamdata/default.nix index 369bf8ca9f65..8d034594e0a9 100644 --- a/pkgs/development/python-modules/iamdata/default.nix +++ b/pkgs/development/python-modules/iamdata/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "iamdata"; - version = "0.1.202604041"; + version = "0.1.202604051"; pyproject = true; src = fetchFromGitHub { owner = "cloud-copilot"; repo = "iam-data-python"; tag = "v${finalAttrs.version}"; - hash = "sha256-nFV0iZr01YkjAFXjkYmgFHuUNhGsX2pHjSiRrlyt6uI="; + hash = "sha256-mMIHQGLMOpxq1ql3fEArQWJ9YDg64JCTaDfXiIluOcA="; }; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/pot/default.nix b/pkgs/development/python-modules/pot/default.nix index 36f22f78c3bd..f82c757f3198 100644 --- a/pkgs/development/python-modules/pot/default.nix +++ b/pkgs/development/python-modules/pot/default.nix @@ -1,25 +1,39 @@ { lib, - autograd, buildPythonPackage, fetchFromGitHub, - cvxopt, + + # build-system cython, + numpy, + setuptools, + + # dependencies + scipy, + + # optional-dependencies + # backend-jax jax, jaxlib, - matplotlib, - numpy, + # backend-tf + tensorflow, + # backend-torch + torch, + # cvxopt + cvxopt, + # dr + scikit-learn, pymanopt, + autograd, + # plot + matplotlib, + + # tests pytestCheckHook, pytest-cov-stub, - scikit-learn, - scipy, - setuptools, - tensorflow, - torch, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "pot"; version = "0.9.6.post1"; pyproject = true; @@ -27,14 +41,23 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "PythonOT"; repo = "POT"; - tag = version; + tag = finalAttrs.version; hash = "sha256-db4fKXqvg9DEmbI/RTQWcOdw+3ccPk74ME0VDsXZlsQ="; }; + postPatch = '' + substituteInPlace setup.cfg \ + --replace-fail " --durations=20" "" \ + --replace-fail " --junit-xml=junit-results.xml" "" + + # we don't need setup.py to find the macos sdk for us + sed -i '/sdk_path/d' setup.py + ''; + build-system = [ - setuptools cython numpy + setuptools ]; dependencies = [ @@ -62,19 +85,6 @@ buildPythonPackage rec { # torch-geometric ]; plot = [ matplotlib ]; - all = - with optional-dependencies; - ( - backend-numpy - ++ backend-jax - ++ backend-cupy - ++ backend-tf - ++ backend-torch - ++ optional-dependencies.cvxopt - ++ dr - ++ gnn - ++ plot - ); }; nativeCheckInputs = [ @@ -82,15 +92,6 @@ buildPythonPackage rec { pytest-cov-stub ]; - postPatch = '' - substituteInPlace setup.cfg \ - --replace " --durations=20" "" \ - --replace " --junit-xml=junit-results.xml" "" - - # we don't need setup.py to find the macos sdk for us - sed -i '/sdk_path/d' setup.py - ''; - # need to run the tests with the built package next to the test directory preCheck = '' pushd build/lib.* @@ -99,6 +100,7 @@ buildPythonPackage rec { postCheck = '' popd + rm -rf ot ''; disabledTests = [ @@ -125,8 +127,18 @@ buildPythonPackage rec { "test_wasserstein_1d_type_devices" "test_wasserstein" "test_weak_ot_bakends" + # TypeError: Only integers, slices... "test_emd1d_device_tf" + + # ValueError: setting an array element with a sequence + "test_fully_relaxed_path" + "test_pointwise_gromov" + "test_semi_relaxed_path" + + # ValueError: Unknown Distance Metric: sokalmichener + "test_dist" + "test_dist_vs_cdist" ]; pythonImportsCheck = [ @@ -137,7 +149,9 @@ buildPythonPackage rec { meta = { description = "Python Optimal Transport Library"; homepage = "https://pythonot.github.io/"; + downloadPage = "https://github.com/PythonOT/POT"; + changelog = "https://github.com/PythonOT/POT/blob/${finalAttrs.src.tag}/RELEASES.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ yl3dy ]; }; -} +}) diff --git a/pkgs/development/python-modules/pyanglianwater/default.nix b/pkgs/development/python-modules/pyanglianwater/default.nix index 283dbddc0acc..c09f43aed3ea 100644 --- a/pkgs/development/python-modules/pyanglianwater/default.nix +++ b/pkgs/development/python-modules/pyanglianwater/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pyanglianwater"; - version = "3.1.2"; + version = "3.2.0"; pyproject = true; src = fetchFromGitHub { owner = "pantherale0"; repo = "pyanglianwater"; tag = version; - hash = "sha256-Qe1LrM6pwuaWBQYRc7t1xJ38rIT1VlexkRcOGPX/BlA="; + hash = "sha256-q6a6YVXjRx7Q2SdWoLzrlOUQ96AjgSjvmfDKz5Fk23g="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/speechbrain/default.nix b/pkgs/development/python-modules/speechbrain/default.nix index cd49c5dee1d6..2bc905414aac 100644 --- a/pkgs/development/python-modules/speechbrain/default.nix +++ b/pkgs/development/python-modules/speechbrain/default.nix @@ -2,7 +2,6 @@ lib, buildPythonPackage, fetchFromGitHub, - fetchpatch, # build-system setuptools, @@ -13,35 +12,27 @@ joblib, numpy, packaging, - sentencepiece, + requests, scipy, + sentencepiece, + soundfile, torch, torchaudio, tqdm, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "speechbrain"; - version = "1.0.3"; + version = "1.1.0"; pyproject = true; src = fetchFromGitHub { owner = "speechbrain"; repo = "speechbrain"; - tag = "v${version}"; - hash = "sha256-H45kTOIO6frbrRu+TP+udn1z60ZEcrShNB9iTCLInQs="; + tag = "v${finalAttrs.version}"; + hash = "sha256-98g9HSCD6ahsmCSKSKIY1okYOuzUqVuJO9N9WUiZMPk="; }; - patches = [ - # https://github.com/speechbrain/speechbrain/pull/2988 - (fetchpatch { - name = "torchaudio-2.9-compat.patch"; - url = "https://github.com/speechbrain/speechbrain/commit/927530fa95e238fbc396000618e839a4a986dd7d.patch"; - excludes = [ "pyproject.toml" ]; - hash = "sha256-TJxBQLggX2ZHppUJwMcg9+A9r0r+D20XUfivBFW7y/U="; - }) - ]; - build-system = [ setuptools ]; dependencies = [ @@ -50,22 +41,24 @@ buildPythonPackage rec { joblib numpy packaging - sentencepiece + requests scipy + sentencepiece + soundfile torch torchaudio tqdm ]; - doCheck = false; # requires sox backend - pythonImportsCheck = [ "speechbrain" ]; + doCheck = false; # requires sox backend + meta = { description = "PyTorch-based Speech Toolkit"; homepage = "https://speechbrain.github.io"; - changelog = "https://github.com/speechbrain/speechbrain/releases/tag/v${version}"; + changelog = "https://github.com/speechbrain/speechbrain/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ GaetanLepage ]; }; -} +}) diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index 56529e3b6656..e134934a0e7c 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -9,14 +9,14 @@ buildPythonPackage (finalAttrs: { pname = "tencentcloud-sdk-python"; - version = "3.1.70"; + version = "3.1.71"; pyproject = true; src = fetchFromGitHub { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = finalAttrs.version; - hash = "sha256-4FJtabE6XZ+22AUT/l/t5cujaL8tfLiyCiVEAvnQjsU="; + hash = "sha256-zWzwpELLEtkGMtDWBR5v3Z5I47hzZGGGEgG4VC/dN5c="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix index 96b532d2e57d..53d915d13f6a 100644 --- a/pkgs/development/python-modules/transformers/default.nix +++ b/pkgs/development/python-modules/transformers/default.nix @@ -85,6 +85,7 @@ gitpython, urllib3, libcst, + tomli, # opentelemetry opentelemetry-api, opentelemetry-exporter-otlp, @@ -93,14 +94,14 @@ buildPythonPackage (finalAttrs: { pname = "transformers"; - version = "5.3.0"; + version = "5.5.0"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "transformers"; tag = "v${finalAttrs.version}"; - hash = "sha256-5FzsPIG4dFTR2WgcZbdmVwwwY9Dkqu5aprl5uIIalD0="; + hash = "sha256-2fOCORAsQDKxp6EPe1OHysPWb/q168z6sCYg89tRXdU="; }; build-system = [ setuptools ]; @@ -191,6 +192,10 @@ buildPythonPackage (finalAttrs: { urllib3 libcst rich + tomli + ]; + docs = [ + # hf-docs-builder ]; benchmark = [ # optimum-benchmark diff --git a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix index f35fbeb99301..090b6215651d 100644 --- a/pkgs/development/python-modules/tree-sitter-language-pack/default.nix +++ b/pkgs/development/python-modules/tree-sitter-language-pack/default.nix @@ -1,85 +1,159 @@ { lib, + buildPackages, buildPythonPackage, - fetchPypi, + fetchFromGitHub, + fetchurl, + python, pytestCheckHook, - nix-update-script, - - # build-system - cython, - setuptools, - typing-extensions, - - # dependencies + rustPlatform, + stdenv, tree-sitter, - tree-sitter-c-sharp, - tree-sitter-embedded-template, - tree-sitter-yaml, }: -buildPythonPackage rec { - pname = "tree-sitter-language-pack"; - version = "0.13.0"; - pyproject = true; +let + parserReleaseUrl = + version: "https://github.com/kreuzberg-dev/tree-sitter-language-pack/releases/download/v${version}"; - # Using the GitHub sources necessitates fetching the treesitter grammar parsers by using a vendored script. - # The pypi archive has the benefit of already vendoring those dependencies which makes packaging easier on our side - # See: https://github.com/Goldziher/tree-sitter-language-pack/blob/main/scripts/clone_vendors.py - src = fetchPypi { - pname = "tree_sitter_language_pack"; - inherit version; - hash = "sha256-AyA0xeJ7H24AcwuefC28ggO0cA0MaB/QGdbe/PYRg+w="; + parserBundleSpecs = { + aarch64-darwin = { + suffix = "macos-arm64"; + hash = "sha256-pYrgwhb3BkOEqot5JBi26aXBciGt7/zP/1+HcQT2vsw="; + }; + aarch64-linux = { + suffix = "linux-aarch64"; + hash = "sha256-t1rWm19iExYAZXluMQqlt9bOkEC2UumcxDov8YmYEEQ="; + }; + x86_64-linux = { + suffix = "linux-x86_64"; + hash = "sha256-o4IpLZDitTsHfF2KMnyB3Wry7Hig7Byxd0JLcZPybJ0="; + }; + }; +in +buildPythonPackage (finalAttrs: { + pname = "tree-sitter-language-pack"; + pyproject = true; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "kreuzberg-dev"; + repo = "tree-sitter-language-pack"; + tag = "v${finalAttrs.version}"; + hash = "sha256-kN2htitEOo+JF6DCrC4RHmHkZXnUA0fUo2jSbMELQHI="; }; - # Upstream bumped dependencies aggressively, but we can still use older - # versions since the newer ones aren’t packaged in nixpkgs. We can't use - # pythonRelaxDepsHook here because it runs in postBuild, while the dependency - # check occurs during the build phase. - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "typing-extensions>=4.15.0" "typing-extensions>=4.14.1" - ''; + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (finalAttrs) + pname + version + src + ; + hash = "sha256-ii3rvAfs4xMSyEEDjUrjL2SAONd0ARCVhwQNCJLwuCk="; + }; - nativeCheckInputs = [ - pytestCheckHook + buildAndTestSubdir = "crates/ts-pack-python"; + + # Pin the release metadata and per-platform parser archive so runtime use stays offline. + parserManifest = fetchurl { + url = "${parserReleaseUrl finalAttrs.version}/parsers.json"; + hash = "sha256-8utASonvrLzOjxZcmRuzuFSGtYe5sEoMU+xz++bfmkk="; + }; + + parserBundle = + let + spec = + parserBundleSpecs.${stdenv.hostPlatform.system} + or (throw "tree-sitter-language-pack parser bundle is unavailable for ${stdenv.hostPlatform.system}"); + in + fetchurl { + url = "${parserReleaseUrl finalAttrs.version}/parsers-${spec.suffix}.tar.zst"; + inherit (spec) hash; + }; + + nativeBuildInputs = [ + buildPackages.zstd + rustPlatform.cargoSetupHook + rustPlatform.maturinBuildHook ]; - build-system = [ - cython - setuptools - typing-extensions + nativeCheckInputs = [ pytestCheckHook ]; + + dependencies = [ tree-sitter ]; + + disabledTests = [ + # tree-sitter-language-pack 1.4.1 upstream smoke tests expect these aliases + # to resolve directly in the offline cache, but the packaged bundle still + # exposes the underlying parser library names. + "test_get_language_returns_non_none" + "test_get_parser_for_previously_broken_languages" + "test_has_language_for_previously_broken" ]; - dependencies = [ - tree-sitter - tree-sitter-c-sharp - tree-sitter-embedded-template - tree-sitter-yaml - ]; - - pythonRelaxDeps = [ - "tree-sitter" - "tree-sitter-embedded-template" - "tree-sitter-yaml" - ]; - - pythonImportsCheck = [ - "tree_sitter_language_pack" - "tree_sitter_language_pack.bindings" - ]; - - # make sure import the built version, not the source one preCheck = '' - rm -r tree_sitter_language_pack + # Mirror the upstream cache layout: libs live in cache_dir, while the manifest + # is expected at cache_dir/../manifest.json. + cacheRoot=$PWD/.tree-sitter-language-pack-cache + cacheDir="$cacheRoot/libs" + mkdir -p "$cacheDir" + cp ${finalAttrs.parserManifest} "$cacheRoot/manifest.json" + ${lib.getExe buildPackages.zstd} -d -c ${finalAttrs.parserBundle} | tar -xvf - -C "$cacheDir" >/dev/null + + # Upstream smoke tests call download APIs even when the parsers are already + # available locally, so point them at the pre-fetched cache and short-circuit + # redundant network downloads during pytest. + cat > conftest.py </dev/null + + # Make the installed package default to the pre-fetched cache in $out. + substituteInPlace $out/${python.sitePackages}/tree_sitter_language_pack/__init__.py \ + --replace-fail 'SupportedLanguage: TypeAlias = str' $'configure(cache_dir="'$cacheDir$'")\n\nSupportedLanguage: TypeAlias = str' + ''; + + pythonImportsCheck = [ "tree_sitter_language_pack" ]; + + passthru.updateScript = ./update.sh; meta = { - description = "Comprehensive collection of tree-sitter languages"; - homepage = "https://github.com/Goldziher/tree-sitter-language-pack"; - changelog = "https://github.com/Goldziher/tree-sitter-language-pack/releases/tag/v${version}"; + description = "Comprehensive collection of tree-sitter language parsers with polyglot bindings"; + homepage = "https://github.com/kreuzberg-dev/tree-sitter-language-pack"; + changelog = "https://github.com/kreuzberg-dev/tree-sitter-language-pack/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ yzx9 ]; + platforms = builtins.attrNames parserBundleSpecs; }; -} +}) diff --git a/pkgs/development/python-modules/tree-sitter-language-pack/update.sh b/pkgs/development/python-modules/tree-sitter-language-pack/update.sh new file mode 100755 index 000000000000..9949108e7c92 --- /dev/null +++ b/pkgs/development/python-modules/tree-sitter-language-pack/update.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env nix-shell +#!nix-shell -I nixpkgs=./. -i bash -p bash curl jq gnused coreutils nix nix-update + +set -euo pipefail + +PACKAGE_DIR="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 && pwd -P)" +NIXPKGS_ROOT="$(cd -- "$PACKAGE_DIR/../../../.." >/dev/null 2>&1 && pwd -P)" +PACKAGE_FILE="$PACKAGE_DIR/default.nix" +ATTR_PATH="${UPDATE_NIX_ATTR_PATH:-python3Packages.tree-sitter-language-pack}" + +latest_version() { + curl -sL ${GITHUB_TOKEN:+ -H "Authorization: Bearer $GITHUB_TOKEN"} \ + "https://api.github.com/repos/kreuzberg-dev/tree-sitter-language-pack/releases/latest" \ + | jq -r '.tag_name | sub("^v"; "")' +} + +replace_value() { + local pattern="$1" + local replacement="$2" + sed -i "s|$pattern|$replacement|g" "$PACKAGE_FILE" +} + +replace_perl() { + local pattern="$1" + local replacement="$2" + perl -0pi -e "s|$pattern|$replacement|s" "$PACKAGE_FILE" +} + +prefetch_sri() { + local url="$1" + local hash + hash="$(nix-prefetch-url --type sha256 "$url")" + nix hash convert --hash-algo sha256 --to sri "$hash" +} + +version="${1:-$(latest_version)}" + +if [[ "$version" == "${UPDATE_NIX_OLD_VERSION:-}" ]]; then + echo "$ATTR_PATH is already at $version" + exit 0 +fi + +nix-update "$ATTR_PATH" --version "$version" + +release_url="https://github.com/kreuzberg-dev/tree-sitter-language-pack/releases/download/v$version" + +manifest_hash="$(prefetch_sri "$release_url/parsers.json")" +aarch64_darwin_hash="$(prefetch_sri "$release_url/parsers-macos-arm64.tar.zst")" +aarch64_linux_hash="$(prefetch_sri "$release_url/parsers-linux-aarch64.tar.zst")" +x86_64_linux_hash="$(prefetch_sri "$release_url/parsers-linux-x86_64.tar.zst")" + +replace_perl '(parserManifest = fetchurl \{\n url = "\$\{parserReleaseUrl finalAttrs\.version\}/parsers\.json";\n hash = ")[^"]*(";)' "\${1}$manifest_hash\${2}" +replace_perl '(aarch64-darwin = \{\n suffix = "macos-arm64";\n hash = ")[^"]*(";)' "\${1}$aarch64_darwin_hash\${2}" +replace_perl '(aarch64-linux = \{\n suffix = "linux-aarch64";\n hash = ")[^"]*(";)' "\${1}$aarch64_linux_hash\${2}" +replace_perl '(x86_64-linux = \{\n suffix = "linux-x86_64";\n hash = ")[^"]*(";)' "\${1}$x86_64_linux_hash\${2}" + +old_cargo_hash="$( + perl -0ne 'print "$1\n" if /cargoDeps = rustPlatform\.fetchCargoVendor \{\n(?:.*\n)*? hash = "([^"]+)";/s' "$PACKAGE_FILE" +)" +fake_hash='sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' +replace_value "$old_cargo_hash" "$fake_hash" + +set +e +build_output="$( + cd "$NIXPKGS_ROOT" && + nix build ".#$ATTR_PATH" 2>&1 >/dev/null +)" +build_status=$? +set -e + +if [[ $build_status -eq 0 ]]; then + echo "expected cargo hash mismatch build to fail, but it succeeded" >&2 + exit 1 +fi + +new_cargo_hash="$(printf '%s\n' "$build_output" | sed -n 's/.*got:[[:space:]]*\(sha256-[A-Za-z0-9+/=]*\).*/\1/p' | head -n1)" + +if [[ -z "$new_cargo_hash" ]]; then + printf '%s\n' "$build_output" >&2 + echo "failed to extract cargo hash from build output" >&2 + exit 1 +fi + +replace_value "$fake_hash" "$new_cargo_hash" + +echo "updated $ATTR_PATH to $version" diff --git a/pkgs/development/python-modules/whisperx/default.nix b/pkgs/development/python-modules/whisperx/default.nix index ca4a6e297eb9..c3873ff9e938 100644 --- a/pkgs/development/python-modules/whisperx/default.nix +++ b/pkgs/development/python-modules/whisperx/default.nix @@ -18,6 +18,8 @@ pyannote-audio, torch, torchaudio, + torchcodec, + torchvision, transformers, triton, @@ -25,6 +27,9 @@ ffmpeg, ctranslate2-cpp, # alias for `pkgs.ctranslate2`, required due to colliding with the `ctranslate2` Python module. + # tests + versionCheckHook, + # enable GPU support cudaSupport ? torch.cudaSupport, }: @@ -39,14 +44,14 @@ let in buildPythonPackage (finalAttrs: { pname = "whisperx"; - version = "3.8.1"; + version = "3.8.5"; pyproject = true; src = fetchFromGitHub { owner = "m-bain"; repo = "whisperX"; tag = "v${finalAttrs.version}"; - hash = "sha256-2HjQtb8k3px0kqXowKtCXkiG2GuKLCuCtDOPYYa/tbc="; + hash = "sha256-dFjB0X7JUqv7r64QLbsQwJNRWti+xGUOWKkhOxJE1tg="; }; # As `makeWrapperArgs` does not apply to the module, and whisperx depends on `ffmpeg`, @@ -61,6 +66,7 @@ buildPythonPackage (finalAttrs: { build-system = [ setuptools ]; pythonRelaxDeps = [ + "huggingface-hub" "torch" "torchaudio" ]; @@ -75,14 +81,18 @@ buildPythonPackage (finalAttrs: { pyannote-audio torch torchaudio + torchcodec + torchvision transformers ] ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) [ triton ]; - # No tests in repository - doCheck = false; + # No python tests in repository + nativeCheckInputs = [ + versionCheckHook + ]; pythonImportsCheck = [ "whisperx" ]; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix index cad86355b64f..abf137879d50 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/material-you-utilities/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "material-you-utilities"; - version = "2.1.4"; + version = "2.1.5"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "material-you-utilities"; tag = version; - hash = "sha256-/GsZjH6BQUlPjVzvdbAF1OMygA0m67FkQoKcmVOngow="; + hash = "sha256-Z4O7HsV20/5aUvblzR7SLLONr3PrV1Jk91D2badaDl8="; }; - npmDepsHash = "sha256-+stnR6EFH/5JnbkxZ1y9Nv4MeZKmqHzvHrR9pA9lAys="; + npmDepsHash = "sha256-omcnqwwJPYWF2A0hn4ob+mro6cX/ohIh15MrWoLcSzU="; installPhase = '' runHook preInstall diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9d95e78532db..2f8c149f03c9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4591,6 +4591,8 @@ self: super: with self; { docutils = callPackage ../development/python-modules/docutils { }; + docutils-stubs = callPackage ../development/python-modules/docutils-stubs { }; + docx2python = callPackage ../development/python-modules/docx2python { }; docx2txt = callPackage ../development/python-modules/docx2txt { }; diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix index 5468d23c377d..718ed9f40f9d 100644 --- a/pkgs/top-level/splice.nix +++ b/pkgs/top-level/splice.nix @@ -18,6 +18,7 @@ lib: pkgs: actuallySplice: let inherit (lib.customisation) mapCrossIndex renameCrossIndexFrom; + inherit (lib) mapAttrs; spliceReal = inputs: @@ -31,8 +32,6 @@ let # The same pkgs sets one probably intends // inputs.buildHost // inputs.hostTarget; - # perf: mapAttrs defers merge calls until a key is selected, avoiding - # ~60k eager closures that listToAttrs+map would create. merge = name: defaultValue: let @@ -66,7 +65,7 @@ let # `__functor__` for functions instead. defaultValue; in - builtins.mapAttrs merge mash; + mapAttrs merge mash; splicePackages = {