Unpoly enables fast and flexible frontends with minimal changes to your server-side code.
This branch tracks the current major version, Unpoly 2.x. If you're looking for the code of Unpoly 0.x or 1.x, 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.md
for notable changes. - See
README_RAILS.md
documentation of the Rails bindings.
To build Unpoly you require Node.js, Webpack and other npm packages.
Install the Node version from .nvmrc
.
To install Webpack and other required npm packages, run:
npm install
Tests don't consume the sources directly, but from a transpiled build in dist/
.
To make fresh build, run:
npm run build-dev
This will build transpiled files such as:
dist/unpoly.js
dist/unpoly.css
dist/unpoly-migrate.js
dist/jasmine.js
dist/specs.js
There is also a task npm run build
for a production build. This does not build files for testing, but also outputs minified versions.
During development it is impractical to make a full build after every change. Instead it is recommend to watch the project:
npm run watch-dev
This will make a fresh build and then watch the project for changes to the source files. When a source changes, affected build files are automatically recompiled. The incremental recompilation is much faster than a full build.
Tests run using a browser-based Jasmine runner.
To start a web server serving the Jasmine runner:
npm run test
This will open a server on http://localhost:3000 and opens that URL with your default browser.
You can use this repository to publish a new version of the unpoly
npm package.
The release process currently requires Ruby. To install these dependencies:
- Install the Ruby version from
.ruby-version
- Run
bundle install
There is a guided CLI interface to lead you through the release process. To start the process run:
bundle exec rake release:process
- Henning Koch from makandra (@triskweline on Twitter)
- Contributors