Files

58 lines
2.1 KiB
Nix

{
inputs.protocol.url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git?ref=refs/tags/quixos-reachability/5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87&rev=5b44c8154dc038efd87cf1cbdd2c00b66bfd4f87";
inputs.nixpkgs.follows = "protocol/nixpkgs";
inputs.flake-utils.follows = "protocol/flake-utils";
inputs.helpers = {
url = "git+https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-nix-helpers.git?ref=refs/tags/quixos-reachability/91679e8cc82133093cb0b4f9e519cbb39a5bba4f&rev=91679e8cc82133093cb0b4f9e519cbb39a5bba4f";
flake = false;
};
outputs =
{
nixpkgs,
flake-utils,
helpers,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs { inherit system; };
camino = import (helpers + "/quixos-package-helpers.nix");
in
{
quixosPackages.checkedArtifacts =
context:
let
pkgs = camino.packageSet { inherit nixpkgs system context; };
dependencies = camino.mkCaminoYarnDependencies {
inherit pkgs;
src = ./.;
};
testedSource =
pkgs.runCommand "language-reader-presentation-tested-source"
{
nativeBuildInputs = [
pkgs.nodejs_24
pkgs.esbuild
];
}
''
export NODE_PATH=${dependencies}
esbuild ${./.}/tests/canvas.test.ts --bundle --platform=node --format=esm --outfile=canvas.mjs
node canvas.mjs
esbuild ${./.}/tests/work.test.ts --bundle --platform=node --format=esm --outfile=work.mjs
node work.mjs
cp -r ${./.} "$out"
'';
in
(camino.mkCaminoReactPackage {
inherit pkgs context dependencies;
src = testedSource;
modules = import ./components.nix;
});
devShells.default = camino.mkCaminoYarnShell { inherit pkgs; };
}
);
}