30 lines
708 B
Nix
30 lines
708 B
Nix
{ pkgs ? import <nixpkgs> { } }:
|
|
|
|
let
|
|
compileAssets = pkgs.writeShellApplication {
|
|
name = "compileAssets";
|
|
runtimeInputs = [
|
|
pkgs.nodejs-16_x
|
|
pkgs.nodePackages.npm
|
|
];
|
|
text = ''
|
|
rm -f "$PROJECT_ROOT/packages/sitepackage/Resources/Public/Stylesheets/main.css"
|
|
rm -rf "$PROJECT_ROOT/packages/sitepackage/Resources/Public/JavaScripts/main.js"
|
|
rm -rf "$PROJECT_ROOT/.build/node_modules/"
|
|
npm ci --prefix="$PROJECT_ROOT/.build/"
|
|
npm run build --prefix="$PROJECT_ROOT/.build/"
|
|
'';
|
|
};
|
|
|
|
in pkgs.mkShell {
|
|
name = "TYPO3Website";
|
|
buildInputs = [
|
|
compileAssets
|
|
pkgs.nodejs-16_x
|
|
];
|
|
|
|
shellHook = ''
|
|
export PROJECT_ROOT="$(pwd)"
|
|
'';
|
|
}
|