{"version":3,"file":"shortcake.mjs","sources":["../src/utils.coffee","../src/cp.coffee","../src/cake.coffee","../src/log.coffee","../src/running.coffee","../src/invoke/async.coffee","../src/invoke/generator.coffee","../src/invoke/sync.coffee","../src/invoke/serial.coffee","../src/tasks.coffee","../src/invoke/invoke.coffee","../src/invoke/parallel.coffee","../src/invoke/index.coffee","../src/task.coffee","../src/use.coffee","../src/index.coffee"],"sourcesContent":["export isFunction = (fn) ->\n  typeof fn is 'function'\n\nexport isGenerator = (g) ->\n  (isFunction g?.next) and (isFunction g.throw)\n\nexport isGeneratorFn = (fn) ->\n  return false unless isFunction fn\n  fn?.constructor?.name is 'GeneratorFunction'\n\nexport isPromise = (p) ->\n  isFunction p?.then\n\nexport isArray = (a) ->\n  Array.isArray a\n\nexport isString = (s) ->\n  typeof s is 'string'\n","import cp   from 'cp'\nimport path from 'path'\nimport fs   from 'fs'\n\nimport {isFunction} from './utils'\n\nexport default (src, dst, opts, cb) ->\n  if isFunction opts\n    [opts, cb] = [{}, opts]\n\n  opts ?= {}\n\n  p = new Promise (resolve, reject) ->\n    fs.stat dst, (err, stats) ->\n      if stats.isDirectory\n        dst = path.join dst, path.basename src\n\n      cp src, dst, (err) ->\n        if err?\n          reject err\n        else\n          resolve()\n\n  p.callback cb\n  p\n","unless global.task?\n  require 'coffee-script/lib/coffee-script/cake'\n\n# Save references to original invoke, task\ncakeInvoke = global.invoke\ncakeOption = global.option\ncakeTask   = global.task\n\nexport default cake =\n  invoke: cakeInvoke\n  option: cakeOption\n  task:   cakeTask\n","import chalk      from 'chalk'\nimport {isString} from './utils'\n\nverbose = process.env.VERBOSE ? false\n\npretty = (obj) ->\n  JSON.stringify obj, null, 2\n\nlogger = (method, color) ->\n  prefix = chalk[color] method\n\n  (args...) ->\n    return unless verbose\n\n    msg = prefix\n\n    for arg in args\n      if isString arg\n        msg += ' ' + arg\n      else\n        msg += '\\n' + pretty arg\n\n    console.log msg\n\nmethods =\n  debug:    'blue'\n  info:     'white'\n  warn:     'yellow'\n  error:    'red'\n\n  bebop:    'black'\n  modified: 'cyan'\n  compiled: 'blue'\n\nwrapper = logger 'info', 'white'\nfor k,v of methods\n  wrapper[k] = logger k,v\n\nwrapper.verbose = (bool = !verbose) ->\n  verbose = bool\n\nexport default wrapper\n","import log from './log'\n\n# Keep track of running tasks\nrunningTasks = {}\n\nrunning = (name) ->\n  return runningTasks[name]\n\nrunning.start = (name) ->\n  log.info 'running', name\n  runningTasks[name] = true\n\nrunning.stop = (name) ->\n  log.info 'stopped', name\n  runningTasks[name] = false\n\nexport default running\n","import log     from '../log'\nimport running from '../running'\n\n# Invoke async task\ninvokeAsync = (name, action, opts, cb) ->\n  log.debug 'invokeAsync', name\n\n  running.start name\n\n  done = ->\n    running.stop name\n    cb.apply null, arguments\n\n  if opts?\n    action opts, done\n  else\n    action done\n\nexport default invokeAsync\n","import log         from '../log'\nimport running     from '../running'\nimport {isPromise} from '../utils'\n\n\n# Invoke a enerator task continually until consumed\ninvokeGenerator = (name, action, opts, cb) ->\n  log.debug 'invokeGenerator', name\n\n  running.start name\n\n  gen = action opts\n\n  last = null\n  prev = null\n\n  done = (err) ->\n    running.stop name\n    console.error err.stack if err?\n    cb err, (last ? prev)\n\n  next = (value) ->\n    try\n      res = gen.next value\n    catch err\n      console.error err.stack\n      return done err\n\n    prev = last\n    last = res.value\n\n    if isPromise promise = res.value\n      promise\n        .then (value) ->\n          next value\n        .catch (err) ->\n          done err\n    else if not res.done\n      next res.value\n    else\n      done()\n\n  next()\n\nexport default invokeGenerator\n","import log     from '../log'\nimport running from '../running'\n\nimport {isPromise} from '../utils'\n\n# Invoke sync task\ninvokeSync = (name, action, opts, cb) ->\n  log.debug 'invokeSync', name\n\n  running.start name\n\n  ret = action opts\n\n  if isPromise promise = ret\n    promise\n      .then (value) ->\n        running.stop name\n        cb null, value\n      .catch (err) ->\n        running.stop name\n        cb err\n  else\n    running.stop name\n    cb null, ret\n\nexport default invokeSync\n","import invoke       from './invoke'\nimport log          from '../log'\nimport {isFunction} from '../utils'\n\n# Invoke tasks in serial\ninvokeSerial = (tasks, opts, cb) ->\n  log.debug 'invokeSerial', tasks, opts\n\n  serial = (cb) ->\n    next = (err) ->\n      return cb err if err?\n\n      if tasks.length\n        invoke tasks.shift(), opts, next\n      else\n        cb()\n    next()\n\n  return (serial cb) if isFunction cb\n\n  new Promise (resolve, reject) ->\n    serial (err) ->\n      reject err if err?\n      resolve()\n      cb err if isFunction cb\n\nexport default invokeSerial\n","# Global task cache\ntasks = {}\ntasks.has = (key) ->\n  tasks[key]?\n\nexport default tasks\n","import cake            from '../cake'\nimport invokeAsync     from './async'\nimport invokeGenerator from './generator'\nimport invokeSync      from './sync'\nimport log             from '../log'\nimport serial          from './serial'\nimport tasks           from '../tasks'\nimport {isFunction, isGeneratorFn} from '../utils'\n\ninvoked = {}\n\n# Invoke delegates to one of the above\ninvoke = (name, opts, cb) ->\n  log.debug 'invoke'\n\n  # Prevent recursive calls\n  return if invoked[name]\n  invoked[name] = true\n\n  # Calling cake's invoke ensures that options are passed to us correctly as\n  # well as ensuring the normal missing task error is shown.\n  cake.invoke name\n\n  # Grab task action, any deps and parsed options\n  {action, deps, options} = tasks[name]\n\n  # Extend caller provided parsed options\n  opts = Object.assign options, opts\n\n  done = (err) ->\n    invoked = {}\n    (cb err) if isFunction cb\n\n  invokeAction = (err) ->\n    return done err if err?\n\n    # Is a generator task\n    if isGeneratorFn action\n      return invokeGenerator name, action, opts, done\n\n    # Two arguments, action expects callback\n    if action.length == 2\n      return invokeAsync name, action, opts, done\n\n    # Single argument, detected callback\n    if /^function \\((callback|cb|done|next)\\)/.test action\n      return invokeAsync name, action, null, done\n\n    # 0 or 1 argument action, no callback detected\n    invokeSync name, action, opts, done\n\n  # Process deps first if any\n  return serial deps, opts, invokeAction\n\n  invokeAction()\n\nexport default invoke\n","import invoke       from './invoke'\nimport log          from '../log'\nimport {isFunction} from '../utils'\n\n# Invoke tasks in serial\ninvokeParallel = (tasks, opts, cb) ->\n  log.debug 'invokeParallel', tasks, opts\n\n  parallel = (cb) ->\n    done = 0\n    for task in tasks\n      invoke task, opts, ->\n        if ++done == tasks.length\n          cb()\n\n  return (parallel cb) if isFunction cb\n\n  new Promise (resolve, reject) ->\n    parallel (err) ->\n      reject err if err?\n      resolve()\n      cb err if isFunction cb\n\nexport default invokeParallel\n","import parallel from './parallel'\nimport serial   from './serial'\nimport {isArray, isFunction} from '../utils'\n\n# Wrap invokeSerial, invokeParallel to ensure sane arguments\nwrap = (fn) ->\n  (tasks, opts, cb) ->\n    # Ensure tasks are an array\n    tasks = [tasks] unless isArray tasks\n\n    # Called with a callback and no options\n    if isFunction opts\n      [cb, opts] = [opts, {}]\n\n    # Ensure opts exists\n    opts ?= {}\n\n    fn tasks, opts, cb\n\nwrapper = wrap serial\nwrapper.serial   = wrapper  # aliased\nwrapper.parallel = wrap parallel\n\nexport default wrapper\n","import cake  from './cake'\nimport log   from './log'\nimport tasks from './tasks'\n\nimport {isArray, isFunction} from './utils'\n\nexport default (name, description, deps, action) ->\n  # No description, just deps\n  if isArray description\n    action = deps if isFunction deps\n    [description, deps] = ['', description]\n\n  # If we're passed name, action\n  if isFunction description\n    [action, description, deps] = [description, '', []]\n\n  # No dependencies specified, ex: `task 'name', 'description', ->`\n  if isFunction deps\n    [action, deps] = [deps, []]\n\n  # Missing task function (body), ex: `task 'name', 'description', ['1','2','3']`\n  unless isFunction action\n    action = ->\n\n  # Store reference for ourselves\n  tasks[name] =\n    name:        name\n    description: description\n    deps:        deps\n    action:      action\n\n  log.debug 'added task', tasks[name]\n\n  # Make sure original plumbing still works, inject our shim task\n  cake.task name, description, (options) ->\n    # Capture result of options for our own `invoke`\n    tasks[name].options = options\n","import {isFunction, isString} from './utils'\n\nexport default (pkg, opts = {}) ->\n  if isString pkg\n    pkg = require pkg\n\n  if isFunction pkg\n    pkg opts\n","import 'postmortem/register'\n\nimport exec   from 'executive'\nimport path   from 'path'\nimport vigil  from 'vigil'\n\nimport cp      from './cp'\nimport invoke  from './invoke'\nimport running from './running'\nimport task    from './task'\nimport tasks   from './tasks'\nimport use     from './use'\n\n\n# Ensure local node_modules bin is on the front of $PATH\nbinPath = path.join process.cwd(), 'node_modules/', '.bin'\n\nprocess.env.PATH = ([binPath].concat process.env.PATH.split ':').join ':'\n\nglobal.cp      = cp\nglobal.exec    = exec\nglobal.invoke  = invoke\nglobal.running = running\nglobal.task    = task\nglobal.tasks   = tasks\nglobal.use     = use\nglobal.walk    = vigil.walk\nglobal.watch   = vigil.watch\n\nexport {cp, exec, invoke, running, task, tasks, use}\n"],"names":["wrapper","running","invoke","cake","tasks","invokeGenerator","invokeAsync","invokeSync","cp"],"mappings":"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"}