easybloc 1.1.13

Pub GitHub stars Telegram

Acesse a documentação em Português-Brasil

Slidy #

CLI package manager and template generator for Flutter. Generate Modules, Pages, Widgets, BLoCs and tests.

Why should I use? #

Slidy's goal is to help you structure your project in a standardized way. Organizing your app in Modules formed by pages, repositories, widgets, BloCs, and also create unit tests automatically. The Module gives you a easier way to inject dependencies and blocs, including automatic dispose. Also helps you installing the dependencies and packages, updating and removing them. The best is that you can do all of this running a single command.

Motivations #

We realized that the project pattern absence is affecting the productivity of most developers, so we're proposing a development pattern along with a tool that imitates NPM (NodeJS) functionality as well as template generation capabilities (similar to Scaffold ).

About the Proposed Pattern #

The structure that slidy offers you, it's similar to MVC, where a page keeps it's own business logic classes(BloC).

We recommend you to use bloc_pattern when structuring with slidy. It offers you the module structure(extending the ModuleWidget) and dependency/bloc injection, or you will probably get an error.

To understand bloc_pattern package, take a look at the README.

We also use the Repository Pattern, so the folder structure it's organized in local modules and a global module. The dependencies(repositories, BloCs, models, etc) can be accessed throughout the application.

Sample folder structure generated by slidy:

Folder example

Installation #

  1. Activate the slidy using the pub: flutter pub global activate slidy
  2. Type slidy --version to make sure everything is working properly. This command should return the installed version.

Commands: #

upgrade: #

Updates slidy's version:

slidy upgrade

start: #

Create the basic structure of your project (make sure that your "lib" folder it's empty).

slidy start

Folder example

run: #

Runs the scripts in pubspec.yaml:

slidy run open_folder

Folder example

install: #

Installs or update the packages in dependencies:

Folder example

slidy install rxdart dio bloc_pattern

or you can just use the i command (both are the same)

slidy i rxdart dio bloc_pattern

Install packages as dev_dependency:

slidy i flutter_launcher_icons --dev

Folder example

uninstall: #

Removes a package

 slidy uninstall dio 

You can also remove a dev_dependency using the flag --dev

generate: #

Creates a module, page, widget or repository including its BloC class.

NOTE: You can replace "g" with "generate" command.

Creates a new module:

slidy g module folder_name

Folder example

Creates a new page + BloC:

slidy g page folder_name/pages

Creates a new widget + BloC:

slidy g widget folder_name/widgets

NOTE: You can create a page or widget using its respective BLoC using the flag -b

Create a new repository

slidy g r folder_name/repositories

You can also use "repository" in "r"'s place, but it will have the same function.

Folder example

Unit Tests: #

Generate unit tests on the test folder for you.

slidy test folder_name/

Common errors: #


Folder example

If you got this error when trying to run the pub global activate slidy, then you will have to set the environment variables manually:

  • In windows search, write: Edit System Variables

Folder example

  • Then click at Environment Variables

Folder example

  • Go to Path

Folder example

  • Then click in New and add the path that appeared on your console.

Folder example

If you have any doubt about setting up the system variables, watch this video.

For more details join our Telegram Group Flutterando

1.1.4 #

  • Added initModule in tests (check the documentation)

1.1.3 #

  • Create unity test widget when generate pages or widgets.
  • Flutter Dart 100% compatible
     flutter pub global activate slidy

1.1.2 #

  • Added "service" command to generate auto disposed and injetable service.
     slidy generate service path-of-your-file

1.1.0 #

  • Now creating BLoCs or Repositories also creates Unitary Test files.
  • Added "test" command to "generate command".
     slidy generate test path-of-your-file

1.0.0 #

  • added command run, for exec your scripts in pubspec.yaml
  • Some commands have been improved for ease of usability for example the module, page and widget generation command have been shortened.
  • Fix errors

0.2.1 #

  • Removed folder App for main module.
  • File placement changes after "start -c" command.
  • The command "start -c" is being optimized to be the initial interface. We are working on the routes.

0.2.0 #

  • Added start -c, to start the project with routers, locations, and page structures

0.1.2 #

  • Added bloc command create;

0.1.1 #

  • Added param 'create';

0.0.1 #

  • Initial version, created by Stagehand


example #

A new Flutter project.

Getting Started #

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Use this package as an executable

1. Install it

You can install the package from the command line:

$ pub global activate easybloc

2. Use it

The package has the following executables:

$ easy

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  easybloc: ^1.1.13

2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter pub get

Alternatively, your editor might support pub get or flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:easybloc/slidy.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Feb 13, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.5

Health suggestions

Format lib/slidy.dart.

Run dartfmt to format lib/slidy.dart.

Format lib/src/command/create_command.dart.

Run dartfmt to format lib/src/command/create_command.dart.

Format lib/src/command/sub_command/generate_repository_sub_command.dart.

Run dartfmt to format lib/src/command/sub_command/generate_repository_sub_command.dart.

Fix additional 5 files with analysis or formatting issues.

Additional issues in the following files:

  • lib/src/command/sub_command/generate_service_sub_command.dart (Run dartfmt to format lib/src/command/sub_command/generate_service_sub_command.dart.)
  • lib/src/modules/start.dart (Run dartfmt to format lib/src/modules/start.dart.)
  • lib/src/templates/generator/widget_test_generator.dart (Run dartfmt to format lib/src/templates/generator/widget_test_generator.dart.)
  • lib/src/utils/output_utils.dart (Run dartfmt to format lib/src/utils/output_utils.dart.)
  • lib/src/utils/utils.dart (Run dartfmt to format lib/src/utils/utils.dart.)

Maintenance suggestions

The description is too long. (-10 points)

Search engines display only the first part of the description. Try to keep the value of the description field in your package's pubspec.yaml file between 60 and 180 characters.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.2.0 <3.0.0
ansicolor ^1.0.2 1.0.2
args ^1.5.2 1.5.2
http ^0.12.0+2 0.12.0+4
path ^1.6.2 1.6.4
pubspec ^0.1.1 0.1.4
yaml ^2.1.16 2.2.0
Transitive dependencies
async 2.4.0
charcode 1.1.3
collection 1.14.12
http_parser 3.1.3
matcher 0.12.6
meta 1.1.8
pedantic 1.9.0
pub_semver 1.4.3
quiver 2.1.2+1
source_span 1.6.0
stack_trace 1.9.3
string_scanner 1.0.5
term_glyph 1.1.0
typed_data 1.1.6
uri 0.11.3+1
utf 0.9.0+5