{"id":16283210,"url":"https://github.com/AngelMunoz/Perla","last_synced_at":"2025-10-25T10:31:17.595Z","repository":{"id":40406253,"uuid":"379402841","full_name":"AngelMunoz/Perla","owner":"AngelMunoz","description":"A cross-platform tool for unbundled front-end development that doesn't depend on Node or requires you to install a complex toolchain","archived":true,"fork":false,"pushed_at":"2024-01-09T20:30:26.000Z","size":2680,"stargazers_count":131,"open_issues_count":7,"forks_count":12,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2025-02-04T20:05:14.527Z","etag":null,"topics":["cli","dev-server","developer-tools","development","devtools","dotnet","dotnet-tool","esbuild-runner","fable","frontend","fsharp","hacktoberfest","perla","skypack"],"latest_commit_sha":null,"homepage":"https://perla-docs.web.app/","language":"F#","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/AngelMunoz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"daniel_tuna","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2021-06-22T21:16:34.000Z","updated_at":"2024-10-31T18:15:41.000Z","dependencies_parsed_at":"2023-11-18T07:24:09.205Z","dependency_job_id":"fd5eb661-b0e3-4dc1-9cb2-fca976fc1add","html_url":"https://github.com/AngelMunoz/Perla","commit_stats":null,"previous_names":["angelmunoz/finny","angelmunoz/perla"],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelMunoz%2FPerla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelMunoz%2FPerla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelMunoz%2FPerla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngelMunoz%2FPerla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AngelMunoz","download_url":"https://codeload.github.com/AngelMunoz/Perla/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238120414,"owners_count":19419767,"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":["cli","dev-server","developer-tools","development","devtools","dotnet","dotnet-tool","esbuild-runner","fable","frontend","fsharp","hacktoberfest","perla","skypack"],"created_at":"2024-10-10T19:12:50.110Z","updated_at":"2025-10-25T10:31:17.589Z","avatar_url":"https://github.com/AngelMunoz.png","language":"F#","funding_links":["https://ko-fi.com/daniel_tuna"],"categories":[],"sub_categories":[],"readme":"# Perla Dev Server [![wakatime](https://wakatime.com/badge/user/4537232c-b581-465b-9604-b10a55ffa7b4/project/d46e17c5-054e-4249-a2ab-4294d0e5e026.svg)](https://wakatime.com/badge/user/4537232c-b581-465b-9604-b10a55ffa7b4/project/d46e17c5-054e-4249-a2ab-4294d0e5e026)\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/AngelMunoz/Perla/tree/dev?quickstart=1) [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/AngelMunoz/Perla)\n\nPerla is a cross-platform single executable binary CLI Tool for a Development Server of Single Page Applications (like vite/webpack but no node required!).\n\n## Installation\n\nYou can install Perla manually by downloading the latest release from the [releases page](https://github.com/AngelMunoz/Perla/releases/latest) and adding it to your path.\n\nIf you prefer a more automated approach, you can use the provided install scripts, they're available on this repository for you to review the contents before running them.\n\nFor Linux or macOS, you can run the following command in your terminal:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AngelMunoz/Perla/dev/install.sh | bash\n```\n\nFor Windows (or Linux, MacOS if you've installed pwsh), you can use powershell to run the install script:\n\n```powershell\niwr https://raw.githubusercontent.com/AngelMunoz/Perla/dev/install.ps1 -UseBasicParsing | iex\n```\n\nIf you prefer to use the dotnet (global | local) tool, you can install it using the following command:\n\n```bash\ndotnet tool install --global Perla\n```\n\n\u003e **Note**: From `v1.0.0-rc-002` onwards, the dotnet tool requires `dotnet 10 preview 7 or above` to be installed as we leverage the new multi-rid nuget packaging. This is due the extra weight playwright puts over us by bundling nodejs for each target platform (win, linux, osx, and arch x64 and arm64) on net8 our nuget package goes over 400mb which is over the allowed size on NuGetUploads (they don't have this issue though 😜).\n\u003e\n\u003e We'll try to address this issue by splitting the testing support in a separate tool in the future if feasible.\n\u003e\n\u003e The install scripts and manual download from the releases page still work unchanged.\n\nOnce you're done with the installation, you can run `perla --help` to verify that the installation was successful.\n\n```\nDescription:\n  The Perla Dev Server!\n\nUsage:\n  Perla [command] [options] [[--] \u003cadditional arguments\u003e...]]\n\nOptions:\n  -?, -h, --help  Show help and usage information\n  --version       Show version information\n\nCommands:\n  create, generate, n, new \u003cname\u003e     Creates a new project based on the selected template if it exists\n  r, restore                          Restores the project dependencies from the perla.json file\n  a, add, i, install \u003cpackages\u003e       Adds a package to the project dependencies\n  remove, rm \u003cpackages\u003e               Removes a package from the project dependencies\n  list, ls                            Lists the current dependencies in a table or an npm style json string\n  s, serve, start                     Starts the development server and if fable projects are present it also takes care of it.\n  b, build                            Builds the SPA application for distribution\n  templates \u003cTemplateRepositoryName\u003e  Handles Template Repository operations such as list, add, update, and remove templates []\n  describe, ds \u003cproperties\u003e           Describes the perla.json file or it's properties as requested\n\nAdditional Arguments:\n  Arguments passed to the application that is being run.\n```\n\n## Existing tools\n\nIf you actually use and like nodejs, then you would be better taking a look at the tools that inspired this repository\n\n- [jspm](https://github.com/jspm/jspm-cli) - Import map handling, they are the best at manipulating import maps :heart:\n- [vite](https://vitejs.dev/)\n- [snowpack](https://www.snowpack.dev/)\n\nThese tools have a bigger community and rely on an even bigger ecosystem plus they support plugins via npm so if you're using node stick with them they are a better choice\nPerla's unbundled development was inspired by both snowpack and vite, CDN dependencies were inspired by snowpack's remote sources development\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAngelMunoz%2FPerla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAngelMunoz%2FPerla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAngelMunoz%2FPerla/lists"}