lessc: add wrapper for plugins

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
lelgenio 2024-06-15 22:46:43 -03:00
parent 86f67380e9
commit ffb0c35cb9
4 changed files with 31 additions and 15 deletions

View File

@ -35,6 +35,8 @@ buildNpmPackage rec {
passthru = {
updateScript = nix-update-script { };
plugins = callPackage ./plugins { };
wrapper = callPackage ./wrapper { };
withPlugins = fn: lessc.wrapper.override { plugins = fn lessc.plugins; };
tests = {
version = testers.testVersion { package = lessc; };

View File

@ -5,7 +5,6 @@
testers,
runCommand,
writeText,
symlinkJoin,
lessc,
}:
@ -35,15 +34,7 @@ buildNpmPackage {
actual =
runCommand "actual"
{
nativeBuildInputs = [
(symlinkJoin {
name = "less-css-with-plugins";
paths = [
lessc
lessc.plugins.clean-css
];
})
];
nativeBuildInputs = [ (lessc.withPlugins (p: [ p.clean-css ])) ];
base = writeText "base" ''
@color: red;
body {
@ -52,10 +43,6 @@ buildNpmPackage {
}
}
'';
NODE_PATH = lib.concatMapStringsSep ":" (pkg: "${pkg}/lib/node_modules") [
lessc
lessc.plugins.clean-css
];
}
''
lessc $base --clean-css="--s1 --advanced" > $out

View File

@ -9,7 +9,7 @@ while ! test -f flake.nix; do cd .. ; done
NIXPKGS_DIR="$PWD"
latest_commit="$(
curl https://api.github.com/repos/less/less-plugin-clean-css/branches/master \
curl -L -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} https://api.github.com/repos/less/less-plugin-clean-css/branches/master \
| jq -r .commit.sha
)"

View File

@ -0,0 +1,27 @@
{
lib,
stdenv,
makeWrapper,
lessc,
plugins ? [ ],
}:
stdenv.mkDerivation {
pname = "lessc-with-plugins";
nativeBuildInputs = [ makeWrapper ];
buildPhase = ''
mkdir -p $out/bin
makeWrapper "${lib.getExe lessc}" "$out/bin/lessc" \
--prefix NODE_PATH : "${lib.makeSearchPath "/lib/node_modules" plugins}"
'';
doUnpack = false;
inherit (lessc)
version
src
passthru
meta
;
}