dart_frog_cli: init at 1.2.14

This commit is contained in:
KristijanZic
2026-02-16 16:05:35 +01:00
parent b125f7e658
commit 8d12ed00a0
4 changed files with 983 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
{
lib,
buildDartApplication,
fetchFromGitHub,
versionCheckHook,
callPackage,
}:
buildDartApplication (finalAttrs: {
pname = "dart_frog_cli";
version = "1.2.14";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "dart-frog-dev";
repo = "dart_frog";
tag = "dart_frog_cli-v${finalAttrs.version}";
hash = "sha256-B5ET/SwQzYw251Ox/RyuLM27+M//xTehke9JJSD7Gf8=";
};
sourceRoot = "${finalAttrs.src.name}/packages/dart_frog_cli";
dartEntryPoints = {
"bin/dart_frog" = "bin/dart_frog.dart";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
preBuild = ''
rm pubspec_overrides.yaml
'';
passthru = {
updateScript = lib.getExe (callPackage ./update.nix { });
# If your tests.nix needs the package itself, pass finalAttrs.finalPackage
tests = callPackage ./tests.nix { };
};
meta = {
mainProgram = "dart_frog";
homepage = "https://dart-frog.dev";
description = "Command line tools for Dart Frog";
longDescription = ''
The official command line interface for Dart Frog a fast, minimalistic backend framework for Dart.
'';
changelog = "https://pub.dev/packages/dart_frog_cli/changelog#${
lib.replaceString "." "" finalAttrs.version
}";
license = lib.licenses.mit;
sourceProvenance = with lib.sourceTypes; [ fromSource ];
identifiers.cpeParts = lib.meta.cpeFullVersionWithVendor "dart-frog-dev" finalAttrs.version;
maintainers = with lib.maintainers; [ KristijanZic ];
};
})
@@ -0,0 +1,797 @@
{
"packages": {
"_fe_analyzer_shared": {
"dependency": "transitive",
"description": {
"name": "_fe_analyzer_shared",
"sha256": "a49d6cf99e8d8e7a8e93668d09ced0bbdb954d0b4fccc2f5f9241c6b87fad95c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "99.0.0"
},
"analyzer": {
"dependency": "transitive",
"description": {
"name": "analyzer",
"sha256": "663efa951fb8a45e06f491223a604c93820598f20e6a99c25617a1576065e8b7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "12.1.0"
},
"archive": {
"dependency": "transitive",
"description": {
"name": "archive",
"sha256": "a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.9"
},
"args": {
"dependency": "direct main",
"description": {
"name": "args",
"sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.7.0"
},
"async": {
"dependency": "transitive",
"description": {
"name": "async",
"sha256": "e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.13.1"
},
"boolean_selector": {
"dependency": "transitive",
"description": {
"name": "boolean_selector",
"sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
},
"build": {
"dependency": "transitive",
"description": {
"name": "build",
"sha256": "aadd943f4f8cc946882c954c187e6115a84c98c81ad1d9c6cbf0895a8c85da9c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.5"
},
"build_config": {
"dependency": "transitive",
"description": {
"name": "build_config",
"sha256": "4070d2a59f8eec34c97c86ceb44403834899075f66e8a9d59706f8e7834f6f71",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
},
"build_daemon": {
"dependency": "transitive",
"description": {
"name": "build_daemon",
"sha256": "bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.1"
},
"build_runner": {
"dependency": "direct dev",
"description": {
"name": "build_runner",
"sha256": "521daf8d189deb79ba474e43a696b41c49fb3987818dbacf3308f1e03673a75e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.13.1"
},
"build_verify": {
"dependency": "direct dev",
"description": {
"name": "build_verify",
"sha256": "3b17b59b6d66f9d3e6014996f089902d56cec5760e051c353cc387b9da577652",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.1"
},
"build_version": {
"dependency": "direct dev",
"description": {
"name": "build_version",
"sha256": "1063066ec338c18f0629d01077c9315f92fae3e7e0e06d0dc10e8aa3145d44f5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.3"
},
"built_collection": {
"dependency": "transitive",
"description": {
"name": "built_collection",
"sha256": "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.1.1"
},
"built_value": {
"dependency": "transitive",
"description": {
"name": "built_value",
"sha256": "0730c18c770d05636a8f945c32a4d7d81cb6e0f0148c8db4ad12e7748f7e49af",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.12.5"
},
"checked_yaml": {
"dependency": "transitive",
"description": {
"name": "checked_yaml",
"sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.4"
},
"cli_completion": {
"dependency": "direct main",
"description": {
"name": "cli_completion",
"sha256": "72e8ccc4545f24efa7bbdf3bff7257dc9d62b072dee77513cc54295575bc9220",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.1"
},
"cli_config": {
"dependency": "transitive",
"description": {
"name": "cli_config",
"sha256": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.2.0"
},
"code_builder": {
"dependency": "transitive",
"description": {
"name": "code_builder",
"sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.11.1"
},
"collection": {
"dependency": "transitive",
"description": {
"name": "collection",
"sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.19.1"
},
"convert": {
"dependency": "transitive",
"description": {
"name": "convert",
"sha256": "b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.2"
},
"coverage": {
"dependency": "transitive",
"description": {
"name": "coverage",
"sha256": "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.15.0"
},
"crypto": {
"dependency": "transitive",
"description": {
"name": "crypto",
"sha256": "c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.7"
},
"dart_frog_gen": {
"dependency": "direct main",
"description": {
"name": "dart_frog_gen",
"sha256": "f706052ef3423f48e946dd3d794f522fd79d73874b8cf6fed0631ed4ffe69a89",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.0"
},
"dart_style": {
"dependency": "transitive",
"description": {
"name": "dart_style",
"sha256": "a4c1ccfee44c7e75ed80484071a5c142a385345e658fd8bd7c4b5c97e7198f98",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.8"
},
"equatable": {
"dependency": "direct main",
"description": {
"name": "equatable",
"sha256": "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.8"
},
"ffi": {
"dependency": "transitive",
"description": {
"name": "ffi",
"sha256": "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.0"
},
"file": {
"dependency": "transitive",
"description": {
"name": "file",
"sha256": "a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "7.0.1"
},
"fixnum": {
"dependency": "transitive",
"description": {
"name": "fixnum",
"sha256": "b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.1"
},
"frontend_server_client": {
"dependency": "transitive",
"description": {
"name": "frontend_server_client",
"sha256": "f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.0"
},
"glob": {
"dependency": "transitive",
"description": {
"name": "glob",
"sha256": "c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.3"
},
"graphs": {
"dependency": "transitive",
"description": {
"name": "graphs",
"sha256": "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.3.2"
},
"http": {
"dependency": "transitive",
"description": {
"name": "http",
"sha256": "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.6.0"
},
"http_multi_server": {
"dependency": "transitive",
"description": {
"name": "http_multi_server",
"sha256": "aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.2"
},
"http_parser": {
"dependency": "transitive",
"description": {
"name": "http_parser",
"sha256": "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.2"
},
"io": {
"dependency": "transitive",
"description": {
"name": "io",
"sha256": "dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.5"
},
"json_annotation": {
"dependency": "transitive",
"description": {
"name": "json_annotation",
"sha256": "cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.11.0"
},
"logging": {
"dependency": "transitive",
"description": {
"name": "logging",
"sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
},
"mason": {
"dependency": "direct main",
"description": {
"name": "mason",
"sha256": "515b28eedc3e106bbbfb95f0ff63471003396978d3413daeba0a64bcac01367b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.1.2"
},
"mason_logger": {
"dependency": "transitive",
"description": {
"name": "mason_logger",
"sha256": "1d46102c6f299c0df7fe986dd3dd3271d57c2ec7c00ae590660b7c3018810048",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.3.5"
},
"matcher": {
"dependency": "transitive",
"description": {
"name": "matcher",
"sha256": "dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.12.19"
},
"meta": {
"dependency": "direct main",
"description": {
"name": "meta",
"sha256": "df0c643f44ad098eb37988027a8e2b2b5a031fd3977f06bbfd3a76637e8df739",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.18.2"
},
"mime": {
"dependency": "transitive",
"description": {
"name": "mime",
"sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.0"
},
"mocktail": {
"dependency": "direct dev",
"description": {
"name": "mocktail",
"sha256": "5e1bf53cc7baa8062a33b84424deb61513858ea05c601b8509e683815b5914aa",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.5"
},
"mustache_template": {
"dependency": "transitive",
"description": {
"name": "mustache_template",
"sha256": "544ff0b837836f5ad6b351e7a676ff7c2cad4fa412c465908aeb9358caddb6fc",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.4"
},
"node_preamble": {
"dependency": "transitive",
"description": {
"name": "node_preamble",
"sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.2"
},
"package_config": {
"dependency": "transitive",
"description": {
"name": "package_config",
"sha256": "f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.0"
},
"path": {
"dependency": "direct main",
"description": {
"name": "path",
"sha256": "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.9.1"
},
"platform": {
"dependency": "transitive",
"description": {
"name": "platform",
"sha256": "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.6"
},
"pool": {
"dependency": "transitive",
"description": {
"name": "pool",
"sha256": "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.5.2"
},
"posix": {
"dependency": "transitive",
"description": {
"name": "posix",
"sha256": "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.5.0"
},
"process": {
"dependency": "transitive",
"description": {
"name": "process",
"sha256": "c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.0.5"
},
"pub_semver": {
"dependency": "transitive",
"description": {
"name": "pub_semver",
"sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.0"
},
"pub_updater": {
"dependency": "direct main",
"description": {
"name": "pub_updater",
"sha256": "739a0161d73a6974c0675b864fb0cf5147305f7b077b7f03a58fa7a9ab3e7e7d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.5.0"
},
"pubspec_parse": {
"dependency": "direct main",
"description": {
"name": "pubspec_parse",
"sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.5.0"
},
"shelf": {
"dependency": "transitive",
"description": {
"name": "shelf",
"sha256": "e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.2"
},
"shelf_packages_handler": {
"dependency": "transitive",
"description": {
"name": "shelf_packages_handler",
"sha256": "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.2"
},
"shelf_static": {
"dependency": "transitive",
"description": {
"name": "shelf_static",
"sha256": "c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.3"
},
"shelf_web_socket": {
"dependency": "transitive",
"description": {
"name": "shelf_web_socket",
"sha256": "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.0"
},
"source_map_stack_trace": {
"dependency": "transitive",
"description": {
"name": "source_map_stack_trace",
"sha256": "c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
},
"source_maps": {
"dependency": "transitive",
"description": {
"name": "source_maps",
"sha256": "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.10.13"
},
"source_span": {
"dependency": "transitive",
"description": {
"name": "source_span",
"sha256": "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.10.2"
},
"stack_trace": {
"dependency": "transitive",
"description": {
"name": "stack_trace",
"sha256": "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.12.1"
},
"stream_channel": {
"dependency": "transitive",
"description": {
"name": "stream_channel",
"sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.4"
},
"stream_transform": {
"dependency": "direct main",
"description": {
"name": "stream_transform",
"sha256": "ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.1"
},
"string_scanner": {
"dependency": "transitive",
"description": {
"name": "string_scanner",
"sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.1"
},
"term_glyph": {
"dependency": "transitive",
"description": {
"name": "term_glyph",
"sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.2"
},
"test": {
"dependency": "direct dev",
"description": {
"name": "test",
"sha256": "8d9ceddbab833f180fbefed08afa76d7c03513dfdba87ffcec2718b02bbcbf20",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.31.0"
},
"test_api": {
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "949a932224383300f01be9221c39180316445ecb8e7547f70a41a35bf421fb9e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.11"
},
"test_core": {
"dependency": "transitive",
"description": {
"name": "test_core",
"sha256": "1991d4cfe85d5043241acac92962c3977c8d2f2add1ee73130c7b286417d1d34",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.17"
},
"typed_data": {
"dependency": "transitive",
"description": {
"name": "typed_data",
"sha256": "f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.0"
},
"uuid": {
"dependency": "direct main",
"description": {
"name": "uuid",
"sha256": "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.5.3"
},
"vm_service": {
"dependency": "transitive",
"description": {
"name": "vm_service",
"sha256": "046d3928e16fa4dc46e8350415661755ab759d9fc97fc21b5ab295f71e4f0499",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "15.1.0"
},
"watcher": {
"dependency": "direct main",
"description": {
"name": "watcher",
"sha256": "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.1"
},
"web": {
"dependency": "transitive",
"description": {
"name": "web",
"sha256": "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.1"
},
"web_socket": {
"dependency": "transitive",
"description": {
"name": "web_socket",
"sha256": "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.1"
},
"web_socket_channel": {
"dependency": "transitive",
"description": {
"name": "web_socket_channel",
"sha256": "d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.0.3"
},
"webkit_inspection_protocol": {
"dependency": "transitive",
"description": {
"name": "webkit_inspection_protocol",
"sha256": "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.1"
},
"win32": {
"dependency": "transitive",
"description": {
"name": "win32",
"sha256": "d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "5.15.0"
},
"yaml": {
"dependency": "transitive",
"description": {
"name": "yaml",
"sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.3"
}
},
"sdks": {
"dart": ">=3.10.0 <4.0.0"
}
}
+61
View File
@@ -0,0 +1,61 @@
{
testers,
dart_frog_cli,
dart,
}:
let
testPkgName = "my_frog_project";
in
{
# Simple help check (Sanity test)
usage = testers.runCommand {
name = "dart-frog-usage-test";
buildInputs = [ dart_frog_cli ];
script = ''
export HOME=$TMPDIR
dart_frog --help > output.txt
if grep -q "Usage: dart_frog" output.txt; then
echo "Usage check passed "
touch $out
else
echo "Usage check failed "
exit 1
fi
'';
};
# Project creation test (Behavioral test)
create-project = testers.runCommand {
name = "dart-frog-create-test";
buildInputs = [
dart_frog_cli
dart
];
script = ''
export HOME=$TMPDIR
echo "🔨 Creating new Dart Frog project..."
dart_frog create ${testPkgName}
echo "---------------------------------------"
if [ -d "${testPkgName}" ] && [ -f "${testPkgName}/pubspec.yaml" ]; then
printf "%-20s %-15s %s\n" "Project Created:" "${testPkgName}" ""
printf "%-20s %-15s %s\n" "Pubspec Found:" "yes" ""
# Check if it generated the default route
if [ -f "${testPkgName}/routes/index.dart" ]; then
printf "%-20s %-15s %s\n" "Default Route:" "found" ""
fi
echo "---------------------------------------"
echo "Integration test passed successfully! 🚀"
touch $out
else
echo "Project generation failed! "
exit 1
fi
'';
};
}
+64
View File
@@ -0,0 +1,64 @@
{
writeShellApplication,
common-updater-scripts,
nix-update,
yq-go,
dart,
nix,
}:
let
name = "update-dart_frog_cli";
packageName = "dart_frog_cli";
packageDir = toString ./.;
in
writeShellApplication {
inherit name;
runtimeInputs = [
common-updater-scripts
nix-update
yq-go
dart
nix
];
text = ''
pname="''${UPDATE_NIX_PNAME:-${packageName}}"
main() {
old_version="''${UPDATE_NIX_OLD_VERSION:-$(get_version)}"
nix-update "$pname" --version stable --version-regex "$pname-v([0-9.]+(:?\\+[0-9]+)?)"
new_version=$(get_version)
if [[ "$new_version" == "$old_version" ]]; then
exit 0
fi
generate_lockfile
}
get_version() {
nix-instantiate --raw --eval --strict -A "$pname.version"
}
generate_lockfile() {
tmp_dir=$(mktemp -d)
trap 'rm -rf "$tmp_dir"' EXIT
src=$(nix-build --no-link . -A "$pname.src")
cp -r "$src/packages/$pname/." "$tmp_dir/"
chmod -R +w "$tmp_dir"
cd "$tmp_dir"
# Remove pubspec overrides as in the nix preBuild
rm pubspec_overrides.yaml
# Generate lockfile because it's not included in the source
if ! test -f pubspec.lock; then
dart pub get
fi
# Convert to JSON
yq -o=json . pubspec.lock > "${packageDir}/pubspec.lock.json"
}
main
'';
}