9 src = fetchFromGitHub {
12 rev = "melos-v${version}";
13 hash = "sha256-00K/LwrwjvO4LnXM2PDooQMJ6sXcJy9FBErtEwoMZlM=";
16 buildDartApplication {
17 inherit pname version src;
19 sourceRoot = "${src.name}/packages/melos";
22 # This patch (created a melos 6.1.0) modify the method melos use to find path to the root of the projects.
23 # It is needed because when melos is in the nixstore, it break it and fail to find the projects root with melos.yaml
24 ./add-generic-main.patch
27 pubspecLock = lib.importJSON ./pubspec.lock.json;
29 # hard code the path to the melos templates
31 substituteInPlace lib/src/common/utils.dart --replace-fail "final melosPackageFileUri = await Isolate.resolvePackageUri(melosPackageUri);" "return \"$out\";"
32 substituteInPlace lib/src/common/utils.dart --replace-fail "return p.normalize('\''${melosPackageFileUri!.toFilePath()}/../..');" " "
38 homepage = "https://github.com/invertase/melos";
39 description = "A tool for managing Dart projects with multiple packages. With IntelliJ and Vscode IDE support. Supports automated versioning, changelogs & publishing via Conventional Commits. ";
40 mainProgram = "melos";
41 license = lib.licenses.asl20;
42 maintainers = [ lib.maintainers.eymeric ];