Add support for building via nix.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
/node_modules/
|
||||
/dist/
|
||||
/result
|
||||
|
||||
70
flake.lock
generated
Normal file
70
flake.lock
generated
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1780749050,
|
||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"organic": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783734912,
|
||||
"narHash": "sha256-tXPapMwegdfP0jcr3BPQXxv1Aauo6yZwS4q2sIKOF9o=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "842a77fb2bc684a545fb102e16790fa902aec11c",
|
||||
"revCount": 2008,
|
||||
"type": "git",
|
||||
"url": "https://code.fizz.buzz/talexander/organic.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://code.fizz.buzz/talexander/organic.git"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"organic": "organic"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"organic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781407245,
|
||||
"narHash": "sha256-VzJq4MmD0uyNDAceudSe1hHqcQMe9Tau0U4S+5iRGh0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "d5f483210eb016d66102eef22baa128b3b3233fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
85
flake.nix
Normal file
85
flake.nix
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
description = "Web demo of Organic Org Parser";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
organic = {
|
||||
url = "git+https://code.fizz.buzz/talexander/organic.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
organic,
|
||||
}:
|
||||
let
|
||||
forAllSystems =
|
||||
func:
|
||||
builtins.listToAttrs (
|
||||
map (system: {
|
||||
name = system;
|
||||
value = func system;
|
||||
}) nixpkgs.lib.systems.flakeExposed
|
||||
);
|
||||
overlays = [ organic.overlays.default ];
|
||||
in
|
||||
{
|
||||
devShells = forAllSystems (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system overlays;
|
||||
};
|
||||
in
|
||||
{
|
||||
default = pkgs.mkShell {
|
||||
nativeBuildInputs = [
|
||||
# rustToolchain
|
||||
];
|
||||
buildInputs = with pkgs; [
|
||||
nodejs
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
packages = forAllSystems (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system overlays;
|
||||
};
|
||||
appliedOverlay = self.overlays.default pkgs pkgs;
|
||||
in
|
||||
rec {
|
||||
inherit (appliedOverlay.organic_ast_explorer)
|
||||
release
|
||||
;
|
||||
default = release;
|
||||
}
|
||||
);
|
||||
overlays.default = final: prev: {
|
||||
organic_ast_explorer = final.lib.makeScope final.newScope (organic_ast_explorer_scope: {
|
||||
release = final.buildNpmPackage {
|
||||
pname = "organic_ast_explorer";
|
||||
version = "0.0.0";
|
||||
|
||||
src = final.lib.cleanSource ./.;
|
||||
npmDepsHash = "sha256-cIL9HRZIg8djOgFEuH7jwem7Eia7V5tPogONma+TO9U=";
|
||||
npmBuildScript = "release";
|
||||
preConfigure = ''
|
||||
substituteInPlace src/Explorer.tsx --replace-fail '../../organic/target/wasm32-unknown-unknown/js/wasm' '${final.organic.wasm_bundler}/share/bundler/wasm'
|
||||
'';
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
runHook preInstall
|
||||
cp -r dist/* "$out"
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
||||
4075
package-lock.json
generated
4075
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -30,9 +30,9 @@
|
||||
"style-loader": "^3.3.4",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "^5.3.3",
|
||||
"webpack": "^5.89.0",
|
||||
"webpack-cli": "^5.1.4",
|
||||
"webpack-dev-server": "^4.15.1",
|
||||
"webpack-merge": "^5.10.0"
|
||||
"webpack": "^5.108.4",
|
||||
"webpack-cli": "^7.2.1",
|
||||
"webpack-dev-server": "^6.0.0",
|
||||
"webpack-merge": "^6.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user