This repository contains information regarding Dojo 2 that crosses package boundaries.
There are several documents that are relevent for contributing to Dojo 2.
- Contributing Guidelines - Guidelines for contributing code (or documentation) to Dojo 2
- Style Guide - The style guide for Dojo 2.
- tslint.json - The configuration file tslint that is used to validate Dojo 2 code against
While Dojo 2 tries to provide a holistic set of tools to build web applications, there are several key technologies where we feel that Dojo 2 would be better integrating and building upon versus building from the ground up.
In order to ensure that Dojo 2 is a solid set of JavaScript tools and libraries, Dojo 2 is built on TypeScript. This provides us with structural design time typing as well as an effective way to communicate the intent of the Dojo 2 APIs. It also provides us the ability to adopt ES6+ syntax features but make distributables that will be backwards compatible to the target browsers for Dojo 2.
In addition, there are some core runtime technologies that parts of Dojo 2 are built on:
- MaquetteJS a minimalistic virtual DOM built in TypeScript
- RxJS 5 Observables an implementation of ES Observable built in TypeScript
- ImmutableJS immutable collections for JavaScript
There are several packages that makeup the Dojo 2 platform:
dojo/core
- The foundational code of the Dojo 2 platformdojo/loader
- A TypeScript based AMD loaderdojo/dom
- A set of APIs for manipulating the DOMdojo/compose
- A mixin/trait based composition librarydojo/actions
- A command like library for Dojo 2 applicationsdojo/i18n
- A set of internationalization toolingdojo/routing
- A routing service to build web applications withdojo/crypto
- A set of libraries to deal with cryptographydojo/widgets
- A set of rich UI elementsdojo/stores
- Data stores for Dojo 2dojo/app
- An application framework for Dojo 2
We have a package that we are currently determining fits properly in the eco-system:
dojo/shim
- Modules that provide modular fills of ES6+ functionality
We have also deprecated a package:
dojo/parser
- A HTML document parser for instantiating objects declaratively - *This is likely to be deprecated in lieu of functionality provided bydojo/app
.
There are several packages which are designed to support the Dojo 2 platform:
- dojo/cli - Command Line Tooling for Dojo 2 Applications
- dojo/dojo2-package-template - The standard template for Dojo 2 packages, including build and packaging templates
- dojo/grunt-dojo2 - A set of Grunt tasks for use with Dojo 2 packages.
The following tables contain status information for the packages:
Package | CI Status | Code Coverage | npm | Stage | Maintainer |
---|---|---|---|---|---|
dojo/core | Alpha | ||||
dojo/loader | Beta | ||||
dojo/compose | Beta | @maier49 | |||
dojo/actions | Alpha | ||||
dojo/widgets | Alpha | @kitsonk | |||
dojo/dom | Alpha | ||||
dojo/routing | Alpha | @novemberborn | |||
dojo/app | Alpha | @novemberborn | |||
dojo/stores | Proposal | @kitsonk | |||
dojo/stores | Proposal | @maier49 | |||
dojo/i18n | Prototype | ||||
dojo/crypto | Proposal | ||||
dojo/parser | Deprecated | @kitsonk | |||
dojo/cli | Proposal | @Tomdye | |||
dojo/grunt-dojo2 | Beta |