1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchYarnDeps,
6 nodejs,
7 yarnConfigHook,
8 yarnInstallHook,
9 yarnBuildHook,
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "ember-language-server";
14 version = "2.30.5";
15
16 src = fetchFromGitHub {
17 owner = "ember-tooling";
18 repo = "ember-language-server";
19 tag = "v${finalAttrs.version}";
20 hash = "sha256-/6j71pBmZor7C1u9BkptwwQonh6ZWoLmMDCMOGCpMik=";
21 };
22
23 yarnOfflineCache = fetchYarnDeps {
24 yarnLock = "${finalAttrs.src}/yarn.lock";
25 hash = "sha256-vWCG+FDf6XTNrgqOQGMnE6xNZ5A8PU5DA+FcTLLurIg=";
26 };
27
28 nativeBuildInputs = [
29 yarnConfigHook
30 yarnBuildHook
31 yarnInstallHook
32 # Needed for executing package.json scripts
33 nodejs
34 ];
35
36 yarnBuildScript = "compile";
37
38 postInstall = ''
39 ln -s $out/bin/@ember-tooling/ember-language-server $out/bin/ember-language-server
40 '';
41
42 meta = {
43 description = "Language Server Protocol implementation for Ember.js projects";
44 homepage = "https://github.com/ember-tooling/ember-language-server";
45 changelog = "https://github.com/ember-tooling/ember-language-server/blob/v${finalAttrs.version}/CHANGELOG.md";
46 license = lib.licenses.mit;
47 maintainers = with lib.maintainers; [ ThaoTranLePhuong ];
48 mainProgram = "ember-language-server";
49 };
50})