serverpod_cli: init at 3.3.1

This commit is contained in:
KristijanZic
2026-02-07 04:42:35 +01:00
parent c6279f5b26
commit edb06beb6e
3 changed files with 962 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
{
lib,
buildDartApplication,
fetchFromGitHub,
yq-go,
versionCheckHook,
writableTmpDirAsHomeHook,
}:
buildDartApplication rec {
pname = "serverpod_cli";
version = "3.3.1";
# Fetch the whole monorepo
src = fetchFromGitHub {
owner = "serverpod";
repo = "serverpod";
rev = version;
hash = "sha256-4vpZiqvzhcAziElfzssw4bLYTO5/dhai3C8LEpn0eAo=";
};
sourceRoot = "${src.name}/tools/serverpod_cli";
dartEntryPoints = {
"bin/serverpod" = "bin/serverpod_cli.dart";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
nativeBuildInputs = [ yq-go ];
nativeInstallCheckInputs = [
versionCheckHook
writableTmpDirAsHomeHook
];
doInstallCheck = true;
versionCheckKeepEnvironment = "HOME";
preBuild = ''
# Set productionMode to true.
substituteInPlace lib/src/generated/version.dart \
--replace-fail "const productionMode = false;" "const productionMode = true;"
# Remove the dependency_overrides section.
# Relative path overrides in the monorepo break the Nix build which expects
# all dependencies to be resolved via the lockfile.
yq -i 'del(.dependency_overrides)' pubspec.yaml
'';
passthru.updateScript = ./update.sh;
meta = with lib; {
mainProgram = "serverpod";
homepage = "https://serverpod.dev";
description = "Command line tools for Serverpod";
longDescription = ''
Serverpod is a next-generation app and web server,
built for the Flutter community.
It allows you to write your server-side code in Dart,
automatically generate your APIs, and hook up your
database with minimal effort. Serverpod is open-source,
and you can host your server anywhere.
'';
changelog = "https://raw.githubusercontent.com/serverpod/serverpod/${version}/CHANGELOG.md";
license = licenses.bsd3;
maintainers = with lib.maintainers; [ KristijanZic ];
};
}
@@ -0,0 +1,837 @@
{
"packages": {
"_fe_analyzer_shared": {
"dependency": "transitive",
"description": {
"name": "_fe_analyzer_shared",
"sha256": "796d97d925add7ffcdf5595f33a2066a6e3cee97971e6dbef09b76b7880fd760",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "94.0.0"
},
"analyzer": {
"dependency": "direct main",
"description": {
"name": "analyzer",
"sha256": "9c8ebb304d72c0a0c8764344627529d9503fc83d7d73e43ed727dc532f822e4b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "10.0.2"
},
"archive": {
"dependency": "direct main",
"description": {
"name": "archive",
"sha256": "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.7"
},
"args": {
"dependency": "direct main",
"description": {
"name": "args",
"sha256": "d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.7.0"
},
"async": {
"dependency": "direct main",
"description": {
"name": "async",
"sha256": "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.13.0"
},
"boolean_selector": {
"dependency": "transitive",
"description": {
"name": "boolean_selector",
"sha256": "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.2"
},
"built_collection": {
"dependency": "direct main",
"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": "7931c90b84bc573fef103548e354258ae4c9d28d140e41961df6843c5d60d4d8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "8.12.3"
},
"checked_yaml": {
"dependency": "transitive",
"description": {
"name": "checked_yaml",
"sha256": "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.4"
},
"ci": {
"dependency": "direct main",
"description": {
"name": "ci",
"sha256": "145d095ce05cddac4d797a158bc4cf3b6016d1fe63d8c3d2fbd7212590adca13",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.1.0"
},
"cli_config": {
"dependency": "transitive",
"description": {
"name": "cli_config",
"sha256": "ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.2.0"
},
"cli_tools": {
"dependency": "direct main",
"description": {
"name": "cli_tools",
"sha256": "af507d13e9522e207aeacddb1fcb84814f36eed46dd536010d1ee78ef0f99449",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.11.0"
},
"clock": {
"dependency": "transitive",
"description": {
"name": "clock",
"sha256": "fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.1.2"
},
"code_builder": {
"dependency": "direct main",
"description": {
"name": "code_builder",
"sha256": "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.11.1"
},
"collection": {
"dependency": "direct main",
"description": {
"name": "collection",
"sha256": "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.19.1"
},
"config": {
"dependency": "direct main",
"description": {
"name": "config",
"sha256": "7ab448e904baf3991878881be208b4298b2c1737852529238340dc780c575bda",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.8.4"
},
"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_mappable": {
"dependency": "transitive",
"description": {
"name": "dart_mappable",
"sha256": "0e219930c9f7b9e0f14ae7c1de931c401875110fd5c67975b6b9492a6d3a531b",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.6.1"
},
"dart_style": {
"dependency": "direct main",
"description": {
"name": "dart_style",
"sha256": "15a7db352c8fc6a4d2bc475ba901c25b39fe7157541da4c16eacce6f8be83e49",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.5"
},
"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"
},
"flutter_lints": {
"dependency": "transitive",
"description": {
"name": "flutter_lints",
"sha256": "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.0"
},
"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"
},
"http": {
"dependency": "direct main",
"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"
},
"intl": {
"dependency": "direct main",
"description": {
"name": "intl",
"sha256": "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.20.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": "805fa86df56383000f640384b282ce0cb8431f1a7a2396de92fb66186d8c57df",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.10.0"
},
"json_rpc_2": {
"dependency": "direct main",
"description": {
"name": "json_rpc_2",
"sha256": "3c46c2633aec07810c3d6a2eb08d575b5b4072980db08f1344e66aeb53d6e4a7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.0.0"
},
"lints": {
"dependency": "transitive",
"description": {
"name": "lints",
"sha256": "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.1.0"
},
"logging": {
"dependency": "transitive",
"description": {
"name": "logging",
"sha256": "c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.3.0"
},
"lsp_server": {
"dependency": "direct main",
"description": {
"name": "lsp_server",
"sha256": "81fc68ade179fa6a23b46354fe019e8d492a724548ec909657020db750e31376",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.4.0"
},
"matcher": {
"dependency": "transitive",
"description": {
"name": "matcher",
"sha256": "12956d0ad8390bbcc63ca2e1469c0619946ccb52809807067a7020d57e647aa6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.12.18"
},
"meta": {
"dependency": "direct main",
"description": {
"name": "meta",
"sha256": "9f29b9bcc8ee287b1a31e0d01be0eae99a930dbffdaecf04b3f3d82a969f296f",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.18.1"
},
"mime": {
"dependency": "transitive",
"description": {
"name": "mime",
"sha256": "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.0"
},
"node_preamble": {
"dependency": "transitive",
"description": {
"name": "node_preamble",
"sha256": "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.2"
},
"oauth2": {
"dependency": "transitive",
"description": {
"name": "oauth2",
"sha256": "890a032ba1b44fa8dcfeba500e613df0ecbe16aeace13bb0fe1d25eb42cda5b8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.5"
},
"package_config": {
"dependency": "direct main",
"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"
},
"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": "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "6.0.3"
},
"pub_api_client": {
"dependency": "direct main",
"description": {
"name": "pub_api_client",
"sha256": "bb0338393897235fdf689551e2b49b13e24b432b2da559b00229e784d9a5e680",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.2.0"
},
"pub_semver": {
"dependency": "direct main",
"description": {
"name": "pub_semver",
"sha256": "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.0"
},
"pubspec_parse": {
"dependency": "direct main",
"description": {
"name": "pubspec_parse",
"sha256": "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.5.0"
},
"recase": {
"dependency": "direct main",
"description": {
"name": "recase",
"sha256": "e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.1.0"
},
"rfc_6901": {
"dependency": "transitive",
"description": {
"name": "rfc_6901",
"sha256": "6a43b1858dca2febaf93e15639aa6b0c49ccdfd7647775f15a499f872b018154",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.2.1"
},
"serverpod_client": {
"dependency": "transitive",
"description": {
"name": "serverpod_client",
"sha256": "e936d6fa951f548cf2a16f75a526d645162c3b88437ff57550fb596835266a00",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.3.1"
},
"serverpod_lints": {
"dependency": "direct dev",
"description": {
"name": "serverpod_lints",
"sha256": "610e7c69109e412891ba2a4d2fe6cd70c0d5f01c39873471fcc2c3ca52e5c25e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.3.1"
},
"serverpod_serialization": {
"dependency": "direct main",
"description": {
"name": "serverpod_serialization",
"sha256": "b1422d3e99a26e8c5fc9cf09785cb2f6c10713cb08d46b2b86dd7054e9e7decd",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.3.1"
},
"serverpod_service_client": {
"dependency": "direct main",
"description": {
"name": "serverpod_service_client",
"sha256": "b70fa027dfea546835864d24e3bb712394876d612bbb48e1729cb480f0393480",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.3.1"
},
"serverpod_shared": {
"dependency": "direct main",
"description": {
"name": "serverpod_shared",
"sha256": "01a9dbf24f1e6c61d90c606cba3c40ec3582f3ef3c477fa159f4c70126d548b4",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.3.1"
},
"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": "direct main",
"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": "direct main",
"description": {
"name": "stream_channel",
"sha256": "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.4"
},
"string_scanner": {
"dependency": "transitive",
"description": {
"name": "string_scanner",
"sha256": "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.4.1"
},
"super_string": {
"dependency": "direct main",
"description": {
"name": "super_string",
"sha256": "ba41acf9fbb318b3fc0d57c9235779100394d85d83f45ab533615df1f3146ea7",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.0.3"
},
"term_glyph": {
"dependency": "direct dev",
"description": {
"name": "term_glyph",
"sha256": "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.2.2"
},
"test": {
"dependency": "direct dev",
"description": {
"name": "test",
"sha256": "54c516bbb7cee2754d327ad4fca637f78abfc3cbcc5ace83b3eda117e42cd71a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "1.29.0"
},
"test_api": {
"dependency": "transitive",
"description": {
"name": "test_api",
"sha256": "93167629bfc610f71560ab9312acdda4959de4df6fac7492c89ff0d3886f6636",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.7.9"
},
"test_core": {
"dependency": "transitive",
"description": {
"name": "test_core",
"sha256": "394f07d21f0f2255ec9e3989f21e54d3c7dc0e6e9dbce160e5a9c1a6be0e2943",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "0.6.15"
},
"test_descriptor": {
"dependency": "direct dev",
"description": {
"name": "test_descriptor",
"sha256": "9ce468c97ae396e8440d26bb43763f84e2a2a5331813ee5a397cb4da481aaf9a",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.0.2"
},
"type_plus": {
"dependency": "transitive",
"description": {
"name": "type_plus",
"sha256": "d5d1019471f0d38b91603adb9b5fd4ce7ab903c879d2fbf1a3f80a630a03fcc9",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.1.1"
},
"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": "a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "4.5.2"
},
"vm_service": {
"dependency": "transitive",
"description": {
"name": "vm_service",
"sha256": "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "15.0.2"
},
"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"
},
"yaml": {
"dependency": "direct main",
"description": {
"name": "yaml",
"sha256": "b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "3.1.3"
},
"yaml_edit": {
"dependency": "direct main",
"description": {
"name": "yaml_edit",
"sha256": "07c9e63ba42519745182b88ca12264a7ba2484d8239958778dfe4d44fe760488",
"url": "https://pub.dev"
},
"source": "hosted",
"version": "2.2.4"
}
},
"sdks": {
"dart": ">=3.9.0 <4.0.0"
}
}
+56
View File
@@ -0,0 +1,56 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p coreutils jq yq-go git nix-prefetch-github common-updater-scripts dart
set -euo pipefail
PACKAGE_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
NIX_FILE="$PACKAGE_DIR/package.nix"
echo "Checking for latest serverpod version..."
latest_version=$(git ls-remote --tags https://github.com/serverpod/serverpod.git | \
grep -v "\^{}" | \
cut -f2 | \
sed 's/refs\/tags\///' | \
grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | \
sort -V | \
tail -n 1)
current_version=$(sed -n 's/^[[:space:]]*version = "\(.*\)";/\1/p' "$NIX_FILE")
if [[ "$latest_version" == "$current_version" ]]; then
echo "serverpod_cli is already up to date ($current_version)"
exit 0
fi
echo "Updating serverpod_cli from $current_version to $latest_version"
echo "Prefetching source for $latest_version..."
PREFETCH_OUT=$(nix-prefetch-github serverpod serverpod --rev "$latest_version")
echo "Prefetch output: $PREFETCH_OUT"
new_hash=$(echo "$PREFETCH_OUT" | jq -r .hash)
echo "New hash: $new_hash"
update-source-version serverpod_cli "$latest_version" "$new_hash" --version-key=version --file="$NIX_FILE"
echo "Generating fresh pubspec.lock.json..."
TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT
src=$(nix-build --no-link . -A serverpod_cli.src)
cp -r "$src/tools/serverpod_cli/"* "$TMPDIR/"
chmod -R +w "$TMPDIR"
cd "$TMPDIR"
# Remove dependency_overrides as in the nix build
yq -i 'del(.dependency_overrides)' pubspec.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 > "$PACKAGE_DIR/pubspec.lock.json"
echo "Update complete: $current_version -> $latest_version"