feat: Add build script for vs code extension

This commit is contained in:
Myzel394 2024-10-20 10:13:53 +02:00
parent 33dfe0acaa
commit 38ec479b9a
No known key found for this signature in database
GPG Key ID: DEC4AAB876F73185
5 changed files with 36 additions and 5 deletions

0
LICENSE.md Normal file
View File

View File

@ -37,7 +37,7 @@
inputs = [ inputs = [
pkgs.go_1_22 pkgs.go_1_22
]; ];
server = pkgs.buildGoModule { serverUncompressed = pkgs.buildGoModule {
nativeBuildInputs = inputs; nativeBuildInputs = inputs;
pname = "github.com/Myzel394/config-lsp"; pname = "github.com/Myzel394/config-lsp";
version = version; version = version;
@ -48,11 +48,24 @@
go test -v $(pwd)/... go test -v $(pwd)/...
''; '';
}; };
server = pkgs.stdenv.mkDerivation {
name = "config-lsp-${version}";
src = serverUncompressed;
buildInputs = [
pkgs.upx
];
buildPhase = ''
mkdir -p $out/bin
cp $src/bin/config-lsp $out/bin/
chmod +rw $out/bin/config-lsp
upx --ultra-brute $out/bin/config-lsp
'';
};
in { in {
packages = { packages = {
default = server; default = server;
"vs-code-extension" = let "vs-code-extension" = let
name = "config-lsp-vs-code-extension"; name = "config-lsp";
node-modules = pkgs.mkYarnPackage { node-modules = pkgs.mkYarnPackage {
src = ./vs-code-extension; src = ./vs-code-extension;
name = name; name = name;
@ -64,10 +77,23 @@
yarn --offline run compile yarn --offline run compile
''; '';
installPhase = '' installPhase = ''
mv deps/${name}/out $out mkdir -p extension
cp ${server}/bin/config-lsp $out/
# No idea why this is being created
rm deps/${name}/config-lsp
cp -rL deps/${name}/. extension
cp ${server}/bin/config-lsp extension/out/config-lsp
cd extension && ${pkgs.vsce}/bin/vsce package
mkdir -p $out
cp *.vsix $out
''; '';
distPhase = "true"; distPhase = "true";
buildInputs = [
pkgs.vsce
];
}; };
in node-modules; in node-modules;
}; };
@ -83,6 +109,8 @@
devShells."vs-code-extension" = pkgs.mkShell { devShells."vs-code-extension" = pkgs.mkShell {
buildInputs = [ buildInputs = [
pkgs.nodejs pkgs.nodejs
pkgs.vsce
pkgs.yarn2nix
]; ];
}; };
} }

View File

@ -15,3 +15,6 @@ client/node_modules/**
flake.nix flake.nix
build-extension.sh build-extension.sh
yarn.nix
.idea

View File

View File

@ -113,7 +113,7 @@
dependencies: dependencies:
undici-types "~6.19.2" undici-types "~6.19.2"
"@types/vscode@^1.93.0": "@types/vscode@^1.74.0":
version "1.94.0" version "1.94.0"
resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.94.0.tgz#ccd2111b6ecaba6ad4da19c2d524828fa73ae250" resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.94.0.tgz#ccd2111b6ecaba6ad4da19c2d524828fa73ae250"
integrity sha512-UyQOIUT0pb14XSqJskYnRwD2aG0QrPVefIfrW1djR+/J4KeFQ0i1+hjZoaAmeNf3Z2jleK+R2hv+EboG/m8ruw== integrity sha512-UyQOIUT0pb14XSqJskYnRwD2aG0QrPVefIfrW1djR+/J4KeFQ0i1+hjZoaAmeNf3Z2jleK+R2hv+EboG/m8ruw==