Lesser known perks of using composer

E699d3eb01633cd53d59cdd28c1c252d?s=47 Mohit Aghera
September 12, 2018

Lesser known perks of using composer

E699d3eb01633cd53d59cdd28c1c252d?s=128

Mohit Aghera

September 12, 2018
Tweet

Transcript

  1. 1 axelerant.com www.drupaleurope.org

  2. 2 axelerant.com Lesser known perks of using composer Drupal Europe

    2018
  3. 3 axelerant.com Drupal + Technology TRACK SUPPORTED BY

  4. 4 axelerant.com Special Thanks to..

  5. 5 axelerant.com Mohit Aghera Drupal developer @Axelerant Drupal.org: mohit_aghera Twitter:

    @mohit_rocks
  6. 6 axelerant.com Quick Introduction • Why do we need it?

    • How do we use it?
  7. 7 axelerant.com Drupal Composer initiative Follow updates here: https://www.drupal.org/project/ideas/issues/2958021

  8. 8 axelerant.com Composer scripts • Define script in composer.json and

    run • Helps to automate tasks • Supports various events.
  9. 9 axelerant.com Composer Scripts

  10. 10 axelerant.com Composer Plugins • Helps to overcome limitation of

    composer scripts • Run independently - irrespective of root package • Helps in creating distributable package
  11. 11 axelerant.com Composer Plugins { "name": "my/plugin-package", "type": "composer-plugin", "require":

    { "composer-plugin-api": "^1.1" }, "extra": { "class": "My\\Plugin" } } • “type” : “composer-plugin” • “extra” : Contains class name • Add special package called “composer-plugin-api”
  12. 12 axelerant.com Composer Plugins drupal- composer/drupal -scaffold

  13. 13 axelerant.com Composer Plugins

  14. 14 axelerant.com Patching • Requirement to update core of system

    • Bugs that are not merged
  15. 15 axelerant.com Patching

  16. 16 axelerant.com Keeping data up to date • Pull and

    process remote data automatically • Implement Composer Plugins
  17. 17 axelerant.com Keeping data up to date Benefits: • No

    need to have separate sync code • Helps to solve problems in continuous integration as data will already be there Limitations: • It is meant for retrieving and storing data - no live sync.
  18. 18 axelerant.com Commit Hooks

  19. 19 axelerant.com Commit Hooks • GIT hooks helps to enforce

    code quality • Ensure commit messages are proper • Coding standards validation • Sharing GIT hooks with composer has more advantages
  20. 20 axelerant.com Commit Hooks There are several libraries that supports

    this type of implementations: • https://github.com/sebastianfeldmann/captainhook • https://github.com/bruli/php-git-hooks • https://github.com/php-composter/php-composter • https://github.com/BrainMaestro/composer-git-hooks
  21. 21 axelerant.com

  22. 22 axelerant.com Automatting project structure • Composer helps to generate

    essential files and other code • Use case : drupal-composer/drupal-project
  23. 23 axelerant.com Automatting project structure

  24. 24 axelerant.com Example from “ScriptHandler.php”

  25. 25 axelerant.com Thank you..

  26. 26 axelerant.com Become a Drupal contributor, Friday from 9 AM

    • First timers workshop • Mentored contribution • General contribution 26