0.9.5 • Published 8 years ago

gulp-pepper v0.9.5

Weekly downloads
4
License
Unlicense
Repository
github
Last release
8 years ago

gulp-pepper

inserts info dictionaries into coffee-script logs like this:

class AClass
    
    do: (foo) ->
        log 'something'

    # the log line gets replaced by 

        log {"file":".../file.coffee","class":"AClass","line":5,"args":["foo"],"method":"do","type":"."}, "something"

gulpfile.coffee

gulp = require 'gulp'
pepper = require 'gulp-pepper'

gulp.task 'pepper', ->        
    gulp.src "*.coffee"
        .pipe pepper {...config...}
        .pipe gulp.dest './peppered'

default config

stringify: JSON.stringify
      #
      # this lets you change the ouput format or enhance the info, 
      # eg. instead of dumping the whole info dictionary you could 
      # just prefix the logs with class name and method name like this: 
      # 
      # stringify: (i) -> '"' + i.class + i.type + i.method + ' ► "'
      # 
pepper: ['log']
      # names of functions that get peppered
      #
      # if specified as a map:
      #       key: original function name that gets replaced
      #       value: replacement function that gets called instead
      #
      # if specified as a list:
      #       preserves the original function names
      #
      #  the replacement function receives one additional argument:
      #       an object with keys: file, line, method, type, args
paprika: 
    'dbg': 'log'
      # names of functions that get paprikaed :-)
      #
      # same as pepper, but the original variable arguments get
      #                 prefixed by their names. eg.:
      #  
      # dbg foo, bar
      # 
      # gets replaced by
      #
      # dbg {...pepper...}, 'foo:', foo, 'bar:', bar
      #
paprikaPrefix:  ''
paprikaPostfix: ':'

This stuff works for me, but I won't guarantee that it works for you as well. Use at your own risk!

npm