|
1 |
| -# Taskr |
2 |
| - |
3 |
| -[](https://travis-ci.org/lukeed/taskr) |
4 |
| -[](https://ci.appveyor.com/project/lukeed/taskr/branch/master) |
5 |
| -[](https://npmjs.org/package/taskr) |
| 1 | +<div align="center"> |
| 2 | + <img src="/logo.png" alt="Taskr" width="128"> |
| 3 | +</div> |
| 4 | + |
| 5 | +<h1 align="center">Taskr</h1> |
| 6 | + |
| 7 | +<div align="center"> |
| 8 | + <a href="https://npmjs.org/package/taskr"> |
| 9 | + <img src="https://img.shields.io/npm/v/taskr.svg" alt="NPM Version"/> |
| 10 | + </a> |
| 11 | + <a href="https://travis-ci.org/lukeed/taskr"> |
| 12 | + <img src="https://img.shields.io/travis/lukeed/taskr.svg" alt="TravisCI"/> |
| 13 | + </a> |
| 14 | + <!-- <a href="https://codecov.io/github/lukeed/taskr"> --> |
| 15 | + <!-- <img src="https://img.shields.io/codecov/c/github/lukeed/taskr/master.svg" alt="Test Coverage"/> --> |
| 16 | + <!-- </a> --> |
| 17 | + <a href="https://ci.appveyor.com/project/lukeed/taskr/branch/master"> |
| 18 | + <img src="https://ci.appveyor.com/api/projects/status/jjw7gor0edirylu5/branch/master?svg=true" alt="AppVeyor"/> |
| 19 | + </a> |
| 20 | + <a href="https://npmjs.org/package/taskr"> |
| 21 | + <img src="https://img.shields.io/npm/dm/taskr.svg" alt="NPM Downloads"/> |
| 22 | + </a> |
| 23 | +</div> |
| 24 | + |
| 25 | +<div align="center">A generator & coroutine-based task runner.</div> |
| 26 | +<div align="center"><strong>Fasten your seatbelt. :rocket:</strong></div> |
| 27 | + |
| 28 | +<br /> |
6 | 29 |
|
7 | 30 | Taskr is a highly performant task runner, much like Gulp or Grunt, but written with concurrency in mind. With Taskr, everything is a [coroutine](https://medium.com/@tjholowaychuk/callbacks-vs-coroutines-174f1fe66127#.vpryf5tyb), which allows for cascading and composable tasks; but unlike Gulp, it's not limited to the stream metaphor.
|
8 | 31 |
|
9 |
| -Taskr is extremely extensible, so _anything_ can be a task. Our core system will accept whatever you throw at it, resulting in a modular system of reusable plugins and tasks, connected by a declarative `taskfile.js` that's easy to read. |
| 32 | +Taskr is extremely extensible, so _anything_ can be a task. Our core system will accept whatever you throw at it, resulting in a modular system of reusable plugins and tasks, connected by a declarative [`taskfile.js`](https://github.com/lukeed/taskr/tree/master/packages/taskr#taskfiles) that's easy to read. |
| 33 | + |
| 34 | +```js |
| 35 | +const src = 'src/{admin,client}'; |
| 36 | +const dist = 'build'; |
| 37 | + |
| 38 | +module.exports = { |
| 39 | + *lint(task) { |
| 40 | + yield task.source(`${src}/*.js`).xo({ esnext:true }); |
| 41 | + }, |
| 42 | + *scripts(task) { |
| 43 | + yield task.source(`${src}/*.js`).babel({ presets:['es2015'] }).target(`${dist}/js`); |
| 44 | + }, |
| 45 | + *styles(task) { |
| 46 | + yield task.source(`${src}/*.sass`).sass().autoprefixer().target(`${dist}/css`); |
| 47 | + }, |
| 48 | + *build(task) { |
| 49 | + yield task.parallel(['lint', 'scripts', 'styles']); |
| 50 | + } |
| 51 | +} |
| 52 | +``` |
10 | 53 |
|
11 | 54 | ## History
|
12 | 55 |
|
13 |
| -> **TL;DR** This is the continuation of and successor to [Fly](https://github.com/flyjs/fly)! |
| 56 | +> **TL;DR** This is the continuation of and successor to [Taskr(https://github.com/flyjs/fly)! |
14 | 57 |
|
15 | 58 | I was forcibly removed by its inactive co-owner, due to his newfound "interest" in the project (aka, the stars). He's also taken to alter Fly's commit history in order to remove evidence of my work.
|
16 | 59 |
|
17 | 60 | As a result of this dispute, Taskr exists as a separate (mono)repo but includes the full, _original_ history for Fly.
|
18 | 61 |
|
19 |
| -In regards the NPM downloadable(s), `[email protected].0` is equivalent to `[email protected]` -- with a few exceptions: |
| 62 | +In regards the NPM downloadable(s), `[email protected].5` is equivalent to `[email protected]` -- with a few exceptions: |
20 | 63 |
|
21 | 64 | 1. The `flyfile.js` has been renamed to `taskfile.js`;
|
22 | 65 | 2. The `fly` key inside `package.json` has been renamed to `taskr`. (See [Local Plugins](#https://github.com/lukeed/taskr/tree/master/packages/taskr#local-plugins))
|
|
0 commit comments