All Projects → lukeed → Taskr

lukeed / Taskr

Licence: mit
A fast, concurrency-focused task automation tool.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Taskr

ProtoPromise
Robust and efficient library for management of asynchronous operations in C#/.Net.
Stars: ✭ 20 (-99.17%)
Mutual labels:  coroutines, parallel, tasks
Marl
A hybrid thread / fiber task scheduler written in C++ 11
Stars: ✭ 1,078 (-55.47%)
Mutual labels:  tasks, task-runner
Uplot
📈 A small, fast chart for time series, lines, areas, ohlc & bars
Stars: ✭ 6,808 (+181.21%)
Mutual labels:  lightweight, performance
Redrun
✨🐌 🐎✨ fastest npm scripts runner
Stars: ✭ 85 (-96.49%)
Mutual labels:  parallel, task-runner
Viperhtml
Isomorphic hyperHTML
Stars: ✭ 318 (-86.86%)
Mutual labels:  lightweight, performance
Concurrencpp
Modern concurrency for C++. Tasks, executors, timers and C++20 coroutines to rule them all
Stars: ✭ 340 (-85.96%)
Mutual labels:  tasks, coroutines
Torchlambda
Lightweight tool to deploy PyTorch models to AWS Lambda
Stars: ✭ 83 (-96.57%)
Mutual labels:  lightweight, performance
concurrent-tasks
A simple task runner which will run all tasks till completion, while maintaining concurrency limits.
Stars: ✭ 27 (-98.88%)
Mutual labels:  tasks, task-runner
Splitties
A collection of hand-crafted extensions for your Kotlin projects.
Stars: ✭ 1,945 (-19.66%)
Mutual labels:  coroutines, lightweight
Conduit
High Performance Streams Based on Coroutine TS ⚡
Stars: ✭ 135 (-94.42%)
Mutual labels:  coroutines, performance
Foy
A simple, light-weight and modern task runner for general purpose.
Stars: ✭ 157 (-93.52%)
Mutual labels:  tasks, task-runner
Stagesepx
detect stages in video automatically
Stars: ✭ 293 (-87.9%)
Mutual labels:  lightweight, performance
Quantum
Powerful multi-threaded coroutine dispatcher and parallel execution engine
Stars: ✭ 291 (-87.98%)
Mutual labels:  coroutines, parallel
Pcp
Performance Co-Pilot
Stars: ✭ 716 (-70.43%)
Mutual labels:  lightweight, performance
Hyperhtml
A Fast & Light Virtual DOM Alternative
Stars: ✭ 2,872 (+18.63%)
Mutual labels:  lightweight, performance
Go Tdigest
A T-Digest implementation in golang
Stars: ✭ 67 (-97.23%)
Mutual labels:  parallel, performance
Shred
Shared resource dispatcher
Stars: ✭ 178 (-92.65%)
Mutual labels:  parallel, task-runner
UnityHFSM
A simple yet powerful class based hierarchical finite state machine for Unity3D
Stars: ✭ 243 (-89.96%)
Mutual labels:  lightweight, coroutines
jobflow
runs stuff in parallel (like GNU parallel, but much faster and memory-efficient)
Stars: ✭ 67 (-97.23%)
Mutual labels:  lightweight, parallel
Venice
Coroutines, structured concurrency and CSP for Swift on macOS and Linux.
Stars: ✭ 1,501 (-38%)
Mutual labels:  coroutines, performance
Taskr

Taskr

A fast, concurrency-focused task runner.
Fasten your seatbelt. 🚀

Taskr is a highly performant task runner, much like Gulp or Grunt, but written with concurrency in mind. With Taskr, everything is a coroutine, which allows for cascading and composable tasks; but unlike Gulp, it's not limited to the stream metaphor.

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.

const src = 'src/{admin,client}';
const dist = 'build';

module.exports = {
  *lint(task) {
    yield task.source(`${src}/*.js`).xo({ esnext:true });
  },
  *scripts(task) {
    yield task.source(`${src}/*.js`).babel({ presets:['es2015'] }).target(`${dist}/js`);
  },
  *styles(task) {
    yield task.source(`${src}/*.sass`).sass().autoprefixer().target(`${dist}/css`);
  },
  *build(task) {
    yield task.parallel(['lint', 'scripts', 'styles']);
  }
}

History

TL;DR This is the continuation of and successor to Fly!

Fly's original author, Jorge Bucaran, has shifted focus to other exciting projects. Before leaving, he chose to guarantee Fly's future by transferring the project to Luke Edwards, who was one of the first and most enthused contributors.

To reflect this milestone, Fly has been renamed to Taskr and has a stable, exciting future ahead! 🎉

For existing Fly users, [email protected] is equivalent to [email protected] -- with a few exceptions:

  1. The flyfile.js has been renamed to taskfile.js;
  2. The fly key inside package.json has been renamed to taskr. (See Local Plugins)

At this point, the Fly & Taskr ecosystems are fully interchangeable, which means that you can install taskr and use any fly-* or taskr-* plugins of your choosing. That said, most plugins have already been ported over to the new namespace!

Lastly, Taskr will maintain a list of official plugins. Don't forget to check 'em out!

Core Features

  • lightweight: with 6 dependencies, installation takes seconds
  • minimal API: Taskr only exposes a couple methods, but they're everything you'll ever need
  • performant: because of Bluebird, creating and running Tasks are quick and inexpensive
  • cascadable: sequential Task chains can cascade their return values, becoming the next Task's argument
  • asynchronous: concurrent Task chains run without side effects & can be yielded consistently
  • composable: chain APIs and Tasks directly; say goodbye to pipe() x 100!
  • modular: easily share or export individual Tasks or Plugins for later use
  • stable: requires Node >= 4.6 to run (LTS is 6.11)

Docs

The main documentation can be found in taskr, our core package.

Each @taskr/* or taskr-* plugin will also include its own documentation, too!

Packages

The Taskr repo is managed as a monorepo that is composed of its many official packages.

Important: The core package is taskr and must be installed before using any additional plugins.

Official Packages

These npm packages are officially released and maintained by the Taskr team.

If you can't find what you need, be sure to check out the community list or browse for all taskr-related plugins on npmjs.com, too!

If you're still missing something, open a ticket so that the team & community can try to help you... or create & share your own Taskr plugin! We have an awesome Yeoman generator to help speed up the process.

Package Version Dependencies Description
taskr npm Dependency Status Core package. Required
@taskr/babel npm Dependency Status Babel plugin for Taskr
@taskr/browserify npm Dependency Status Browserify plugin for Taskr
@taskr/buble npm Dependency Status Bublé plugin for Taskr
@taskr/clear npm Dependency Status Remove one or more directories
@taskr/coffee npm Dependency Status CoffeeScript plugin for Taskr
@taskr/concat npm Dependency Status Concatenate files with optional source maps.
@taskr/esnext npm Dependency Status Allows async/await syntax within taskfile.js
@taskr/flatten npm Dependency Status Flatten source files to a max of sub-dirs.
@taskr/gzip npm Dependency Status Gzip plugin for Taskr
@taskr/htmlmin npm Dependency Status Minify HTML with Taskr
@taskr/jest npm Dependency Status Jest plugin for Taskr
@taskr/less npm Dependency Status Compile LESS to CSS with Taskr
@taskr/postcss npm Dependency Status PostCSS plugin for Taskr
@taskr/prettier npm Dependency Status Prettier plugin for Taskr
@taskr/rev npm Dependency Status Version/Hash assets for cache-busting
@taskr/sass npm Dependency Status Compile SASS to CSS with Taskr
@taskr/shell npm Dependency Status Execute shell commands with Taskr
@taskr/stylus npm Dependency Status Compile Stylus to CSS with Taskr
@taskr/typescript npm Dependency Status Compile Typescript with Taskr
@taskr/uglify npm Dependency Status UglifyJS plugin for Taskr
@taskr/unflow npm Dependency Status Remove Flow type annotations with Taskr
@taskr/watch npm Dependency Status Watch files & Execute specified tasks on change
@taskr/zip npm Dependency Status ZIP compress files with Taskr
generator-taskr npm Dependency Status Official Yeoman generator

Community Plugins

Package Version Dependencies Description
taskr-autoprefixer npm Dependency Status CSS Autoprefixer plugin for Taskr
taskr-nunjucks npm Dependency Status Render Nunjucks templates with Taskr
taskr-precache npm Dependency Status Cache assets for offline use via service worker
taskr-svelte npm Dependency Status Compile Svelte components with Taskr
taskr-xo npm Dependency Status XO plugin for Taskr
taskr-standard npm Dependency Status Standard plugin for Taskr
template-taskr npm Dependency Status Unofficial SAO generator

License

MIT © Luke Edwards and Jorge Bucaran

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].