159e378cbb
GitOrigin-RevId: c04d5652cfa9742b1d519688f65d1bbccea9eb7e
56 lines
1.1 KiB
Nix
56 lines
1.1 KiB
Nix
{ stdenv, fetchYarnDeps, fixup-yarn-lock, callPackage, nodejs, yarn }:
|
|
let
|
|
common = callPackage ./common.nix { };
|
|
in
|
|
stdenv.mkDerivation {
|
|
pname = "tandoor-recipes-frontend";
|
|
inherit (common) version;
|
|
|
|
src = "${common.src}/vue";
|
|
|
|
yarnOfflineCache = fetchYarnDeps {
|
|
yarnLock = "${common.src}/vue/yarn.lock";
|
|
hash = common.yarnHash;
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
fixup-yarn-lock
|
|
nodejs
|
|
yarn
|
|
];
|
|
|
|
configurePhase = ''
|
|
runHook preConfigure
|
|
|
|
export HOME=$(mktemp -d)
|
|
yarn config --offline set yarn-offline-mirror "$yarnOfflineCache"
|
|
fixup-yarn-lock yarn.lock
|
|
command -v yarn
|
|
yarn install --frozen-lockfile --offline --no-progress --non-interactive
|
|
patchShebangs node_modules/
|
|
|
|
runHook postConfigure
|
|
'';
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
|
|
yarn --offline run build
|
|
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
cp -R ../cookbook/static/vue/ $out
|
|
cp webpack-stats.json $out
|
|
echo "${common.version}" > "$out/version"
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = common.meta // {
|
|
description = "Tandoor Recipes frontend";
|
|
};
|
|
}
|