Unverified Commit 5cd0e0f9 authored by jopejoe1's avatar jopejoe1 Committed by GitHub
Browse files

uppy-companion: migrate from nodePackages (#457627)

parents 9deb84da 685e3a61
Loading
Loading
Loading
Loading
+355 −0

File added.

Preview size limit exceeded, changes collapsed.

+76 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  nodejs,
  fetchFromGitHub,
  yarn-berry_4,
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "uppy-companion";
  version = "6.1.1";

  src = fetchFromGitHub {
    owner = "transloadit";
    repo = "uppy";
    tag = "@uppy/companion@${finalAttrs.version}";
    hash = "sha256-Z7u0Wrkg1/jZtOF86hUbwRVWWGHuv4ktcXx+gEcLYlQ=";
  };

  nativeBuildInputs = [
    nodejs
    yarn-berry_4.yarnBerryConfigHook
    yarn-berry_4
  ];

  buildInputs = [
    nodejs
  ];

  missingHashes = ./missing-hashes.json;

  offlineCache = yarn-berry_4.fetchYarnBerryDeps {
    inherit (finalAttrs) src missingHashes;
    hash = "sha256-5XLOyz1QowX08C0IBcg9Um1eY+1qwtPyqIFb83FPFz8=";
  };

  buildPhase = ''
    runHook preBuild

    yarn workspace '@uppy/companion' run build
    yarn workspace '@uppy/companion' run test

    runHook postBuild
  '';

  installPhase = ''
    runHook preInstall

    mkdir -p $out/lib/packages/@uppy
    mkdir $out/bin
    mv packages/@uppy/companion $out/lib/packages/@uppy/companion
    # Remove extra files
    rm -rf $out/lib/packages/@uppy/companion/{*.md,LICENSE,Makefile,.*ignore,infra/,output/,test/,__mocks__/,*/json}
    # Remove dev dependencies
    rm -rf $out/lib/packages/@uppy/companion/node_modules/{.bin,webpack*,update*,tyepscript,jest*,eslint*,{@,}esbuild,{@,}rollup,terser,@types,execa,http-proxy,nock,supertest,vite*}

    # Link final binary
    ln -s $out/lib/packages/@uppy/companion/bin/companion $out/bin/companion

    patchShebangs $out/bin/companion

    runHook postInstall
  '';

  updateScript = ./update.sh;

  meta = {
    broken = stdenv.hostPlatform.isDarwin;
    changelog = "https://github.com/transloadit/uppy/releases/tag/%2540uppy%252Fcompanion%2540${finalAttrs.version}";
    description = "Server integration for Uppy file uploader";
    homepage = "https://uppy.io/";
    license = lib.licenses.mit;
    mainProgram = "companion";
    maintainers = with lib.maintainers; [ pyrox0 ];
  };
})
+28 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nodejs curl gnused jq nix bash coreutils nix-update yarn-berry_4.yarn-berry-fetcher

set -eou pipefail

PACKAGE_DIR=$(realpath "$(dirname "$0")")
NEW_VERSION=$(npm view '@uppy/companion' version)

if [[ "$UPDATE_NIX_OLD_VERSION" == "$NEW_VERSION" ]]; then
  echo "package is up-to-date: $UPDATE_NIX_OLD_VERSION"
  exit 0
fi

nix-update "$UPDATE_NIX_PNAME" --version "$NEW_VERSION" || true

HOME=$(mktemp -d)
export HOME

src=$(nix-build --no-link "$PWD" -A "$UPDATE_NIX_PNAME.src")
WORKDIR=$(mktemp -d)

cp --recursive --no-preserve=mode "$src/*" "$WORKDIR"
pushd "$WORKDIR"
yarn-berry-fetcher missing-hashes yarn.lock >"$PACKAGE_DIR/missing-hashes.json"
popd
rm -rf "$WORKDIR"

nix-update "$UPDATE_NIX_PNAME" --version skip || true
+2 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ mapAliases {
  "@prisma/language-server" = throw "@prisma/language-server has been removed because it was broken"; # added 2025-03-23
  "@shopify/cli" = throw "@shopify/cli has been removed because it was broken"; # added 2025-03-12
  "@tailwindcss/language-server" = pkgs.tailwindcss-language-server; # added 2024-01-22
  "@uppy/companion" = pkgs.uppy-companion; # Added 2025-11-01
  "@volar/vue-language-server" = pkgs.vue-language-server; # added 2024-06-15
  "@vue/language-server" = pkgs.vue-language-server; # added 2024-06-15
  "@withgraphite/graphite-cli" = pkgs.graphite-cli; # added 2024-01-25
@@ -283,6 +284,7 @@ mapAliases {
  inherit (pkgs) undollar; # added 2024-06-29
  inherit (pkgs) ungit; # added 2023-08-20
  unified-language-server = throw "unified-language-server was removed as it is a library that should be imported within a Javascript project, not an end-user tool"; # added 2025-10-02
  inherit (pkgs) uppy-companion; # Added 2025-11-01
  inherit (pkgs) vim-language-server; # added 2024-06-25
  vls = throw "vls has been deprecated by upstream as vetur is also deprecated. Upstream suggests migrating to Volar for Vue LSP tooling instead."; # added 2024-12-09
  inherit (pkgs) vsc-leetcode-cli; # Added 2023-08-30
+0 −1
Original line number Diff line number Diff line
@@ -10,7 +10,6 @@
  "@angular/cli" = "ng";
  "@babel/cli" = "babel";
  "@commitlint/cli" = "commitlint";
  "@uppy/companion" = "companion";
  "@webassemblyjs/repl-1.11.1" = "wasm";
  "@webassemblyjs/wasm-strip" = "wasm-strip";
  "@webassemblyjs/wasm-text-gen-1.11.1" = "wasmgen";
Loading