Giter VIP home page Giter VIP logo

gue's People

Contributors

gitter-badger avatar skarfacegc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

gue's Issues

Figure out how to control shell output

Need to figure out a clean way for the API user to control how shell outputs to stdout.

  • Move current shell to _shell and make shell compatible with existing calls
  • Provide a silentShell call that doesn't output anything (but returns stdout/err at promise resolution)

add autorun method

Similar to watch, but records file checksums between runs to identify what's changed since the last run.

It Should

  • have a method to detect when a file on disk has changed since the last run
  • use fileSets to determine which task(s) to run
  • show a message indicating which files have changed and what action is being taken

Update README

Update the readme to reflect new stuff

Changes to log
New methods in Util

change integration tests

The integration tests currently rely on an external git repo. This should change to just using some sample alternate guefiles

Group sets of files to sets of tasks

The idea is basically this, given a set of files (client files, server files, etc) setup a method to say

'If a file in the client file set changes, run these tasks'

Mainly for use under watch, but could possibly replace the setOptions foo with something a little more interesting

Add method to allow for exclusive tasks

Exclusive tasks behavior:

  • Won't start if there are other 'running' tasks (i.e. started but have not resolved their promise)
  • Will prevent other tasks from starting when running
  • Notifies other remaining tasks to run when completed
    • This likely needs a bit better definition

Replace ochestrator

AC:

  • Allows for both sequential and parallel tasks
  • tasks return or reject promises to indicate status
  • Runtime is tracked
    • for each action
    • for each task
    • for the overall job
  • Events are emitted on state change
    • task starts running
    • task stops running
    • task group starts running
    • task group stops running
    • overall job starts running
    • overall job stops running
    • Errors are emitted if jobs reject
  • Rejected jobs in a sequential task prevent running the next task(s)
  • Rejected jobs in a parallel task fail the task but allow all parallel jobs to complete

cleanup isarray usage (remove lodash.isarray)

Quick grep

lib/GueTask.js:const isArray = require('lodash.isarray');
lib/GueTask.js: if (typeof action === 'function' && !isArray(dependencies)) {
lib/GueTask.js: if (action === undefined && !isArray(dependencies)) {
lib/GueTask.js: if (isArray(this.dependencies)) {
lib/GueTasks.js: if (!Array.isArray(tasks)) {
lib/Util.js:const isArray = require('lodash.isarray');
lib/Util.js: if (names.length > 0 && Array.isArray(names)) {
lib/Util.js: if (isArray(value)) {
lib/fileSet.js:const isArray = require('lodash.isarray');
lib/fileSet.js: if (isArray(tasks)) {
lib/fileSet.js: if (!isArray(this.globMap[glob])) {
lib/fileSet.js: if (isArray(fileArg)) {

Split API Docs into their own files

  • Re-write the readme
  • Proof read the API docs
  • Evaluate creating a github site for the API docs or just include them at the bottom of the readme

Improve logging

Standardize logging a bit. Right now the log method just spits its arg to stdout.

The log method(s) should timestamp, print task, and print message applying colors appropriately.

May need to create logwarn/logerr/logsuccess methods

Build docs by version

When docs build the API docs should go into a version directory

  • build docs into a version directory based on package.json
  • Generate a top level toc of available version docs based on generated documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.