         result = js
 
       libs.stylus or= require 'stylus'
-      libs.bootstrap or= try require 'bootstrap-stylus' catch e then (-> ->)
       libs.nib or= try require 'nib' catch e then (-> ->)
-      libs.bootstrap or= try require 'bootstrap-stylus' catch e then (-> ->)
       options = @optionsMap[sourcePath] ?=
         filename: sourcePath
       libs.stylus(source, options)
-          .use(libs.bootstrap())
           .use(libs.nib())
-          .use(libs.bootstrap())
           .set('compress', @compress)
           .set('include css', true)
           .render callback
       result
 
-exports.jsCompilers = jsCompilers
+  less:
+    optionsMap:
+      compress: false
+      optimization: 1
+      silent: false
+      paths: []
+      color: true
+
+    patchLess: (less) ->
+      # Monkey patch importer of LESS to load files synchronously
+      less.Parser.importer = (file, paths, callback) ->
+        paths.unshift "."
+
+        # for (i = 0; i < paths.length; i++)
+        i = 0
+        while i < paths.length
+        # for i in [0..paths.length]
+          try
+            pathname = path.join(paths[i], file)
+            fs.statSync(pathname)
+            break
+          catch e
+            pathname = null
+
+          i++
+
+        if not pathname
+          util.error("file '" + file + "' wasn't found.\n")
+          process.exit(1)
+
+        try
+          data = fs.readFileSync(pathname, 'utf-8')
+        catch e
+          util.error(e);
+
+        new(less.Parser)(
+          paths: [path.dirname(pathname)].concat(paths)
+          filename: pathname
+        ).parse(data, (e, root) ->
+          if (e)
+            less.writeError(e)
+          callback(e, root)
+        )
+
+      less
+
+    compileSync: (sourcePath, source) ->
+      result = ""
+      libs.less or= @patchLess (require 'less')
+      options = @optionsMap
+      options.filename = sourcePath
+      options.paths = [path.dirname(sourcePath)].concat(options.paths)
+
+      callback = (err, tree) ->
+        console.log "FEhler", err if err
+        throw err if err
+        result = tree.toCSS({})
+
+      new libs.less.Parser(options).parse(source, callback)
+      result
+
+exports.jsCompilers = jsCompilers = Snockets.compilers
+
 # ## Regexes
 BEFORE_DOT = /([^.]*)(\..*)?$/
 

  options.buildsExpire ?= false
  options.detectChanges ?= true
  options.minifyBuilds ?= true
  options.pathsOnly ?= false
  jsCompilers = _.extend jsCompilers, options.jsCompilers || {}

  connectAssets = module.exports.instance = new ConnectAssets options
  connectAssets.createHelpers options

getExt = (filePath) ->
  if(lastDotIndex = filePath.lastIndexOf '.') >= 0
    filePath[(lastDotIndex + 1)...]
  ''

stripExt = (filePath) ->
  if (lastDotIndex = filePath.lastIndexOf '.') >= 0
    filePath[0...lastDotIndex]
