module Middleman::CoreExtensions::Sprockets

def registered(app)

def registered(app)
  app.set :js_compressor, false
  
  # Cut off every extension after .js (which sprockets eats up)
  app.build_reroute do |destination, request_path|
    if !request_path.match(/\.js\./i)
      false
    else
      [
        destination.gsub(/\.js(\..*)$/, ".js"),
        request_path.gsub(/\.js(\..*)$/, ".js")
      ]
    end
  end
  
  app.after_configuration do
    js_env = Middleman::CoreExtensions::Sprockets::JavascriptEnvironment.new(app)
    
    js_dir = File.join("vendor", "assets", "javascripts")
    gems_with_js = ::Middleman.rubygems_latest_specs.select do |spec|
      ::Middleman.spec_has_file?(spec, js_dir)
    end.each do |spec|
      js_env.append_path File.join(spec.full_gem_path, js_dir)
    end
    
    # add paths to js_env (vendor/assets/javascripts)
    app.map "/#{app.js_dir}" do
      run js_env
    end
  end
    
  app.after_compass_config do
    css_env = Middleman::CoreExtensions::Sprockets::StylesheetEnvironment.new(app)
    css_dir = File.join("vendor", "assets", "stylesheets")
    gems_with_css = ::Middleman.rubygems_latest_specs.select do |spec|
      ::Middleman.spec_has_file?(spec, css_dir)
    end.each do |spec|
      css_env.append_path File.join(spec.full_gem_path, css_dir)
    end
    
    app.map "/#{app.css_dir}" do
      run css_env
    end
  end
end