lemmy-ui: fix asset URLs
As `fetchFromGitHub` does not preserve the `.git` directory, lemmy-ui fails to derive the value for its `COMMIT_HASH` variable during the build. The package previously (and mistakenly) assumed that `src.rev` would somehow return the commit hash and not the version. Fortunately, we do not need to know the precise commit rev. This value is only used to generate the templated URLs without further processing (and is also only injected for cache invalidation).
This commit is contained in:
@@ -210,7 +210,7 @@ in
|
||||
root * ${cfg.ui.package}/dist
|
||||
file_server
|
||||
}
|
||||
handle_path /static/${cfg.ui.package.passthru.commit_sha}/* {
|
||||
handle_path /static/${cfg.ui.package.version}/* {
|
||||
root * ${cfg.ui.package}/dist
|
||||
file_server
|
||||
}
|
||||
|
||||
@@ -18,15 +18,13 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "lemmy-ui";
|
||||
version = pinData.uiVersion;
|
||||
|
||||
src =
|
||||
with finalAttrs;
|
||||
fetchFromGitHub {
|
||||
owner = "LemmyNet";
|
||||
repo = "lemmy-ui";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = pinData.uiHash;
|
||||
};
|
||||
src = fetchFromGitHub {
|
||||
owner = "LemmyNet";
|
||||
repo = "lemmy-ui";
|
||||
tag = finalAttrs.version;
|
||||
fetchSubmodules = true;
|
||||
hash = pinData.uiHash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
@@ -48,20 +46,17 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm build:prod
|
||||
pnpm run prebuild:prod
|
||||
# Required to pass a custom value for COMMIT_HASH, as the normal
|
||||
# `pnpm build:prod` tries to derive its value by running `git`.
|
||||
# This value is only injected into the templated asset URLs for cache invalidation,
|
||||
# so we don't really need a commit hash here, just a value that changes on every
|
||||
# update.
|
||||
pnpm exec webpack --env COMMIT_HASH="${finalAttrs.version}" --mode=production
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# installPhase = ''
|
||||
# runHook preInstall
|
||||
|
||||
# mkdir -p $out/{bin,lib/${finalAttrs.pname}}
|
||||
# mv {dist,node_modules} $out/lib/${finalAttrs.pname}
|
||||
|
||||
# runHook postInstall
|
||||
|
||||
# '';
|
||||
preInstall = ''
|
||||
mkdir $out
|
||||
cp -R ./dist $out
|
||||
@@ -81,7 +76,6 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
passthru = {
|
||||
updateScript = ./update.py;
|
||||
tests.lemmy-ui = nixosTests.lemmy;
|
||||
commit_sha = finalAttrs.src.rev;
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
Reference in New Issue
Block a user