awk-language-server: init at 0.10.6 (#269164)
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"name": "awk-language-server",
|
||||
"description": "AWK Language Server",
|
||||
"version": "0.10.6",
|
||||
"author": "Stanislav Chernov <ch-e-st@yandex.ru>",
|
||||
"publisher": "beaglefoot",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"language-server",
|
||||
"language-server-protocol",
|
||||
"lsp",
|
||||
"awk",
|
||||
"gawk"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"bin": "./server/out/cli.js",
|
||||
"main": "./server/out/server.js",
|
||||
"typings": "./server/out/server.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Beaglefoot/awk-language-server"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": "1.2.6",
|
||||
"tree-sitter-awk": "0.7.2",
|
||||
"vscode-languageserver": "^7.0.0",
|
||||
"vscode-languageserver-textdocument": "^1.0.1",
|
||||
"web-tree-sitter": "0.22.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/minimist": "1.2.2",
|
||||
"@types/jest": "27.0.1",
|
||||
"@types/node": "^12.12.0",
|
||||
"jest": "27.1.1",
|
||||
"prettier": "2.3.2",
|
||||
"ts-jest": "27.0.5",
|
||||
"typescript": "^4.3.2"
|
||||
},
|
||||
"scripts": {
|
||||
"build:completion": "man gawk | gawk -f scripts/build_completion_list.awk > docs.json",
|
||||
"prepublishOnly": "cd .. && yarn build:server:force",
|
||||
"clean:client": "rm -rfv client/out/*",
|
||||
"clean:server": "rm -rfv server/out/*",
|
||||
"build": "yarn build:server && yarn build:client",
|
||||
"build:client": "tsc -b client/tsconfig.json",
|
||||
"build:client:force": "yarn clean:client && yarn build:client --verbose --force",
|
||||
"build:server": "tsc -b server/tsconfig.json",
|
||||
"build:server:force": "yarn clean:server && yarn build:server --verbose --force",
|
||||
"postinstall": "cd client && yarn && cd ../server && yarn && cd ..",
|
||||
"test": "jest",
|
||||
"test:server": "jest server/tests",
|
||||
"test:ci": "jest --runInBand",
|
||||
"check:types": "tsc --noEmit -p server/tsconfig.json",
|
||||
"check:style": "prettier --check **/*.ts"
|
||||
},
|
||||
"private": true
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
{
|
||||
lib,
|
||||
mkYarnPackage,
|
||||
fetchYarnDeps,
|
||||
fetchFromGitHub,
|
||||
jq,
|
||||
}:
|
||||
|
||||
mkYarnPackage rec {
|
||||
name = "awk-language-server";
|
||||
version = "0.10.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Beaglefoot";
|
||||
repo = "awk-language-server";
|
||||
rev = "server-${version}";
|
||||
hash = "sha256-YtduDfMAUAoQY9tgyhgERFwx9TEgD52KdeHnX2MrjjI=";
|
||||
sparseCheckout = [ "server" ];
|
||||
postFetch = ''
|
||||
# combine both yarn lock files
|
||||
tail -n+4 $out/server/yarn.lock >> $out/yarn.lock
|
||||
|
||||
# recontextualize server/package.json to be one folder up
|
||||
sed -i 's|\./|./server/|' $out/server/package.json
|
||||
|
||||
# combine both package.json files
|
||||
${lib.getExe jq} -s '.[0] * .[1]' \
|
||||
$out/server/package.json \
|
||||
$out/package.json \
|
||||
> package.json
|
||||
mv -f package.json $out/
|
||||
'';
|
||||
};
|
||||
|
||||
packageJSON = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = ./yarn.lock;
|
||||
hash = "sha256-PaebqpXQGBxqcaxun8zi6TPeIgHmY+2fjsE/3LaWPN8=";
|
||||
};
|
||||
|
||||
distPhase = "true";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn --offline build:server
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
chmod +x $out/bin/awk-language-server
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Language Server for AWK and associated VSCode client extension";
|
||||
homepage = "https://github.com/Beaglefoot/awk-language-server";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mathiassven ];
|
||||
mainProgram = "awk-language-server";
|
||||
};
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts coreutils gnused prefetch-yarn-deps
|
||||
|
||||
set -e
|
||||
|
||||
# update src version and hash
|
||||
version="$(list-git-tags | sort -V | tail -1 | sed 's|server-||')"
|
||||
|
||||
update-source-version awk-language-server "$version"
|
||||
|
||||
# update vendored yarn.lock & package.json
|
||||
newSrc="$(nix-build --no-out-link -A awk-language-server.src)"
|
||||
|
||||
nixFile="$(nix-instantiate --eval --strict -A 'awk-language-server.meta.position' \
|
||||
| sed -re 's/^"(.*):[0-9]+"$/\1/')"
|
||||
|
||||
nixFileDir="$(dirname "$nixFile")"
|
||||
|
||||
cp --force --no-preserve=mode "$newSrc"/{yarn.lock,package.json} "$nixFileDir/"
|
||||
|
||||
# update offlineCache hash
|
||||
oldCacheSriHash="$(nix-instantiate --eval --strict \
|
||||
-A 'awk-language-server.offlineCache.drvAttrs.outputHash')"
|
||||
|
||||
newCacheHash="$(prefetch-yarn-deps "$nixFileDir/yarn.lock")"
|
||||
|
||||
newCacheSriHash="$(nix-hash --to-sri --type sha256 "$newCacheHash")"
|
||||
|
||||
sed -i "s|$oldCacheSriHash|\"$newCacheSriHash\"|" "$nixFile"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user