Skip to content

tenex/rails-assets

Folders and files

NameName
Last commit message
Last commit date
Jul 16, 2022
Jul 29, 2022
Feb 18, 2015
Jul 20, 2022
Jul 20, 2022
Jul 23, 2022
Apr 10, 2016
Aug 20, 2013
May 26, 2016
Jul 22, 2022
Apr 27, 2016
Apr 21, 2016
Apr 26, 2016
May 1, 2017
Jul 15, 2022
Sep 11, 2013
Apr 4, 2016
Jun 29, 2022
Apr 26, 2016
Jul 20, 2022
Jul 22, 2022
Jul 22, 2022
Jul 18, 2017
May 6, 2017
Jul 5, 2022
Apr 27, 2016
Jul 22, 2022
Oct 6, 2014
Jul 15, 2022
Jul 15, 2022

Repository files navigation

Rails Assets Build Status

Bundler to Bower proxy

This README concerns the development aspect of the project. Visit the site to learn how to use Rails Assets in your application.

Project Status

Bower is depcreated and new projects should not use it. Because Rails Assets is a proxy between bower and bundler, it should also not be used in new projects. Instead, there are multiple better solutions which work with modern versions of Rails:

A default path with Hotwire and import maps, an alternate path
using a thin integration with one of the popular JavaScript
bundlers, and finally the strict API path with a separate
repository for the front-end.

Development

Setup

git clone git@github.com:tenex/rails-assets.git && cd rails-assets
bundle install && npm install
cp config/database{.sample,}.yml
cp config/application{.sample,}.yml
# edit config/database.yml and config/application.yml if necessary.
bin/rake db:setup
foreman start

Headless chrome

rspec tests will use capybara for tests. Capybara's driver is set up to use selenium with headless Chrome. Therefore, you will need Chrome and the Chrome Selenium web driver.

# get chrome
cat << EOF > /etc/apt/sources.list.d/google-chrome.list
deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
EOF
wget -O- https://dl.google.com/linux/linux_signing_key.pub |gpg
--dearmor > /etc/apt/trusted.gpg.d/google.gpg
apt update && apt install -y google-chrome-stable
# get appropriate driver
chrome_version="$(google-chrome --version | cut -d ' ' -f3)" # Google Chrome 103.0.5060.53 -> 103.0.5060.53
(wget "https://chromedriver.storage.googleapis.com/${chrome_version}/chromedriver_linux64.zip" &&
 unzip chromedriver_linux64.zip -d /usr/local/bin)

Convert Bower package into Ruby gem using CLI

bin/rake 'component:convert[jquery,2.0.3]'

This will create rails-assets-NAME-VERSION.gem file.

You can remove this component by:

bin/rake 'component:destroy[jquery,2.0.3]'

Gems with a .js in their name

For packages from bower that have a .js in their name like typeahead.js which can generate a gem with the name rails-assets-typehead.js if You want to use this gem with Rails 4.2 or higher in order for your gem to work in your application.js you have to require it as follow

//= require typeahead.js.js

instead of

//= require typeahead.js

Credits

Maintained by Tenex Developers @tenex.

Originally created by @teamon, @porada and @sheerun, with the help of contributors. ❤️

Please don’t tweet bugs to us—report an issue instead. ✌️