{"id":13499881,"url":"https://github.com/HaxeFoundation/haxelib","last_synced_at":"2025-03-29T05:32:34.552Z","repository":{"id":1070869,"uuid":"8782580","full_name":"HaxeFoundation/haxelib","owner":"HaxeFoundation","description":"The Haxe library manager","archived":false,"fork":false,"pushed_at":"2024-08-26T15:46:16.000Z","size":3824,"stargazers_count":172,"open_issues_count":128,"forks_count":76,"subscribers_count":26,"default_branch":"development","last_synced_at":"2024-08-26T18:38:04.593Z","etag":null,"topics":["haxe","haxelib-client","haxelib-server","package-manager"],"latest_commit_sha":null,"homepage":"https://lib.haxe.org/","language":"Haxe","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/HaxeFoundation.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"open_collective":"haxe","custom":["https://haxe.org/foundation/support-plans.html","https://haxe.org/foundation/donate.html"]}},"created_at":"2013-03-14T18:38:33.000Z","updated_at":"2024-08-26T15:46:22.000Z","dependencies_parsed_at":"2023-11-19T16:31:23.689Z","dependency_job_id":"ca05d412-a0d9-4889-8eda-7f620ecc5b51","html_url":"https://github.com/HaxeFoundation/haxelib","commit_stats":{"total_commits":1440,"total_committers":56,"mean_commits":"25.714285714285715","dds":0.6409722222222223,"last_synced_commit":"98637027327d8cf385d302acaaf104bd6107d2bf"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fhaxelib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fhaxelib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fhaxelib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HaxeFoundation%2Fhaxelib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HaxeFoundation","download_url":"https://codeload.github.com/HaxeFoundation/haxelib/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222465690,"owners_count":16989059,"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":["haxe","haxelib-client","haxelib-server","package-manager"],"created_at":"2024-07-31T22:00:45.395Z","updated_at":"2024-10-31T18:31:18.367Z","avatar_url":"https://github.com/HaxeFoundation.png","language":"Haxe","funding_links":["https://opencollective.com/haxe","https://haxe.org/foundation/support-plans.html","https://haxe.org/foundation/donate.html"],"categories":["Haxe"],"sub_categories":[],"readme":"# Haxelib: library manager for Haxe\n\nHaxelib is a library management tool shipped with the [Haxe Toolkit](https://haxe.org/).\n\nIt allows searching, installing, upgrading and removing libraries from the [haxelib repository](https://lib.haxe.org/) as well as submitting libraries to it.\n\nFor more documentation, please refer to https://lib.haxe.org/documentation/\n\n## Development info\n\n### Running the haxelib server for development\n\nThe server has to be compiled with Haxe 3.2.1+. It can be run in Apache using mod_neko / mod_tora.\n\nCurrently using [Earthly](https://earthly.dev/) and [Docker](https://www.docker.com/) is the simpliest way to build and run the server. It doesn't require setting up Apache or MySQL since everything is included in the containers. We would recommend to use the [Docker Platform](https://www.docker.com/products/docker) instead of the Docker Toolbox.\n\nTo build the server, run:\n\n```\nearthly +haxelib-server\n```\n\nTo start, run:\n\n```\ndocker-compose -f test/docker-compose.yml up -d\n```\n\nThe command above will copy the server source code and website resources into a container, compile it, and then start Apache to serve it.  To view the website, visit `http://localhost/` (or `http://$(docker-machine ip)/` if the Docker Toolbox is used).\n\nSince the containers will expose port 80 (web) and 3306 (MySQL), make sure there is no other local application listening to those ports. In case there is another MySQL instance listening to 3306, we will get an error similar to `Uncaught exception - mysql.c(509) : Failed to connect to mysql server`.\n\nTo stop the server, run:\n```\ndocker-compose -f test/docker-compose.yml down\n```\n\nIf we modify any of the server source code or website resources, we need to rebuild the image and replace the running container by issuing the commands as follows:\n```\nearthly +haxelib-server\ndocker-compose -f test/docker-compose.yml up -d\n```\n\nTo run haxelib client with this local server, prepend the arguments, `-R $SERVER_URL`, to each of the haxelib commands, e.g.:\n```\nneko bin/haxelib.n -R http://localhost/ search foo\n```\n\nTo run tests:\n```\nearthly --allow-privileged +ci-tests\n```\nNote that the earthly +ci-tests target will create and destroy its own database.\n\n### About this repo\n\nBuild files:\n\n* client.hxml: Build the current haxelib client.\n* client_tests.hxml: Build and run the client tests.\n* client_legacy.hxml: Build the haxelib client that works with Haxe 2.x.\n* server.hxml: Build the new website, and the Haxe remoting API.\n* server_tests.hxml: Build and run the new website tests.\n* server_each.hxml: Libraries and configs used by server.hxml and server_tests.hxml.\n* server_legacy.hxml: Build the legacy website.\n* integration_tests.hxml: Build and run tests that test haxelib client and server together.\n* package.hxml: Package the client as package.zip for submitting to the lib.haxe.org as [haxelib](https://lib.haxe.org/p/haxelib/).\n* prepare_tests.hxml: Package the test libs.\n* ci.hxml: Used by our CIs, TravisCI and AppVeyor.\n\nFolders:\n\n* /src/: Source code for the haxelib tool and the website, including legacy versions.\n* /bin/: The compile target for building the haxelib client, legacy client, and others.\n* /www/: The compile target (and supporting files) for the haxelib website (including legacy server)\n* /test/: Source code and files for testings.\n* /terraform/: Terraform module that defines the haxelib server (lib.haxe.org) infrastructure.\n\nOther files:\n\n* schema.json: JSON schema of haxelib.json.\n* deploy.json: Deploy configuration used by `haxelib run ufront deploy` for pushing the haxelib website to lib.haxe.org.\n* deploy_key.enc: Encrypted ssh private key for logging in to lib.haxe.org. Used by TravisCI.\n* Earthfile: [Earthly](https://earthly.dev/) build file for building an image for [Visual Studio Code Remote - Containers](https://code.visualstudio.com/docs/remote/containers) and an image for deploying to our infrastructure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHaxeFoundation%2Fhaxelib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHaxeFoundation%2Fhaxelib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHaxeFoundation%2Fhaxelib/lists"}