@tymate/tymulus
v0.0.3
Published
Stimulus controllers for tybo_ components
Downloads
3
Readme
Tybo_
tymate's backoffice components
This is a collection of components built on Tailwind CSS and ViewComponent. Its purpose is to allow us to easily and quickly build administration tools for our APIs.
Installation
- Add the gem to your Gemfile :
gem 'tybo', '~> 0.0.2'
- Run
bundle install
- Add the gem's HTML templates to the
config/tailwind.config.js
file :
module.exports = {
content: [
'./app/helpers/**/*.rb',
'./app/javascript/**/*.js',
'./app/views/**/*.{erb,haml,html,slim}',
'./app/components/**/*.html.erb',
process.env.TYBO_GEM_PATH
],
// ...
}
# local example
export TYBO_GEM_PATH=../../.gem/ruby/*/gems/tybo-*/lib/app/components/**/*.html.erb
# scalingo example
TYBO_GEM_PATH=./vendor/bundle/ruby/*/gems/tybo-*/lib/app/components/**/*.html.erb
- Run
bin/importmap pin @tymate/tybo
- Edit
app/javascript/controllers/application.js
with :
import { Application } from "@hotwired/stimulus"
// First import the different controllers needed from tybo
import { Attachments, Questions } from "@tymate/tybo"
const application = Application.start()
// then register all of them inside the Stimulus application
// with the correct name
application.register('attachments', Attachments)
application.register('questions', Questions)
window.Stimulus = application
export { application }
Development
Ruby gem
To put a new version online, it is necessary to :
- Ensure all your changes are saved and commited.
- Make sure that all new components are autoloaded in
lib/tybo.rb
- Update the version number in
tybo.gemspec
- Run
gem build tybo.gemspec
- Run
gem push tybo-<version number>.gem
NPM/JSPM package
The Stimulus controllers required for the components to work properly must be published in an NPM package and then listed on JSPM so that they can be loaded by importmaps.
To put a new version online, it is necessary to :
- Update the version number in the
package.json
file. - Run
npm run build
- GET
https://api.jspm.io/build/@tymate/tybo@<version number>
in order to build a queue request on JSPM - Once the request is processed (it is possible to track through the JSPM:Generator), retrieve the new link and update it in the
config/importmap.rb
of the Rails project.