From b528d11da67762caa462056fcfa3657d8e53bfbc Mon Sep 17 00:00:00 2001 From: GrimLink Date: Fri, 21 Aug 2020 00:37:21 +0200 Subject: [PATCH] ADD: new cmd `new-module` --- CHANELOG.md | 6 ++++++ README.md | 1 + mage | 55 +++++++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 54 insertions(+), 8 deletions(-) diff --git a/CHANELOG.md b/CHANELOG.md index d22a480..596a22c 100644 --- a/CHANELOG.md +++ b/CHANELOG.md @@ -1,5 +1,11 @@ # Changelog +## 1.4.0 - (2020-08-21) +* ADD: + * new cmd `new-module` +* IMP: + * casing of variables in `new-theme` + ## 1.3.0 - (2020-05-16) * ADD: * new cmd `new-theme` diff --git a/README.md b/README.md index 2d317f0..ac0b7b2 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ _Or download it via wget_ | purge | Purge all static assets | | new-admin | Create new admin user _(*)_ | | new-theme | Create new theme in app _(*)_ | +| new-module | Create new module in app | | run | Run magerun2 (requires n98-magerun2) | Any other command will run the same as `bin/magento` diff --git a/mage b/mage index f70bf51..dcf8c13 100755 --- a/mage +++ b/mage @@ -20,14 +20,15 @@ help) echo -e "${BOLD}Mage ${GREEN}1.3.0${RESET}" echo -e "${ITALIC}See https://github.com/GrimLink/mage for the last version${RESET}\n" echo -e "${BOLD}CMD Options:${RESET}" - echo -e "- ${BLUE}info${RESET} (Show base config for store)" - echo -e "- ${BLUE}open${RESET} (Open store in browser)" - echo -e "- ${BLUE}auth${RESET} (Copy the auth.json from root)" - echo -e "- ${BLUE}config${RESET} (Set configs for dev env)" - echo -e "- ${BLUE}purge${RESET} (Purge all static assets)" - echo -e "- ${BLUE}new-admin${RESET} (Create new admin user)" - echo -e "- ${BLUE}new-theme${RESET} (Create new theme in app)" - echo -e "- ${BLUE}run${RESET} (Run magerun2)" + echo -e "- ${BLUE}info${RESET} (Show base config for store)" + echo -e "- ${BLUE}open${RESET} (Open store in browser)" + echo -e "- ${BLUE}auth${RESET} (Copy the auth.json from root)" + echo -e "- ${BLUE}config${RESET} (Set configs for dev env)" + echo -e "- ${BLUE}purge${RESET} (Purge all static assets)" + echo -e "- ${BLUE}new-admin${RESET} (Create new admin user)" + echo -e "- ${BLUE}new-theme${RESET} (Create new theme in app)" + echo -e "- ${BLUE}new-module${RESET} (Create new module in app)" + echo -e "- ${BLUE}run${RESET} (Run magerun2)" echo -e "\n${ITALIC}Anything else will run ${BLUE}bin/magento${RESET}" echo -e "${ITALIC}To see those cmd's just run ${BLUE}mage${RESET}" ;; @@ -190,6 +191,44 @@ ComponentRegistrar::register( " >> $THEME/theme.xml ;; +new-module) + read -p "Vendor: " VENDOR + if [[ -z "$VENDOR" ]]; then echo "The 'Vendor' can not be empty" && exit 1; fi + read -p "Name: " NAME + if [[ -z "$NAME" ]]; then echo "The 'Name' can not be empty" && exit 1; fi + + VENDOR="$(echo $VENDOR | tr '[:upper:]' '[:lower:]' | awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' | tr -d '[:blank:]')"; + + CAMEL_NAME="$(echo $NAME | tr '[:upper:]' '[:lower:]' | awk '{for(i=1;i<=NF;i++){ $i=toupper(substr($i,1,1)) substr($i,2) }}1' | tr -d '[:blank:]')"; + LOWER_NAME="$(tr '[:upper:][:blank:]' '[:lower:]-' <<< ${NAME})" + + MODULE="app/code/$VENDOR/${CAMEL_NAME}" + mkdir -p $MODULE/etc + + touch $MODULE/registration.php && + echo -e "> $MODULE/registration.php + + touch $MODULE/etc/module.xml && + echo -e " + + + + + + +" >> $MODULE/etc/module.xml + ;; + run) if command -v magerun2 &>/dev/null; then magerun2 ${@:2}