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 = [
pkgs.go_1_22
];
server = pkgs.buildGoModule {
serverUncompressed = pkgs.buildGoModule {
nativeBuildInputs = inputs;
pname = "github.com/Myzel394/config-lsp";
version = version;
@ -48,11 +48,24 @@
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 {
packages = {
default = server;
"vs-code-extension" = let
name = "config-lsp-vs-code-extension";
name = "config-lsp";
node-modules = pkgs.mkYarnPackage {
src = ./vs-code-extension;
name = name;
@ -64,10 +77,23 @@
yarn --offline run compile
'';
installPhase = ''
mv deps/${name}/out $out
cp ${server}/bin/config-lsp $out/
mkdir -p extension
# 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";
buildInputs = [
pkgs.vsce
];
};
in node-modules;
};
@ -83,6 +109,8 @@
devShells."vs-code-extension" = pkgs.mkShell {
buildInputs = [
pkgs.nodejs
pkgs.vsce
pkgs.yarn2nix
];
};
}

View File

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

View File

View File

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