abo3adel/merger

merge stub files with project predefined files

Downloads

16

Stars

0

Version

v1.2.1

Merger

composer project to merge stub files with project predefined files

Latest Stable Version Total Downloads Latest Unstable Version License

Requirements

  • PHP 7.3+
  • composer

Project Idea

I have a lot of dependencies to include to any fresh project, so i created this project to quickly install and configure these dependencies

Installation

composer global require abo3adel/merger

Configration

set default editor to open created stub files

merger editor:set code

Supported Files

json, xml, yaml, .git* and for other files: it will append your stubs to any files with the same name and directory

Usage

  • create new stub file Note by default this will open file, to disable add -d or --do-not-open option to the create command
merger create lara/composer.json
  • updated the file with stub code
"config": {
    "sort-packages": false
},
"scripts": {
    "models": ["@php artisan ide-helper:models --nowrite"]
}
  • add installable packages file (filename must be "install.yml")
merger create lara/install.yml
  • add some packages to install
composer:
    - laravel/ui
    - dev:
        - sven/artisan-view
        - barryvdh/laravel-ide-helper
npm:
    - include-media
  • then run merger from your fresh project directory
merger merge lara

this will merge all created stubs and files with the same name, then install all packages

Avaliable Commands

  • create: creates new file then open it in the default editor
merger create {dir}/{file.ext} 
  • open: open stub file for editing
merger open {dir}/{file.ext}

Options:
  -d, --do-not-open     do not open the file after creating
  • delete: delete stub file
merger delete {dir}/{file.ext}
  • merge: merge stub files with your project files and install dependencies
merger merge {dir}

Options:
  -f, --force           replace content in  your project files with stub files
  -d, --no-append       do not append stubs that has no user files with same names
  -i, --no-install      do not run install file
      --only[=ONLY]     list of files to be merged seperated by comma
  • dir:list : lists all user created directories or files if user added directory name
merger dir:list {?dir}
  • editor:set : set default code editor to open files
merger editor:set notepad++

Contribution

Contributions are welcome and will be fully credited. see CONTRIBUTING.md

License

This project is licensed under the MIT License - see the LICENSE file for details

abo3adel

Author

abo3adel