Commit 096c5130 authored by dish's avatar dish
Browse files

elmPackages.elm-analyse: migrate from internal node-packages.nix set

parent 436ecd58
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -55,6 +55,8 @@ lib.makeScope pkgs.newScope (
        inherit (self) elm;
      };

      elm-analyse = callPackage ./packages/elm-analyse { };

      elm-doc-preview = callPackage ./packages/elm-doc-preview { };

      elm-json = callPackage ./packages/elm-json { };
+58 −0
Original line number Diff line number Diff line
{
  lib,
  buildNpmPackage,
  fetchFromGitHub,
  elmPackages,
}:

buildNpmPackage (finalAttrs: {
  pname = "elm-analyse";
  version = "0.16.5";

  src = fetchFromGitHub {
    owner = "stil4m";
    repo = "elm-analyse";
    tag = finalAttrs.version;
    hash = "sha256-GFHhHf+JOXGcm0CZEDGMuuTR3CXBdSkYDGRHZ63pE64=";
  };

  npmDepsHash = "sha256-B/PzGOaxdKSt82ax0izeadsMsz+I0v4wkye3zgNxMF8=";

  npmFlags = [ "--ignore-scripts" ];

  nativeBuildInputs = [
    elmPackages.elm
  ];

  postConfigure =
    (elmPackages.fetchElmDeps {
      elmPackages = import ./elm-srcs.nix;
      elmVersion = elmPackages.elm.version;
      registryDat = ./registry.dat;
    })
    + ''
      ln -sf ${lib.getExe elmPackages.elm} node_modules/.bin/elm
    '';

  buildPhase = ''
    runHook preBuild

    make

    runHook postBuild
  '';

  postInstall = ''
    rm -rf $out/lib/node_modules/elm-analyse/node_modules/.bin/
  '';

  passthru.updateScript = ./update.sh;

  meta = {
    description = "Analyse your Elm code, identify deficiencies and apply best practices";
    homepage = "https://stil4m.github.io/elm-analyse/";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ pyrox0 ];
    mainProgram = "elm-analyse";
  };
})
+152 −0
Original line number Diff line number Diff line
{

  "alex-tan/elm-dialog" = {
    sha256 = "13dfpzrdi69jaj0hj2cnwg3g6wafhszg0grjw4z3imd0b9avz1hk";
    version = "1.0.0";
  };

  "elm-community/dict-extra" = {
    sha256 = "05ll04wf03m8ic109dz2dbq6pah23m70c4wwyr35026dhmws35n0";
    version = "2.4.0";
  };

  "elm-community/graph" = {
    sha256 = "1rwsq2126q0rb4vmy95ajxfm3m063d6lw0p90d510nzcrbm9bxbc";
    version = "6.0.0";
  };

  "elm-community/intdict" = {
    sha256 = "09i1fk63gp6sr6kc6ccs8g0kxvqhw5czghi9cl8flizanrgcmva1";
    version = "3.0.0";
  };

  "elm-community/list-extra" = {
    sha256 = "06ddwrc0ai0pn5mw99a1d9xnihkliyvq0qvzn32z1l88msflrib7";
    version = "8.2.2";
  };

  "elm-community/maybe-extra" = {
    sha256 = "10jykkdmqpvhbcm50867a894272j4z6jc9r5jy35cz8jfi9j8xv9";
    version = "5.0.0";
  };

  "elm-explorations/markdown" = {
    sha256 = "0k3110ixa4wwf3vkkdplagwah9ypr965qxr1y147rnsc1xsxmr6y";
    version = "1.0.0";
  };

  "elm/browser" = {
    sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka";
    version = "1.0.1";
  };

  "elm/core" = {
    sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as";
    version = "1.0.2";
  };

  "elm/html" = {
    sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k";
    version = "1.0.0";
  };

  "elm/http" = {
    sha256 = "1igmm89ialzrjib1j8xagkxalq1x2gj4l0hfxcd66mpwmvg7psl8";
    version = "1.0.0";
  };

  "elm/json" = {
    sha256 = "0kjwrz195z84kwywaxhhlnpl3p251qlbm5iz6byd6jky2crmyqyh";
    version = "1.1.3";
  };

  "elm/parser" = {
    sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512";
    version = "1.1.0";
  };

  "elm/project-metadata-utils" = {
    sha256 = "1d4rd4grrnbdvj9gf00h7dr6hbkjzawgkzpizfrkp1z1pyr3mvq9";
    version = "1.0.0";
  };

  "elm/regex" = {
    sha256 = "0lijsp50w7n1n57mjg6clpn9phly8vvs07h0qh2rqcs0f1jqvsa2";
    version = "1.0.0";
  };

  "elm/time" = {
    sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1";
    version = "1.0.0";
  };

  "elm/url" = {
    sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4";
    version = "1.0.0";
  };

  "krisajenkins/remotedata" = {
    sha256 = "0sjrgpsy4aci0h6qndqx70cnfd065hlkh1rxk0lc93z22sdj4knl";
    version = "5.0.0";
  };

  "rundis/elm-bootstrap" = {
    sha256 = "155rqa2hh9h5s0ryqv4pn40vwl2klk3zg8b2xf48z5ky8fdrr31c";
    version = "5.2.0";
  };

  "stil4m/elm-syntax" = {
    sha256 = "182fz12a115j3wz3fkc209mq8rbbqmvl237pmrvygmvbxwv4ix37";
    version = "7.1.1";
  };

  "avh4/elm-color" = {
    sha256 = "0n16wnvp87x9az3m5qjrl6smsg7051m719xn5d244painx8xmpzq";
    version = "1.0.0";
  };

  "avh4/elm-fifo" = {
    sha256 = "1ka0iz2psr75h4qz7hh5z1prclah1nais9aaycaxapfd7inqmrrc";
    version = "1.0.4";
  };

  "elm-community/json-extra" = {
    sha256 = "0hwlhdlvd5xi866m9bpnabcg2qrgcvfj34p1x1mhx85ymr3gv9mv";
    version = "4.2.0";
  };

  "elm/virtual-dom" = {
    sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg";
    version = "1.0.2";
  };

  "etaque/elm-response" = {
    sha256 = "0vydmczvlxkvbjsjpfwad5m77y3155dp8wx648xf1ya3vsy4m5kf";
    version = "3.1.0";
  };

  "rtfeldman/elm-hex" = {
    sha256 = "1y0aa16asvwdqmgbskh5iba6psp43lkcjjw9mgzj3gsrg33lp00d";
    version = "1.0.0";
  };

  "rtfeldman/elm-iso8601-date-strings" = {
    sha256 = "1fa5sslklldy0dq8bm0zdkb9ni50yxhb09xb6lgk00x55bmza9ik";
    version = "1.1.3";
  };

  "stil4m/structured-writer" = {
    sha256 = "0xr95m8k42vwyff91vfd4q59fhnmhywyj20nzxqhl7blk82hnwj0";
    version = "1.0.2";
  };

  "elm-explorations/test" = {
    sha256 = "1fsd7bajm7qa93r5pn3mdafqh3blpzya601jbs9l238p0hmvh576";
    version = "1.2.2";
  };

  "elm/random" = {
    sha256 = "138n2455wdjwa657w6sjq18wx2r0k60ibpc4frhbqr50sncxrfdl";
    version = "1.0.0";
  };
}
+887 B

File added.

No diff preview for this file type.

+17 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nix-update elm2nix nixfmt

set -eu -o pipefail

PACKAGE_DIR=$(realpath "$(dirname "$0")")

# Update version, src and npm deps
nix-update "$UPDATE_NIX_ATTR_PATH"

# Update elm deps
cp "$(nix-build -A "$UPDATE_NIX_ATTR_PATH".src)/elm.json" elm.json
trap 'rm -rf elm.json registry.dat &> /dev/null' EXIT
elm2nix convert >"$PACKAGE_DIR/elm-srcs.nix"
nixfmt "$PACKAGE_DIR/elm-srcs.nix"
elm2nix snapshot
cp registry.dat "$PACKAGE_DIR/registry.dat"
Loading