code: function recast(args) {
       var encoding = args.encoding || undefined;
      // var vow = VOW.make();
      return readData(args.fullPath, args.srcData, args.type, args.path)
          .when(function(data) {
              data.isModule = args.isModule;
              args.srcData = data.recast;
              args.type = data.type;
              data.path = args.path;
              // oldType = args.type = data.type;
              if (!data.type || !extToFunction[data.type])
              {
                  // vow.break({ recast: args.srcData, type: data.type });
                  return VOW.kept({ recast: args.srcData, type: data.type });
                  // return VOW.keep({ recast: args.srcData, type: data.type });
              }
              else {
                  data.recast = data.recast.toString();
                  var f = extToFunction[data.type];
                  // debug('data=' ,data);
                  // console.log(extToFunction['html'].toString());
                  return f(data);
                  // f(data).when(
                  //     function(data) {
                  //         debug('data=' ,data);
                  //         data.recast = data.recast.toString();
                  //         vow.keep(data);
                  //     },
                  //     function(err) {
                  //         vow.breek(err);
                  //     }
                  // );
              }
          }).when(
              function(data) {
                  
                  if (encoding) return transform.zip(data, encoding);
                  else return VOW.kept(data);
              }
          );
      // return vow.promise;
  }
docs: }); } else vow.keep(data); return vow.promise; }