daily_programmer_client_dart 1.1.2

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 48

Daily programing client dart

pub package Build Status Coverage Status

daily_programmer_dart_cli will generate a project skeleton into the current directory.

Installation

Requirements

Nothing.

To install

pub global activate daily_programmer_client_dart

To update, run activate again

pub global activate daily_programmer_client_dart

Usage

As an example, here is how you create a package with daily_programmer_dart_cli :

Usage: daily_programmer_dart_cli <command> [arguments]

Global options:
-h, --help            Print this usage information.
-v, --[no-]verbose    Output extra logging information.

Available commands:
  challenge   Generate a new challenge.
  help        Display help information for daily_programmer.
  project     Generate a new project challenge.
  run         Run one or more challenges.

Run "daily_programmer_dart_cli help <command>" for more information about a command.

Example

mkdir my_challenges
cd my_challenges
daily_programmer_dart_cli

Challenges ? (Wait, what ?)

  • What ?
  • Where ?
  • With ? this and this
  • Why ?
    • Learn dart
    • Practice software design
    • Practice programming
    • Practice problem solving
    • Keep your programming skills current
    • Gain insights from peers
    • Motivation to practice by solving problems
    • To have fun
    • ...

Struct

.
├── .gitignore
├── bin
│   └── main.dart
├── lib                            # Contains all challenges
│   └── challenge-xxx.dart         # Source of challenge
├── pubspec.yaml
└── test
    ├── all.dart                   # Dart file for call all test
    └── challenges                 # Contains test
        └── challenge-xxx.dart     # Source of challenge test

My rules

  • No lint warning
  • Coverage of src > 95%
  • Latest version used
  • Only dart

Changelog

0.0.1

  • Initial version, created by gouvinb

0.0.2 -> 0.0.3

  • Lint
  • Fix warning exception when generate project

0.0.4

  • Move code to src folder
  • Lint markdown

0.0.5

  • Remove usless file

0.0.6

  • Lint and fix deps
  • Replace example bash script with sample dart code

0.0.7

  • Update readme (install and update part)

1.0.0

  • remove pana and add trace to test
  • add badges
  • lint yml
  • update .travis.yml, add pana and coveralls
  • add travis support
  • clean example

1.0.1 -> 1.0.2

  • fix travis slack

1.1.0 -> 1.1.2

  • fix all error of generated project or challenge
  • rework struct of generated project
  • md lint
  • update readme
  • update example

example/main.dart

import 'dart:io';

const _nameOfProject = 'project-example';

// This dart code send 4 command in your shell for example.
void main(List<String> args) {
  setUpExample();
  // Step 1: project command dry run
  run('daily_programmer_dart_cli project --dry-run -p /tmp -n challenge-0 $_nameOfProject');
  // Step 2: project command
  run('daily_programmer_dart_cli project -p /tmp -n challenge-0 project');
  // Step 3: challenge command dry run
  run('daily_programmer_dart_cli challenge --dry-run -p /tmp/$_nameOfProject challenge-1');
  // Step 4: challenge command
  run('daily_programmer_dart_cli challenge -p /tmp/$_nameOfProject challenge-1');
}

/// Simple process runner wrapper
void run(String command) {
  Process.runSync(command.split(' ')[0], command.split(' ')..removeAt(0));
}

/// Check OS and remove `/tmp/project` for clean this example
void setUpExample() {
  if (!Platform.isLinux && !Platform.isMacOS) {
    print('Your OS (${Platform.operatingSystem}) is not supported.');
    exit(1);
  }
  run('rm -rf /tmp/$_nameOfProject');
}

Use this package as an executable

1. Install it

You can install the package from the command line:


$ pub global activate daily_programmer_client_dart

2. Use it

The package has the following executables:


$ daily_programmer_dart_cli
Version Uploaded Documentation Archive
1.1.2 Mar 1, 2018 Go to the documentation of daily_programmer_client_dart 1.1.2 Download daily_programmer_client_dart 1.1.2 archive
1.1.1 Mar 1, 2018 Go to the documentation of daily_programmer_client_dart 1.1.1 Download daily_programmer_client_dart 1.1.1 archive
1.1.0 Mar 1, 2018 Go to the documentation of daily_programmer_client_dart 1.1.0 Download daily_programmer_client_dart 1.1.0 archive
1.0.2 Jan 12, 2018 Go to the documentation of daily_programmer_client_dart 1.0.2 Download daily_programmer_client_dart 1.0.2 archive
1.0.0 Jan 12, 2018 Go to the documentation of daily_programmer_client_dart 1.0.0 Download daily_programmer_client_dart 1.0.0 archive
0.0.7 Jan 11, 2018 Go to the documentation of daily_programmer_client_dart 0.0.7 Download daily_programmer_client_dart 0.0.7 archive
0.0.6 Jan 11, 2018 Go to the documentation of daily_programmer_client_dart 0.0.6 Download daily_programmer_client_dart 0.0.6 archive
0.0.5 Jan 11, 2018 Go to the documentation of daily_programmer_client_dart 0.0.5 Download daily_programmer_client_dart 0.0.5 archive
0.0.4 Jan 11, 2018 Go to the documentation of daily_programmer_client_dart 0.0.4 Download daily_programmer_client_dart 0.0.4 archive
0.0.3 Jan 11, 2018 Go to the documentation of daily_programmer_client_dart 0.0.3 Download daily_programmer_client_dart 0.0.3 archive

All 12 versions...

Analysis

We analyzed this package on Jun 23, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.63.0
  • pana: 0.11.3

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
0 / 100
Health:
Code health derived from static analysis. [more]
99 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90 / 100
Overall score:
Weighted score of the above. [more]
48
Learn more about scoring.

Platforms

Detected platforms: Flutter, web, other

No platform restriction found in libraries.

Suggestions

  • Running dartdoc failed.

    Make sure dartdoc runs without any issues.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 6 hints.

    Strong-mode analysis of lib/src/generator/generator.dart gave the following hint:

    line: 27 col: 35
    'FILE' is deprecated and shouldn't be used.

    Strong-mode analysis of lib/src/util/template_file.dart gave the following hint:

    line: 2 col: 28
    'UTF8' is deprecated and shouldn't be used.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.24.0 <2.0.0
args ^1.2.0 1.4.3
logging ^0.11.3+1 0.11.3+1
mustache ^1.0.0 1.0.1
path ^1.5.1 1.6.1
resource ^2.1.2 2.1.4
Transitive dependencies
typed_data 1.1.5
Dev dependencies
test ^0.12.30