{"id":15647435,"url":"https://github.com/kant2002/fsharppacker","last_synced_at":"2025-04-06T07:10:18.797Z","repository":{"id":69640931,"uuid":"539130480","full_name":"kant2002/FSharpPacker","owner":"kant2002","description":"Packs FSX files into executable","archived":false,"fork":false,"pushed_at":"2025-01-01T13:15:01.000Z","size":77,"stargazers_count":110,"open_issues_count":3,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-30T06:08:43.473Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kant2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-20T18:14:32.000Z","updated_at":"2025-03-26T20:21:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"4093d62a-3124-4b0f-8ca0-30d35b9fa34d","html_url":"https://github.com/kant2002/FSharpPacker","commit_stats":{"total_commits":43,"total_committers":3,"mean_commits":"14.333333333333334","dds":"0.13953488372093026","last_synced_commit":"9e83ab226634d972c7cf03434a75042a384988ec"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFSharpPacker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFSharpPacker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFSharpPacker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kant2002%2FFSharpPacker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kant2002","download_url":"https://codeload.github.com/kant2002/FSharpPacker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445669,"owners_count":20939958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2024-10-03T12:19:25.737Z","updated_at":"2025-04-06T07:10:18.765Z","avatar_url":"https://github.com/kant2002.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿FSharp Packer\n=============\n\nThis tool allows package FSX files as self-contained executables.\n\nInstallation:\n\n```shell\ndotnet tool install --global FSharpPacker\n```\n\n### [Nix](https://nixos.org/manual/nix/stable/) (Nix/NixOS)\n\nNix w/ [Flakes](https://nixos.wiki/wiki/Flakes)\n```\nnix profile install github:kant2002/FSharpPacker\n```\n\nRun without installing\n```\nnix run github:kant2002/FSharpPacker -- --help\n```\n\n# Usage\n\nUSAGE: `fspack \u003cfile\u003e [--help] [--framework \u003cframework\u003e] [--verbose] [--noselfcontained] [--aot] `\n\nFILE:\n\n    \u003cfile\u003e                .fsx file to convert to executable file\n\nOPTIONS:\n\n    --framework, -f \u003cframework\u003e\n                          Specify target framework (e.g. net6.0)\n    --verbose, -v         Verbose output\n    --noselfcontained, -nsc\n                          Don't publish as self-contained (with dotnet runtime included)\n    --singefile, -sf      Produce single file\n    --aot, -aot           Enable AOT-compilation\n    --projectref [\u003cprojectReferences\u003e...]\n                          Add project references to the script, so you can use classes from them\n    --help                display this list of options.\n\n\n**Please note that the app is produced as self-contained by default.**\n\n\n\nSimple usage:\n\n```shell\nfspack fsx-file.fsx [\u003cadditional arguments to dotnet publish\u003e]\n```\n\nFor example:\n```shell\nfspack FSharpPacker.Tests\\Samples\\LoadFile.fsx -o test -r win-x64\ntest\\LoadFile.exe\n```\n\nfor AOT build\n```shell\nfspack FSharpPacker.Tests\\Samples\\LoadFile.fsx -aot -o test-aot -r win-x64 -f net7.0\ntest-aot\\LoadFile.exe\n```\n\nSelf-contained with dotnet 7 and a single-file executable:\n```shell\nfspack FSharpPacker.Tests/Samples/LoadFile.fsx  -o test-single-file -r win-x64 -f net7.0 -sf -p:EnableCompressionInSingleFile=true\ntest-single-file\\LoadFile.exe\n```\n\n## Extensions\n\nYou can specify project reference using `--projectref` option. There can be more then one project references.\nAlso script now supported [DependencyManager.FsProj](https://github.com/ThisFunctionalTom/DependencyManager.FsProj) extension which allow you specify `#r \"fsproj: test.fsproj\"` inside FSX file.\n\n# Supported FSX directives\n\n| Directive | Status  | Notes |\n| --------- | ------- | ----- \n| #load     | :white_check_mark: | |\n| #r \"path\\file.dll\"     | :white_check_mark: | |\n| #r \"nuget: package\"     | :white_check_mark: | |\n| #r \"nuget: package, version\"     | :white_check_mark: | |\n| #r \"fsproj: custom-path-search-hint\"     | :white_large_square: | |\n| #load     | :white_check_mark: | |\n| #i \"nuget: source-feed\"     | :white_check_mark: | |\n| #quit     | :white_check_mark: | |\n| #r \"custom: custom-path\"     | :white_large_square: | This is tricky and require deep involvement with FSharp.Compiler.Services |\n| #I \"custom: custom-path-search-hint\"     | :white_large_square: | |\n\n# Ignored FSX directives\n\n| Directive | \n| --------- | \n| #help     | \n| #time     | \n\n# Producing Nuget package\n\n```shell\ndotnet pack FSharpPacker.FSharp -c Release\ndotnet tool install FSharpPacker --global --add-source FSharpPacker.FSharp\\bin\\Release\\ \n```\n\n```shell\ndotnet tool uninstall -g FSharpPacker\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkant2002%2Ffsharppacker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkant2002%2Ffsharppacker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkant2002%2Ffsharppacker/lists"}