0.0
Low commit activity in last 3 years
A long-lived project that still receives updates
Condenser integration for Rails
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

Condenser Rails

Provides Condenser integration for the Rails Asset Pipeline.

Installation

gem 'condenser-rails'

Or alternatively require 'condenser/railtie' in your config/application.rb if you have Bundler auto-require disabled.

Usage

Rake task

rake assets:precompile

Deployment task that compiles any assets listed in config.assets.precompile to public/assets.

rake assets:clean

Removes old assets from public/assets. Useful when doing rolling deploys that may still be serving old assets while the new ones are being compiled.

rake assets:clobber

Nuke public/assets and remove config/manifest.json.

Initializer options

config.assets.precompile

Add additional assets to compile on deploy. Defaults to application.js, application.css and any .jpg, .png, or .gif files under app/assets.

config.assets.path

Add additional load paths to this Array. Rails includes app/assets, lib/assets and vendor/assets for you already. Plugins might want to add their custom paths to this.

config.assets.prefix

Defaults to /assets. Changes the directory to compile assets to.

config.assets.compile

Enables the Condenser compile environment. If disabled, Rails.application.assets will be nil to prevent inadvertent compilation calls. View helpers will depend on assets being precompiled to public/assets in order to link to them. Initializers expecting Rails.application.assets during boot should be accessing the environment in a config.assets.configure block. See below.

config.assets.js_minifier

The JS minifier to use to minify javascript sources. Default is :terser, valid options are :terser, :uglify, and false to disable minification.

config.assets.css_minifier

The CSS minifier to use to minify css sources. Default is :sass, valid options are :sass, and false to disable minification.

config.assets.compressors

A list of compressors to compress the output with. Each file will be written along with a compressed version for each compressor. Default is [:zlib] which will add a .gz version of each file. Valid options are :zlib, and :brotli. To disable set this to an empty array or false.

Optionally you may also set this to your own compressor.

config.assets.configure

Invokes block with environment when the environment is initialized. Allows direct access to the environment instance and lets you lazily load libraries only needed for asset compiling.

config.assets.configure do |env|

  require 'my_processor'
  env.register_preprocessor 'application/javascript', MyProcessor
end

Other

SRI support

Condenser adds support for subresource integrity checks.

javascript_include_tag :application, integrity: true
# => "<script src="/assets/application.js" integrity="sha256-TvVUHzSfftWg1rcfL6TIJ0XKEGrgLyEq6lEpcmrG9qs="></script>"

Note that condenser-rails only adds integrity hashes to assets when served in a secure context (over an HTTPS connection or localhost).

License

Condenser Rails is released under the MIT License.