Unpoly enables fast and flexible frontends with minimal changes to your server-side code.
This repository is home to both the Unpoly 2 JavaScript code and its (optional) bindings for Ruby on Rails (unpoly-rails gem).
If you're looking for the code of Unpoly 0.x or 1.0, use the 1.x-stable branch.
- See unpoly.com for guides and documentation.
- See installation instructions for many different package managers and languages.
- See
CHANGELOG.mdfor notable changes. - See
README_RAILS.mddocumentation of the Rails bindings.
Overview:
- This currently requires Ruby
- There's a Rails app in
spec_app - Jasmine tests for Unpoly live in
spec_app/spec/javascripts - RSpec tests for the
unpoly-railsgem live inspec_app/spec/controllers
Install dependencies for tests:
- Install Ruby 2.3.8
- Install Bundler by running
gem install bundler - Install Node.js (required for building the library)
cdintospec_app- Install dependencies by running
bundle install
To run Jasmine tests for Unpoly:
cdintospec_app- Start the Rails server by running
rails server - Access
http://localhost:3000/specsto see the Jasmine test runner
To run RSpec tests for the unpoly-rails gem:
cdintospec_app- Run
rspec
We are currently feeding two release channels:
- npm
- Rubygems (as the
unpoly-railsgem)
We always release to all channel simultaneously.
To prepare a new version:
- Edit
lib/unpoly/rails/version.rband bump the version number. Use semantic versioning. - Add an entry to
CHANGELOG.md - Commit and push the version bump and
CHANGELOG.md - Log into Rubygems and npm
Now you can call rake release:all to publish to Rubygems and npm.
After you have published all release channels, remember to:
- Update unpoly.com so users see the new version, CDN link and CHANGELOG.
- Send a message to the E-mail group with the title "Unpoly X.Y.Z released". You can copy the relevant CHANGELOG part from here.
- Henning Koch from makandra (@triskweline on Twitter)