Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .helix/languages.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[[language]]
name = "typescript"
roots = ["deno.json", "deno.jsonc", "package.json"]
file-types = ["ts", "tsx"]
auto-format = true
language-servers = ["deno-lsp"]

[[language]]
name = "javascript"
roots = ["deno.json", "deno.jsonc", "package.json"]
file-types = ["js", "jsx"]
auto-format = true
language-servers = ["deno-lsp"]

[language-server.deno-lsp]
command = "deno"
args = ["lsp"]
config.deno.enable = true
73 changes: 60 additions & 13 deletions projects/asset-dispatcher/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
inputs@{ flake-parts, nixpkgs, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"x86_64-linux"
"aarch64-darwin"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
"x86_64-linux"
];
perSystem =
{
Expand All @@ -26,31 +26,78 @@
...
}:
let
denortPerSystem = {
"aarch64-darwin" = {
target = "aarch64-apple-darwin";
sha256 = lib.fakeHash;
};
"aarch64-linux" = {
target = "aarch64-unknown-linux-gnu";
sha256 = lib.fakeHash;
};
"x86_64-darwin" = {
target = "x86_64-apple-darwin";
sha256 = lib.fakeHash;
};
"x86_64-linux" = {
target = "x86_64-unknown-linux-gnu";
sha256 = "sha256-7reSKyqBLw47HLK5AdgqL1+qW+yRP98xljtcnp69sw4=";
};
}.${system};
platform = builtins.trace "Sourcing DENORT with target: ${denortPerSystem.target}" denortPerSystem.target;
packageJson = lib.importJSON ./package.json;
pnpm = pkgs.pnpm;
deno = pkgs.deno;
denort = pkgs.fetchzip {
url = "https://dl.deno.land/release/v${deno.version}/denort-${platform}.zip";
sha256 = denortPerSystem.sha256;
stripRoot = false;
};
in
{
packages = {
default = pkgs.buildNpmPackage {
default = pkgs.buildNpmPackage rec {
pname = packageJson.name;
inherit (packageJson) version;
src = ./.;
npmDepsHash = "sha256-ZN47MDJes95+CXBoPaN4blpxP12ZS6trnUtm0+tYTqo=";

postInstall = ''
mkdir -p $out/bin
cat > $out/bin/${packageJson.name} << EOF
#!/usr/bin/env node
require('../lib/node_modules/${packageJson.name}/dist/src/index.js')
EOF
chmod +x $out/bin/${packageJson.name}
npmConfigHook = pnpm.configHook;
nativeBuildInputs = [
deno
denort
];
npmDepsHash = "sha256-ZztV7LzNfN2fGX1+cUq77DQLfxYPiCh4IK/fk/HbrAE=";
pnpmDeps = pnpm.fetchDeps {
inherit
pname
src
version
;
hash = npmDepsHash;
};
npmDeps = pnpmDeps;
doCheck = true;
checkPhase = ''
deno check 'src/**/*.ts'
'';
buildPhase = ''
runHook preBuild
DENORT_BIN=${denort}/denort deno compile --no-remote --output out src/index.ts
runHook postBuild
'';
installPhase = ''
mkdir -p $out
cp ./out $out
'';
doDist = false;
};
};

devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
nodejs
nodePackages_latest.typescript-language-server
pnpm
deno
#nodePackages_latest.typescript-language-server
biome
nixfmt
];
Expand Down
Loading
Loading