{"id":23709921,"url":"https://github.com/nxtlvlsoftware/setup-pmmp-phpstan-env-action","last_synced_at":"2026-02-06T10:30:22.061Z","repository":{"id":50283137,"uuid":"518680118","full_name":"NxtLvLSoftware/setup-pmmp-phpstan-env-action","owner":"NxtLvLSoftware","description":"GitHub action for downloading PocketMine-MP sources and providing default configs for PHPStan analysis.","archived":false,"fork":false,"pushed_at":"2023-01-30T17:31:48.000Z","size":14792,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-19T01:35:15.888Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/NxtLvLSoftware.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}},"created_at":"2022-07-28T02:55:33.000Z","updated_at":"2023-01-30T17:04:53.000Z","dependencies_parsed_at":"2023-02-16T10:01:07.785Z","dependency_job_id":null,"html_url":"https://github.com/NxtLvLSoftware/setup-pmmp-phpstan-env-action","commit_stats":{"total_commits":23,"total_committers":2,"mean_commits":11.5,"dds":"0.21739130434782605","last_synced_commit":"d3aeb0aaf5cb20960390e42d28fe2f0b04c57da4"},"previous_names":["nxtlvlsoftware/setup-pmmp-phpstan-env"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NxtLvLSoftware%2Fsetup-pmmp-phpstan-env-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NxtLvLSoftware%2Fsetup-pmmp-phpstan-env-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NxtLvLSoftware%2Fsetup-pmmp-phpstan-env-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NxtLvLSoftware%2Fsetup-pmmp-phpstan-env-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NxtLvLSoftware","download_url":"https://codeload.github.com/NxtLvLSoftware/setup-pmmp-phpstan-env-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239793636,"owners_count":19698026,"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":[],"created_at":"2024-12-30T18:58:55.081Z","updated_at":"2026-02-06T10:30:21.983Z","avatar_url":"https://github.com/NxtLvLSoftware.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Action nxtlvlsoftware/setup-pmmp-phpstan-env-action\n\nGitHub action for downloading [PocketMine-MP](https://github.com/pmmp/PocketMine-MP) sources and providing default configs for [PHPStan](https://github.com/phpstan/phpstan) analysis.\n\n| Action Input | Required | Default    | Description                                 |\n|--------------|----------|------------|---------------------------------------------|\n| install-path | false    | pocketmine | The path to install sources and configs to. |\n| pmmp-version | false    | latest     | The target PocketMine sources to install.   |\n\n## Included configurations\nThe action will install the contents of the [config](./config) directory to the installation path, making them available\nwhen running phpstan. We bundle custom rules from PocketMine to ensure provided API's are used correctly, and you can choose\nto use [phpstan-strict-rules](https://github.com/phpstan/phpstan-strict-rules) which is also provided.\n\n### [pocketmine.phpstan.neon.dist](./config/pocketmine.phpstan.neon.dist)\nInstalled to `pocketmine/phpstan/pocketmine.phpstan.neon.dist` by default.\n\nThis the most basic configuration that simply includes PocketMine's autoloader so classes and types are defined when running\nthe analysis. You could do this yourself but if using the default installation path simply include this file in your phpstan.neon\nfile.\n\n### [phpstan.neon.dist](./config/phpstan.neon.dist)\nInstalled to `pocketmine/phpstan/phpstan.neon.dist` by default.\n\nThis the most useful configuration and as such, is used by default. It includes the `pocketmine.phpstan.neon` file and sets\nup PocketMines custom rules to ensure code uses custom types and API's correctly.\n\n### [strict.phpstan.neon.dist](./config/phpstan.neon.dist)\nInstalled to `pocketmine/phpstan/strict.phpstan.neon.dist` by default.\n\nThis simply adds [phpstan-strict-rules](https://github.com/phpstan/phpstan-strict-rules) on-top of the [phpstan.neon.dist](./config/phpstan.neon.dist)\nconfiguration. If you don't want to use all the rules, it is possible to selectively enable them as described in the projects README.\nMake sure the autoload script in `vendor/autoload.php` is passed to phpstan via the CLI option, and all the rule classes will\nbe available (you cannot load the rules via a .neon config as phpstan internally resolves the rules for its container BEFORE the `bootstrapFiles` options are loaded.)\n\n\n## How to use:\nDownloads a PocketMine-MP.phar to the `install-path` and copy the provided default PHPStan configs:\n\n```yml\nname: My Workflow\non: [push]\njobs:\n  setup-pmmp-phpstan:\n    name: Setup PHPStan\n    runs-on: ubuntu-latest\n    steps:\n      - uses: nxtlvlsoftware/setup-pmmp-phpstan-env-action@v1\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        with:\n          pmmp-version: latest\n```\n\nForwarding the `$GIHUB_TOKEN` environment variable is required to properly configure PocketMine sources as we\ninteract with the GitHub API to fetch version information.\n\n## License\n`nxtlvlsoftware/setup-pmmp-phpstan-env-action` is open-sourced software licensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxtlvlsoftware%2Fsetup-pmmp-phpstan-env-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnxtlvlsoftware%2Fsetup-pmmp-phpstan-env-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnxtlvlsoftware%2Fsetup-pmmp-phpstan-env-action/lists"}