All Projects → Cotya → Magento Composer Installer

Cotya / Magento Composer Installer

Composer installer for Magento modules

Projects that are alternatives of or similar to Magento Composer Installer

Url Rewrites
Magento 1.x module to target the URL Rewrite issue
Stars: ✭ 17 (-91.67%)
Mutual labels:  magento, composer
Hookphp
HookPHP基于C扩展搭建内置AI编程的架构系统-支持微服务部署|热插拔业务组件-集成业务模型|权限模型|UI组件库|多模板|多平台|多域名|多终端|多语言-含常驻内存|前后分离|API平台|LUA QQ群:679116380
Stars: ✭ 575 (+181.86%)
Mutual labels:  magento, composer
Securityadvisories
🔐 Security advisories as a simple composer exclusion list, updated daily
Stars: ✭ 2,279 (+1017.16%)
Mutual labels:  composer
Laravel Shield
A HTTP basic auth middleware for Laravel
Stars: ✭ 193 (-5.39%)
Mutual labels:  composer
Wpstarter
Easily bootstrap whole site Composer packages for WordPress.
Stars: ✭ 182 (-10.78%)
Mutual labels:  composer
Security Checker
PHP frontend for security.symfony.com
Stars: ✭ 2,036 (+898.04%)
Mutual labels:  composer
Mage2vuestorefront
Magento to Vue-storefront datapump - synchronizes Products, Categories and Product-to-category links between your Magento2 API and NoSQL database of vue-storefront
Stars: ✭ 183 (-10.29%)
Mutual labels:  magento
Imall
基于Laravel5.2,Vue.js1.0的微信商城,用于熟悉 Laravel、Vuejs、Webpack、Gulp 的结合使用,已不维护及更新。(1MB单核基础服务器,浏览请耐心等待图片加载...)
Stars: ✭ 168 (-17.65%)
Mutual labels:  composer
Ecommwar
A leaderboard of the top open-source e-commerce platforms. Promoting the bests for building reliable stores.
Stars: ✭ 203 (-0.49%)
Mutual labels:  magento
Magento Mysql
Magento default mysql settings
Stars: ✭ 180 (-11.76%)
Mutual labels:  magento
Nebula
Nebula is a minimalistic and easy to use administration tool for Laravel applications, made with Laravel, Alpine.js, and Tailwind CSS.
Stars: ✭ 190 (-6.86%)
Mutual labels:  composer
Docker
Composer in Docker
Stars: ✭ 180 (-11.76%)
Mutual labels:  composer
Composer Preload
Preload your sweet sweet code to opcache with a composer command, making your code faster to run.
Stars: ✭ 173 (-15.2%)
Mutual labels:  composer
Alidayu
阿里大于(鱼)API接口-SDK
Stars: ✭ 186 (-8.82%)
Mutual labels:  composer
Laravel Messenger
Simple user messaging package for Laravel
Stars: ✭ 2,140 (+949.02%)
Mutual labels:  composer
Composer Patches
Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and composer command for testing/troubleshooting patches.
Stars: ✭ 196 (-3.92%)
Mutual labels:  composer
Docker Compose Development
Clone and `bin/dev up`. Quickly start of developing locally with Nginx, PHP, Blackfire, Percona, Mailhog and Redis. Out of the box support for Magento2 Developer Box
Stars: ✭ 171 (-16.18%)
Mutual labels:  magento
Composer Service
Composer as a service
Stars: ✭ 175 (-14.22%)
Mutual labels:  composer
Plus
💝The Plus (ThinkSNS+) is a powerful, easy-to-develop social system built with Laravel.
Stars: ✭ 2,148 (+952.94%)
Mutual labels:  composer
Ourls
url shorten service/短网址服务
Stars: ✭ 203 (-0.49%)
Mutual labels:  composer

Build Status Windows Build status Scrutinizer Code Quality Code Coverage Bountysource

!!! support the maintainer of this project via Patreon: https://www.patreon.com/Flyingmana

Become a Patreon

Magento Composer Installer

The purpose of this project is to enable composer to install Magento modules, and automatically integrate them into a Magento installation and add Composer's vendor autoloader ability to Magento's so that Composer-compatible 3rd party tools can be used.

If you want to install the Magento Core, you should try AydinHassan/magento-core-composer-installer as an additional plugin.

We strongly recommend you to also read the general composer documentation at getcomposer.org

Also you should see:

Magento 2

Congratulation to be working with Magento 2. Don't try to use it together with this project. Your princess is in another Castle

Project Details

This project only covers the custom installer for composer. If you have problems with outdated versions, need to install magento connect modules or similar, you need to look for packages.firegento.com which you probably should add as composer repository (globally)

composer config -g repositories.firegento composer https://packages.firegento.com

supported PHP Versions

We don't officially support PHP versions which are End of Life means which they don't get security patches anymore. Even if the install requirement still allows them.
This will change, as soon as someone is willing to pay for supporting them.

support contacts

If you have problems please have patience, as normal support is done during free time.
If you are willing to pay to get your problem fixed, communicate this from the start to get faster responses.

If you need consulting, support, training or help regarding Magento and Composer, you have the chance to hire one of the following people/companies.

other support contacts

  • irc: freenode the channels #magento-composer #magento-reddit and for german speaking people #magento-de
  • twitter: @firegento

changelog

See CHANGELOG.md.

=======

Known issues

need to redeploy packages

earlier we suggested the use of the command integrator package, that is not needed anymore. composer.phar run-script post-install-cmd -vvv -- --redeploy
This does remove all deployed files and redeploys every module

using non default autoloading

we handle this topic in our FAQ.

Timeouts and slow downloading.

Mostly caused by outages of Github, Repositories or the Internet. This is a common problem with having all packages remote.

For all of this issues you can make use of the commercial Toran Proxy. It also allows hosting of private packages and speeds up the whole downloading process.

Another alternative is to look into Satis, bare git mirrors and repository aliasing.

Another way to speedup downloads over ssh (also interesting for satis users) is to improve your ssh configs. At least for newer versions of openSSH you can add the following to your .ssh/config to reuse previous connections.

Host * 
    ControlPath ~/.ssh/controlmasters/%[email protected]%h:%p
    ControlMaster auto
    ControlPersist 10m

also you need to create the controlmasters directory:

mkdir ~/.ssh/controlmasters
chmod go-xr ~/.ssh/controlmasters

further information can be found on wikibooks

Usage

Update the Installer

as this is a composer plugin, you should only use these two commands to update the installer

composer require --no-update  magento-hackathon/magento-composer-installer="3.2.*"
composer update --no-plugins --no-scripts magento-hackathon/magento-composer-installer

the second command needs maybe a --with-dependencies
Depending on your workflow with composer, you may want to use more explicit versions

Install a module in your project

make sure to use the public Magento module repository as composer repository:

composer config -g repositories.firegento composer https://packages.firegento.com

configure your magento root dir, the directory where your magento resides:
composer config extra.magento-root-dir "htdocs/"

an example how your project composer.json could look like:

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.firegento.com"
        }
    ],
    "extra":{
        "magento-root-dir": "htdocs/"
    }
}

Auto add files to .gitignore

If you want to have the deployed files automatically added to your .gitignore file, then you can just set the auto-append-gitignore key to true:

{
    "extra":{
        "magento-root-dir": "htdocs/",
        "auto-append-gitignore": true
    }
}

The .gitignore file will be loaded from the current directory, and if it does not exist, it will be created. Every set of module files, will have a comment above them describing the module name for clarity.

Multiple deploys will not add additional lines to your .gitignore, they will only ever be added once.

Adding Composer's autoloader to Magento

Documentation available here.

Overwriting a production setting (DevMode)

{
    "extra":{
        "magento-deploystrategy": "copy",
        "magento-deploystrategy-dev": "symlink"
    }
}

Example in devmode doc.

Include your project in deployment

When the magento-composer-installer is run, it only looks for magento-modules among your project's dependencies. Thus, if your project is a magento-module and you want to test it, you will need a second composer.json for deployment, where your project is configured as a required package.

If you wish to deploy your project's files (a.k.a. root package), too, you need to setup your composer.json as follows:

{
    "type": "magento-module",
    ...
    "extra": {
        "magento-root-dir": "htdocs/",
        "include-root-package": true
    }
}

Testing

First clone the magento-composer-installer, then install the dev-stuff (installed by default):

./bin/composer.phar install

then run vendor/bin/phpunit in project-root directory.

Note: Windows users please run phpunit with Administrator permissions.

Further Information

External Links

Core Contributors

  • Daniel Fahlke aka Flyingmana (Maintainer)
  • Jörg Weller
  • Karl Spies
  • Tobias Vogt
  • David Fuhr
  • Amir Tchavoshinia
  • Vinai Kopp (Maintainer)

Thank You

There are a few companies we want to thank for supporting this project in one way or another.

#####digital.manufaktur GmbH

Teached me (Flyingmana) most I know about Magento and paid my participation for the hackathon were the installer got created.

#####melovely

Support me (Flyingmana) as my current employer very much in my work on everything composer related.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].