Giter Club home page Giter Club logo

capirona's People

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

capirona's Issues

add symbolTable for tasks

would set variable scope, along with parsing data.

@symbolTable.get("taskConfigVar", { parseRelativePath: true, parseTpl: true }); //parse this

ability to execute scripts in parallel

Useful for testing servers.

Example:

{
    "run": {
        "parallel": true,
        "chain": [
            {
                "exec": "./bin/api --type=master"
            },
            {
                "exec":"./bin/api --type=slave"
            },
            {
                "exec": "node ./server"
            }
        ]

    }
}

preprocessor

should:

  • expand default variables in routes
  • load configs

validation

e.g:

exports.validate = {
    'input': path.exists,
    'output': path.exists
}

exports.run = function(ops, next){}

pre-processor for routes

This stuff should be doable:

{
    "make:{{target}}": {
        "include": "./make/{{target}}.json"
    }
}

AND

{
    "./make/{{target}} -> something": {
        "log" : "hello world!"
    }
}

Where the pre-processed varaibles are set as defaults which can be overwritten.

"expect" for exec

ability to execute tasks based on stdin

{
   "exec": "node server",
   "expect": { 
    "listening on port (\\d+)":  {
        "exec": "open http://localhost:<%-$1 %>"
    },
    "enter in a password": {
        "stdin": "some password\n"
    }
   }
}

better logging for search task

Features

  • target should have "log" property, or similar

This is a common log:

---> make copy
* target hashifyAllHtml
---> make hashify
* target hashifyAllHtml
---> make hashify
* target hashifyAllHtml
---> make hashify

ability to set function for builder

Example:

{
    make: {
        something: function() {
            console.log("do something!");
            next();
        }
    }
}

Or:

{
    make: {
        someVar: 'blah',
        task: function() {
            console.log("do something!");
            next();
        }
    }
}

relative commands

e.g:

../makeFile - one level up
./makeFile - current tree
/makeFile - root

foreach task

example:

{
    "each": ["some","data"],
    "as": "platform",
    "task": { 
        "log": "<%-platform %>"
    }
}

or:

{
    "each": ["some","data"],
    "value": "v",
    "key": "k",
    "task": { 
        "log": "<%-v %>"
    }
}

or:

{
    "each": { k: 2, k2: 3 },
    "value": "v",
    "key": "k",
    "task": { 
        "log": "<%-v %>"
    }
}

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.