docs: function entries(client, assetType) {
  
        var _entries = [],
            bundler = getBundler(client),
            includeType,
            bundle;
  
        switch(assetType) {
          case 'css':
            includeType = 'css';
            bundle = 'css';
            client.paths['css'].forEach(pushMainEntries);
            break;
  
          case 'js':
          case 'worker':
            var loader = bundler.module('loader');
            var libs = bundler.module('libs');
            var mods = bundler.module.apply(bundler, Object.keys(system.assets.modules));
  
            _entries = _entries.concat(loader).concat(libs).concat(mods);
            includeType = false;
            bundle = 'js';
            //TODO worker instead of code ?
            client.paths.code.forEach(pushMainEntries);
            if (options.startInBundle) {
              _entries = _entries.concat(bundler.module('start'));
            }
            break;
  
          case 'tmpl':
            includeType = 'html';
            bundle = 'tmpl';
            client.paths.tmpl.forEach(pushMainEntries);
            break;
        }
  
        function pushMainEntries(from) {
          var p = path.join(ss.root,from);
          if (!fs.existsSync(p) || fs.statSync(p).isFile()) {
            p = from;
          } else {
            p = path.join(from,'**','*');
          }
          return glob.sync(p, {cwd:ss.root}).forEach(function(file) {
            var extension = path.extname(file);
            extension = extension && extension.substring(1); // argh!
            var assetType = bundle==='tmpl'? 'html':bundle;
            var entry = {file:file,importedBy:from,includeType:includeType,ext:extension,bundle:bundle,assetType:assetType};
            if (isAssetType(entry)) {
              _entries.push(entry);
            }
          });
        }
  
        function isAssetType(entry) {
          if (ss.client.formatters == null) {
            return false;
          }
          var formatter = ss.client.formatters[entry.ext];
          if (formatter == null) {
            return false;
          }
          if (formatter.assetType === undefined) {
            throw new Error('Unable to render \''+entry.file+'\' as the formatter has no asset type.');
          }
          return formatter.assetType === entry.assetType;
        }
  
        // entries with blank ones stripped out
        return _entries.filter(function(entry) {
          return !!entry;
        });
      }