Unverified Commit 2a50ee34 authored by Gaétan Lepage's avatar Gaétan Lepage Committed by GitHub
Browse files

copilot-language-server: init at 1.273.0 (#381276)

parents d836d249 3b484100
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
{
    "name": "@github/copilot-language-server",
    "version": "1.273.0",
    "lockfileVersion": 3,
    "requires": true,
    "packages": {
        "": {
            "name": "@github/copilot-language-server",
            "version": "1.273.0",
            "license": "https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features",
            "dependencies": {
                "vscode-languageserver-protocol": "^3.17.5"
            },
            "bin": {
                "copilot-language-server": "dist/language-server.js"
            }
        },
        "node_modules/vscode-jsonrpc": {
            "version": "8.2.0",
            "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
            "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
            "license": "MIT",
            "engines": {
                "node": ">=14.0.0"
            }
        },
        "node_modules/vscode-languageserver-protocol": {
            "version": "3.17.5",
            "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
            "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
            "license": "MIT",
            "dependencies": {
                "vscode-jsonrpc": "8.2.0",
                "vscode-languageserver-types": "3.17.5"
            }
        },
        "node_modules/vscode-languageserver-types": {
            "version": "3.17.5",
            "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
            "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
            "license": "MIT"
        }
    }
}
+49 −0
Original line number Diff line number Diff line
{
  lib,
  buildNpmPackage,
  fetchurl,
}:

buildNpmPackage rec {
  pname = "copilot-language-server";
  version = "1.273.0";

  src = fetchurl {
    url = "https://registry.npmjs.org/@github/copilot-language-server/-/copilot-language-server-${version}.tgz";
    hash = "sha256-S3LhyNg8sSJPl+vnMir4AbyerORz0b1S7JyjCeoXW2E=";
  };

  npmDepsHash = "sha256-ikITGNY6a6SKOSTBU9q4sQMX51mOxMix+a1Bt+h9wGw=";

  postPatch = ''
    ln -s ${./package-lock.json} package-lock.json
  '';

  postInstall = ''
    ln -s $out/lib/node_modules/@github/copilot-language-server/dist $out/lib/node_modules/@github/dist
  '';

  dontNpmBuild = true;

  passthru.updateScript = ./update.sh;

  meta = {
    description = "Use GitHub Copilot with any editor or IDE via the Language Server Protocol";
    homepage = "https://github.com/features/copilot";
    license = {
      deprecated = false;
      free = false;
      fullName = "GitHub Copilot Product Specific Terms";
      redistributable = false;
      shortName = "GitHub Copilot License";
      url = "https://github.com/customer-terms/github-copilot-product-specific-terms";
    };
    mainProgram = "copilot-language-server";
    platforms = [
      "x86_64-linux"
      "x86_64-darwin"
      "aarch64-darwin"
    ];
    maintainers = with lib.maintainers; [ arunoruto ];
  };
}
+30 −0
Original line number Diff line number Diff line
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p gnused nix nodejs prefetch-npm-deps wget

set -euo pipefail
pushd "$(dirname "${BASH_SOURCE[0]}")"

version=$(npm view @github/copilot-language-server version)
tarball="copilot-language-server-$version.tgz"
url="https://registry.npmjs.org/@github/copilot-language-server/-/$tarball"

if [[ "$UPDATE_NIX_OLD_VERSION" == "$version" ]]; then
    echo "Already up to date!"
    exit 0
fi

sed -i 's#version = "[^"]*"#version = "'"$version"'"#' package.nix

sha256=$(nix-prefetch-url "$url")
src_hash=$(nix-hash --to-sri --type sha256 "$sha256")
sed -i 's#hash = "[^"]*"#hash = "'"$src_hash"'"#' package.nix

rm -f package-lock.json package.json *.tgz
wget "$url"
tar xf "$tarball" --strip-components=1 package/package.json
npm i --package-lock-only --ignore-scripts
npm_hash=$(prefetch-npm-deps package-lock.json)
sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' package.nix
rm -f package.json *.tgz

popd