Unofficial CLI for the GetX5.

This is the fork of get_cli version 1.9.1.

Changes

The following changes has been made:

  1. get_cli5 installs GetX version 5.0.0-release-candidate-9.3.2 (The latest release candidate at the moment) instead of latest stable version (4.7.2). Since the caret syntax doesn't work with RC versions, in case new version will be available in the future, manual fix will be required in pubspec.yaml.

  2. Removed dialog that enabled choosing between GetXPattern (MVVM) and Clean. Now it is always GetXPattern.

  3. Folder modules renamed to presentation to better follow MVVM naming convention. Instead of

    lib\
        app\
           data\
    	   modules\
    

    we have

    lib\
        app\
           data\
    	   presentation\
    
  4. Removed sub_folder: false pubspec.yaml option. Now it is the flat structure by default:

  home\
       home_binding.dart
       home_controller.dart
       home_view.dart

without option for extra folders.

  1. Template for Binding class updated to suit GetX5. Now instead of:

    class HomeBinding extends Bindings {
       @override
      void dependencies() {
         Get.lazyPut<HomeController>(
           () => HomeController(),
         );
      }
    }
    

    Will be generated:

     class HomeBinding extends Binding {
        @override
        List<Bind> dependencies() {
          return [
             Bind.put<HomeController>(
              HomeController(),
             )
          ];
        }
       }
    
  2. Added create service command. (Read below.)

Installation

First deactivate get_cli (if it has been activated) dart pub global deactivate get_cli

then activate get_cli5 dart pub global activate get_cli5

Usage

  1. Init project

    Create Flutter project using View->Command Pallete... or by running flutter create in terminal. Run get init command in terminal It will generate following folders and files

    init folder structure

  2. Add a view to the project

The command get create page:settings will generate folder settings inside the presentation folder.

create page folder structure

Also routes inside the routes folder will be updated. In case the desired name is "game settings" use get create page:game-settings command.

  1. Add a service to the project To create the AuthService in data folder use get create service:auth command. It will generate auth_service.dart file with factory singleton.
class AuthService {
  AuthService._();
  static final _instance = AuthService._();
  factory AuthService() {
    return _instance;
  }
}

To create the AuthService in data/auth folder use get create service:auth on auth command. If the auth folder does not exist, it will be created.

For more information about other commands of get_cli check official get_cli documentation..

Libraries

cli_config/cli_config
commands/commands_list
commands/impl/args_mixin
commands/impl/commads_export
commands/impl/create/controller/controller
commands/impl/create/page/page
commands/impl/create/project/project
commands/impl/create/provider/provider
commands/impl/create/screen/screen
commands/impl/create/service/service
commands/impl/create/view/view
commands/impl/generate/locales/locales
commands/impl/generate/model/model
commands/impl/help/help
commands/impl/init/flutter/init
commands/impl/init/flutter/init_getxpattern
commands/impl/init/flutter/init_katteko
commands/impl/init/get_server/get_server_command
commands/impl/install/install
commands/impl/install/install_get
commands/impl/remove/remove
commands/impl/sort/sort
commands/impl/update/update
commands/impl/version/version
commands/interface/command
common/utils/backup/backup_utils
common/utils/json_serialize/helpers
common/utils/json_serialize/json_ast/error
common/utils/json_serialize/json_ast/json_ast
common/utils/json_serialize/json_ast/location
common/utils/json_serialize/json_ast/parse
common/utils/json_serialize/json_ast/parse_error_types
common/utils/json_serialize/json_ast/tokenize
common/utils/json_serialize/json_ast/tokenize_error_types
common/utils/json_serialize/json_ast/utils/grapheme_splitter
common/utils/json_serialize/json_ast/utils/substring
common/utils/json_serialize/model_generator
common/utils/json_serialize/sintaxe
common/utils/logger/log_utils
common/utils/pub_dev/pub_dev_api
common/utils/pubspec/pubspec_lock
common/utils/pubspec/pubspec_utils
common/utils/pubspec/yaml_to.string
common/utils/shell/shel.utils
core/generator
core/internationalization
core/locales.g
core/structure
exception_handler/exception_handler
exception_handler/exceptions/cli_exception
extensions
extensions/dart_code
extensions/list
extensions/string
functions/binding/add_dependencies
functions/binding/find_bindings
functions/create/create_list_directory
functions/create/create_main
functions/create/create_navigation
functions/create/create_single_file
functions/create/create_web
functions/exports_files/add_export
functions/find_file/find_file_by_name
functions/find_file/find_folder_by_directory
functions/formatter_dart_file/frommatter_dart_file
functions/is_url/is_url
functions/path/replace_to_relative
functions/replace_vars/replace_vars
functions/routes/arc_add_route
functions/routes/get_add_route
functions/routes/get_app_pages
functions/routes/get_support_children
functions/sorter_imports/sort
functions/version/check_dev_version
functions/version/version_update
get_cli
models/file_model
samples/impl/analysis_options
samples/impl/arctekko/arc_main
samples/impl/arctekko/arc_navigation
samples/impl/arctekko/arc_routes
samples/impl/arctekko/arc_screen
samples/impl/arctekko/config_example
samples/impl/generate_locales
samples/impl/get_app_pages
samples/impl/get_binding
samples/impl/get_controller
samples/impl/get_provider
samples/impl/get_route
samples/impl/get_server/pubspec
samples/impl/get_service
samples/impl/get_view
samples/impl/getx_pattern/get_main
samples/interface/sample_interface