Unverified Commit 4028c38d authored by Arne Keller's avatar Arne Keller Committed by GitHub
Browse files

emmet-language-server: 2.6.0 -> 2.6.1, repackage using pnpm.fetchDeps (#373745)

parents 3ee8818d dd07253d
Loading
Loading
Loading
Loading
+0 −1214

File deleted.

Preview size limit exceeded, changes collapsed.

+52 −12
Original line number Diff line number Diff line
{
  lib,
  buildNpmPackage,
  stdenvNoCC,
  nodejs,
  pnpm_9,
  fetchFromGitHub,
  nix-update-script,
}:

buildNpmPackage rec {
stdenvNoCC.mkDerivation (finalAttrs: {
  pname = "emmet-language-server";
  version = "2.6.0";
  version = "2.6.1";

  src = fetchFromGitHub {
    owner = "olrtg";
    repo = "emmet-language-server";
    rev = "v${version}";
    hash = "sha256-R20twrmfLz9FP87qkjgz1R/n+Nhzwn22l9t/2fyuVeM=";
    tag = "v${finalAttrs.version}";
    hash = "sha256-2ptIdZPGLjKsdFJKjt5LZ8JQNNBU5KR62Yw78qzfRxg=";
  };

  npmDepsHash = "sha256-yv+5/wBif75AaAsbJrwLNtlui9SHws2mu3jYOR1Z55M=";
  pnpmDeps = pnpm_9.fetchDeps {
    inherit (finalAttrs) pname version src;
    hash = "sha256-hh5PEtmSHPs6QBgwWHS0laGU21e82JckIP3mB/P9/vE=";
  };

  nativeBuildInputs = [
    nodejs
    pnpm_9.configHook
  ];

  buildPhase = ''
    runHook preBuild

    # TODO: use deploy after resolved https://github.com/pnpm/pnpm/issues/5315
    pnpm build

    runHook postBuild
  '';

  # Upstream doesn't have a lockfile
  postPatch = ''
    cp ${./package-lock.json} ./package-lock.json
  # remove unnecessary and non-deterministic files
  preInstall = ''
    pnpm --ignore-scripts --prod prune
    find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
    # https://github.com/pnpm/pnpm/issues/3645
    find node_modules -xtype l -delete

    rm node_modules/.modules.yaml
  '';

  installPhase = ''
    runHook preInstall

    mkdir -p $out/{bin,lib/emmet-language-server}
    mv {node_modules,dist} $out/lib/emmet-language-server
    ln -s $out/lib/emmet-language-server/dist/index.js $out/bin/emmet-language-server
    chmod +x $out/bin/emmet-language-server

    runHook postInstall
  '';

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Language server for emmet.io";
    homepage = "https://github.com/olrtg/emmet-language-server";
    changelog = "https://github.com/olrtg/emmet-language-server/releases/tag/v${version}";
    changelog = "https://github.com/olrtg/emmet-language-server/releases/tag/v${finalAttrs.version}";
    license = lib.licenses.mit;
    maintainers = [ ];
    maintainers = with lib.maintainers; [
      gepbird
    ];
    mainProgram = "emmet-language-server";
  };
}
})