daily_programmer_client_dart 1.1.2

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

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...

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

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://www.dartlang.org/dart-2#migration.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.24.0 <2.0.0