durandal-es6

Durandal is a cross-device, cross-platform client framework written in JavaScript and designed to make Single Page Applications (SPAs) easy to create and maintain. This framework replaces the dependency on RequireJS and instead uses ES modules.


Keywords
durandal, jquery, knockout, spa
License
MIT
Install
npm install durandal-es6@0.11.0

Documentation

durandal-es6

A proof of concept of having DurandalJS not need to use RequireJS, enabling use of modern tooling for bundling Durandal SPA


View Demo · Report Bug

Table of Contents

About The Project

This is written as a proof of concept and testing ground for being able to run DurandalJS without having to use RequireJS and instead using module imports.

This library achieves this by changing the acquire function in the System module and updating the behavior throughout for this change.

This is only designed for people who are currently using DurandalJS and are looking for an in place - for example using the same build tooling (such as Webpack or Rollup).

Built With

This work is of course based on top of DurandalJS.

It still makes use of the following libraries:

  • jQuery - updated to 3.5.1 to avoid security vulnerabilities
  • jQuery Migrate - for enabling use of deprecated APIs (The dialog module still has some deprecated code)

Getting Started

You can find the library on npmjs.

You can also clone down the repo which includes a starter-kit site. This is largely the same as the Durandal Starterkit site with a change to use Lorem Picsum instead of Flickr and a page for Knockout components (this is more as a demonstration around the Component loader using Webpack).

Installation

If you clone down repo you will just need to follow these steps from the root of the folder:

  • Clone the repo
  • In the root folder run npm install
  • In the root folder run npm lerna-setup to clean any current node_modules in child folders and bootstrap the packages
  • You can then run:
  • npm dev-starter to run a webpack-dev-server of the starterkit
  • npm build-starter to build the starterkit with Webpack

License

Distributed under the MIT License. See LICENSE for more information.