pipe-dream/docs
September 17, 2019 ยท View on GitHub
Platform overview
The bulk of Pipe Dream lives in pipe-dream/core. In addition, each language implementation has two repositories - one for logic, and one for package distribution
Repositories
| repo | summary |
|---|---|
pipe-dream/core | Interfaces, base classes, vue components and more |
pipe-dream/laravel-file-factory | Logic specific to Laravel |
pipe-dream/laravel-create | A Laravel Package distributed with composer/packagist |
... | ... |
pipe-dream/<language>-file-factory | Logic specific to <language> |
pipe-dream/<language>-create | Package (npm/gem/pip ...) |
Overview
Pipe Dream development guide
Using Laravel as example.
1. Install the core
git clone git@github.com:pipe-dream/core.git
cd core
yarn
Still in the corefolder, prepare a link (so the other repos can access your local version of core)
yarn link
2. Install laravel-file-factory
git clone git@github.com:pipe-dream/laravel-file-factory.git
cd laravel-file-factory
yarn link @pipe-dream/core
yarn
Create a link for this repo as well
yarn link
3. Setup a host app and the Laravel package:
Create a fresh laravel project to act as host app:
laravel new pd-host
cd pd-host
Add our Laravel package in a dedicated folder:
mkdir -p packages/PipeDream
cd packages/PipeDream
git clone git@github.com:pipe-dream/laravel-create.git LaravelCreate
cd LaravelCreate
composer install
yarn link @pipe-dream/core
yarn link @pipe-dream/laravel-file-factory
yarn
Add namespace to pd-host/composer.json:
"autoload": {
"psr-4": {
"App\\": "app/",
"PipeDream\\LaravelCreate\\": "packages/PipeDream/LaravelCreate/src"
},
And in the providers array of pd-host/config/app.php add:
/*
* Package Service Providers...
*/
PipeDream\LaravelCreate\LaravelCreateServiceProvider::class,
Finally, you probably want to open up the three repos in three separate editors as well as terminal tabs to build it
| repo | build |
|---|---|
core | yarn build --watch |
laravel-file-factory | yarn watch |
laravel-create | yarn watch |
Changes to core, laravel-file-factory and to the laravel-create package itself should now instantly reflect when visiting pd-host.test/pipe-dream
Happy coding!