Building large applications is hard, so don't do that!
JavaScript
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
docs (#485) navigo router: fixed reverse routing when entering without rou… Jun 28, 2018
lib (#485) navigo router: fixed reverse routing when entering without rou… Jun 28, 2018
static/schemas (#417) flow: added redirects to paths with parameter values included Mar 9, 2017
.babelrc (#415) project: updated dev-dependencies, upgraded to webpack 2 Jan 18, 2017
.editorconfig (#298) working webpack loading and specs Jun 28, 2016
.eslintrc.json (#320) use shared eslint configuration Jul 13, 2016
.gitignore (#457) dropped minified targets, using laxar-infrastructure Apr 21, 2017
.npmignore (#457) dropped minified targets, using laxar-infrastructure Apr 21, 2017
.travis.yml (#457) dropped minified targets, using laxar-infrastructure Apr 21, 2017
CHANGELOG.md (#485) navigo router: fixed reverse routing when entering without rou… Jun 28, 2018
CONTRIBUTING.md (#419) updated contributor information Mar 13, 2017
LICENSE (#249) updated copyright year Jan 13, 2016
README.md (#466) improved manuals, especially list formatting Jun 22, 2017
bower.json release v2.0.0-alpha.1 Jul 6, 2016
karma.config.js (#457) dropped minified targets, using laxar-infrastructure Apr 21, 2017
laxar-compatibility.js (#437) bootstrapping: new `create().flow().bootstrap()` workflow Mar 24, 2017
laxar-widget-service-mocks.js (#459) documentation: fixed broken links Apr 24, 2017
laxar.js (#472) fix race causing stuck initialization Jul 19, 2017
package.json (#470) Upgrade to webpack 3 Jul 17, 2017
polyfills.js (#415) project: updated dev-dependencies, upgraded to webpack 2 Jan 18, 2017
webpack.config.js (#470) Upgrade to webpack 3 Jul 17, 2017
yarn.lock (#470) Upgrade to webpack 3 Jul 17, 2017

README.md

LaxarJS Build Status

Middleware for your web client: Create maintainable applications from small, isolated parts.

Take a look at the documentation site to browse documentation for all releases of this artifact.

Why LaxarJS?

Find out why you would use LaxarJS and if it's the right tool for you. Then, explore the core concepts and browse the manuals in the documentation. Also, there is a glossary where you can lookup individual concepts, and a troubleshooting guide there for you if you need it.

Have a look at the LaxarJS website for demos and more information. Take a look at the documentation site to browse documentation for all releases.

Getting Started

Here are the basic instructions to get started.

Requirements

On your development machine, make sure that you have Node.js v6 or above (v4 might work, but there is no support).

Users of your application will need to have the following browser capabilities:

  • native ES5 support (no polyfills: MSIE < 9 is not supported)

  • Support for the following ES6 features (native or polyfilled):

    • Promise, Fetch
    • Array.from, Array.prototype.includes
    • Object.assign

Modern browsers have support for all of these, but polyfills for the listed ES6 features can be obtained by simply loading the LaxarJS polyfills bundle (dist/polyfills.js) using a script tag, before loading anything else. When using the generator (next step), your project will be setup for use with polyfills automatically.

Using the Generator

Use the generator-laxarjs2 for the Yeoman scaffolding tool to get started:

npm install -g yo generator-laxarjs2
mkdir my-app
cd my-app
yo laxarjs2

This will guide you through a couple of prompts in order to create your first application. There is a step-by-step tutorial containing a more detailed example.

Manual Setup

Using the generator is the recommended way of creating a LaxarJS application. However, knowledge about the manual project setup process is useful for a better understanding of LaxarJS and may help in some advanced use cases, such as migrating a project from a previous major version.

There are detailed instructions to create a project from scratch.

Hacking LaxarJS itself

Instead of using the compiled library within a project, you can also clone this repository:

git clone https://github.com/LaxarJS/laxar.git
cd laxar
npm install

To see changes in your application, either configure your project to work with the sources (e.g. by configuring a webpack alias), or rebuild the bundles:

npm run dist

To run the automated tests:

npm test

To generate HTML test runners for opening in your web browser, so that you can e.g. use the browser's developer tools for diagnostics:

npm start

Now you can select a spec-runner by browsing to http://localhost:8080/dist/lib/.