blob: e011c1494857339785eb2ea6a718b8bdd5bc68a3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# Shirabe

Shirabe is a port of [Composer](https://github.com/composer/composer), the dependency manager for PHP, written in Rust.
It aims at 100% compatibility with Composer, including the plugin API.
*WORK IN PROGRESS*: while full compatibility is the goal, the project is at an early stage and still has many incompatibilities and bugs. See [known incompatibilities](./docs/known-incompatibilities.md) for the differences that will remain intentionally.
## Plugins
Shirabe runs Composer plugins using the system-provided real PHP. The plugin API is partially implemented. The following plugins are verified to work:
* [phpstan/extension-installer](https://github.com/phpstan/extension-installer)
## Requirements
Building Shirabe requires:
* Rust toolchain
* Git
* PHP
* Composer
* Just (optional)
* Nix (optional)
* Direnv (optional)
Nix flake supported; use `nix develop` to enter the development shell.
## Build
```
$ git submodule update --init
$ composer install --no-dev --working-dir=composer
$ cargo build --release
```
### Nix
```
$ nix build
```
## Test
```
$ cargo test
```
## License
See [LICENSE.md](./LICENSE.md).
|