nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 87 lines 1.9 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 makeWrapper, 6 nodejs, 7 pnpm_10, 8 fetchPnpmDeps, 9 pnpmConfigHook, 10 testers, 11}: 12let 13 pnpm = pnpm_10; 14in 15stdenv.mkDerivation (finalAttrs: { 16 pname = "zenn-cli"; 17 version = "0.2.10"; 18 19 src = fetchFromGitHub { 20 owner = "zenn-dev"; 21 repo = "zenn-editor"; 22 tag = finalAttrs.version; 23 hash = "sha256-wItKDLAJHIyxUUaLIFM+sNYWtXKWC4P6GkCKn2Wh2JA="; 24 }; 25 26 nativeBuildInputs = [ 27 nodejs 28 pnpmConfigHook 29 pnpm_10 30 makeWrapper 31 ]; 32 33 pnpmWorkspaces = [ "zenn-cli..." ]; 34 35 pnpmDeps = fetchPnpmDeps { 36 inherit (finalAttrs) 37 pname 38 version 39 src 40 pnpmWorkspaces 41 ; 42 pnpm = pnpm_10; 43 fetcherVersion = 1; 44 hash = "sha256-WXsS5/J08n/dWV5MbyX4vK7j1mfiUoLdzwmzyqoX3FA="; 45 }; 46 47 preBuild = '' 48 echo VITE_EMBED_SERVER_ORIGIN="https://embed.zenn.studio" > packages/zenn-cli/.env 49 ''; 50 51 buildPhase = '' 52 runHook preBuild 53 54 pnpm build --no-daemon 55 56 runHook postBuild 57 ''; 58 59 installPhase = '' 60 runHook preInstall 61 62 mkdir -p $out/{bin,lib/packages} 63 rm -r node_modules packages/zenn-cli/node_modules 64 pnpm install --filter=zenn-cli --prod --ignore-scripts 65 cp -r node_modules $out/lib 66 cp -r packages/zenn-cli $out/lib/packages/zenn-cli 67 68 makeWrapper "${lib.getExe nodejs}" "$out/bin/zenn" \ 69 --add-flags "$out/lib/packages/zenn-cli/dist/server/zenn.js" 70 71 runHook postInstall 72 ''; 73 74 passthru = { 75 tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; 76 }; 77 78 meta = { 79 description = "Preview Zenn content locally"; 80 homepage = "https://github.com/zenn-dev/zenn-editor"; 81 changelog = "https://github.com/zenn-dev/zenn-editor/releases/tag/${finalAttrs.version}"; 82 license = lib.licenses.mit; 83 maintainers = with lib.maintainers; [ natsukium ]; 84 mainProgram = "zenn"; 85 platforms = nodejs.meta.platforms; 86 }; 87})