{pkgs',
system,
self,
 ...}: let
  bashFktScript = import ./bash-fkt.nix {
    inherit pkgs';
  };
  releaseInfo = import ../config/release.nix;
  monster = pkgs'.callPackage ../packages/monster.nix {inherit pkgs' system self;};
in
  pkgs'.writeShellScriptBin "deploy" ''
    source ${pkgs'.common}/bin/common
    ${bashFktScript}
    
    echo_section "build and publish"
    archive=$(ls ${monster} | grep tgz)
 
    ## npm instead of pnpm because of https://github.com/pnpm/pnpm/issues/7950
    if ! publishingResult=$(${pkgs'.nodejs_20}/bin/npm publish "${monster}/$archive" --json --no-git-checks --access public)
    then
      echo_fail "Failed to publish the project."
      exit 1
    fi

    echo_hint "ID: $(echo $publishingResult | jq .id)"
    echo_hint "Name: $(echo $publishingResult | jq .name)"
    echo_hint "Version $(echo $publishingResult | jq .version)"
    echo_hint "SHA Sum: $(echo $publishingResult | jq .shasum)"
    echo_hint "Files: $(echo $publishingResult | jq .entryCount)"

    echo_ok "Build and publish successful."
  ''