The LUYA DEV ENV repo helps you developing new extension and modules or making pull requests to the luya core repos.
Before installing the env dev project, fork the repos you like to work with.
- Create project into your workspace
composer create-project luyadev/luya-env-dev
a. When askedDo you want to remove the existing VCS (.git, .svn..) history?
- answer withY
,Yes
. - Run init command
./vendor/bin/luyadev repo/init
- Rename
env.php.dist
toenv.php
and modify your Database connection component to match your local env settings. - Execute commands
./luya migrate
,./luya import
,./luya admin/setup
,./luya health
. - Access
public_html
on your webserver.
To fetch the upstream for all forked modules from the repos
folder run:
./vendor/bin/luyadev repo/update
Make sure you push each module after update to get your remote fork even with the upstream.
Its highly recommend to leave the master branch of the modules untouched to ensure that rebasing works properly. Always create a new branch to work on it.
For all the FORKED repos (not the read only repos) you can now make changes directly in the repos/
folder. Assuming you want to make a change in the luya-admin-module which you have forked to your account:
- Go into the luya-module-admin
cd /repos/luya-module-admin
. - Create new branch and commit your changes
git branch my-fix
go into branchgit checkout my-fix
. - Make your changes and add them
git add .
and commitgit commit -m 'Added something ...'
. - Push branch to your fork
git push origin my-fix
. - Create pull request from GitHub.
In order to run your tests for the repo please keep in mind that first of all you have to run composer install
in the root of the repo (e.g. replos/luya-admin-module
) to install all dependencies afterwards run ./vendor/bin/phpunit tests
in the root of the repo to run the tests in the tests-folder.
- Clone your repo into the repos folder with
./vendor/bin/luyadev repo/clone USERNAME/REPO_NAME
. - Create a
Module.php
file accordingly to the LUYA guide specifications. - Adding your module via psr-4 binding to your
composer.json
at the autoload section from luya-env-dev root directory. - Run
composer dump-autoload
for luya-env-dev. - Include your module in
configs/env.php
.
If you would like to use the
@bower
alias inside your own module to include dependencies fromvendor/bower
keep in mind that dependecies need to be installed via composer inside your luya-env-dev root directory.
Please keep in mind that all modules and extensions are treated as independent projects, so do not forget to run in the root directory of the module composer install
and probably npm install
in the /resources
directories of modules to download all needed dependencies.