diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..e69de29 diff --git a/flake.nix b/flake.nix index 2a3ff7c..1eaf850 100644 --- a/flake.nix +++ b/flake.nix @@ -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 ]; }; } diff --git a/vs-code-extension/.vscodeignore b/vs-code-extension/.vscodeignore index 0740772..f3760bc 100644 --- a/vs-code-extension/.vscodeignore +++ b/vs-code-extension/.vscodeignore @@ -15,3 +15,6 @@ client/node_modules/** flake.nix build-extension.sh +yarn.nix +.idea + diff --git a/vs-code-extension/LICENSE.md b/vs-code-extension/LICENSE.md new file mode 100644 index 0000000..e69de29 diff --git a/vs-code-extension/yarn.lock b/vs-code-extension/yarn.lock index 1c40492..f34e621 100644 --- a/vs-code-extension/yarn.lock +++ b/vs-code-extension/yarn.lock @@ -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==