Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rockylars/packagefiles
Small PHP package to tell you which of your files/folders will go in your Composer package
https://github.com/rockylars/packagefiles
composer composer-package package php tests
Last synced: 20 days ago
JSON representation
Small PHP package to tell you which of your files/folders will go in your Composer package
- Host: GitHub
- URL: https://github.com/rockylars/packagefiles
- Owner: Rockylars
- License: mit
- Created: 2024-02-06T17:48:44.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-05-28T22:50:42.000Z (5 months ago)
- Last Synced: 2024-05-29T12:51:17.283Z (5 months ago)
- Topics: composer, composer-package, package, php, tests
- Language: PHP
- Homepage:
- Size: 133 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### Introduction
This little script can be used to quickly see what will be included when you turn your project into a Composer package and release a new version.
Only in PHP, as I only work in that, but it's so small that you're free to replicate it.### History
This was designed when making [Faker](https://github.com/Rockylars/Faker) an open source package, as I didn't see anyone make this before.
It's simple and quite handy, just tells you what will go in, though only cares about top level searches at the moment.### Usage
Simply call this from your a test you put down in your Unit tests folder, or just the tests folder if you only got that.### Future
I plan to upgrade this to eventually do all the magical and recursive depth searches, but that's usually far out of scope for my projects anyways.### Examples
```php
self::assertSame(
[
'LICENSE',
'README.md',
'composer.json',
'src'
],
PackageParser::simplePackageSearch(__DIR__ . 'path to the root')
);
```### Set up the project for commits on Linux
1. Have Docker functional, you don't need an account for this.
2. Have a GitHub account (obviously) for commits.
3. Get an SSH token set up (preferably id_ed25519) and hooked up to your GitHub account.
- If not, you won't be able to pull/push anything properly.
4. Get the project downloaded and `cd` into the folder.
- If you plan to make any PR's and don't have rights, make a fork first, grab that, and then attempt to merge PR's of that in.
5. Make sure that running `git config --global --list` and `git config --list` both show `user.email=YOUR_GITHUB_EMAIL`
and `user.name=YOUR_GITHUB_USER_NAME`.
- If not, here's the steps to fix it:
- Set the value for the project and unset the one for local, otherwise set it for local only.
- Your commits won't link to an account if this is not done.
6. Make sure that running `groups` shows `docker` in it.
- If not, here's the steps to fix it:
- run `sudo usermod -aG docker $USER` and then reboot your PC.
- You won't be able to run the needed Docker commands if this is not done.
7. Make sure that running `ls -la ~/.composer` shows your user instead of `root` for `.`.
- If not, here's the steps to fix it:
- Run `sudo chown -R $USER:$USER ~/.composer`.
- You won't be able to store library authentication and Composer cache if this is not done.
8. Have the `make` extension installed.
9. Run `make setup` and you're done.[Optional] Get access to private repositories you have access to on GitHub:
10. Generate an access token in GitHub with just the Repo permissions.
11. Run `make composer` and add `config --global github-oauth.github.com YOUR_GENERATED_TOKEN`.