Dojo Framework. A Progressive Framework for Modern Web Apps
Dojo is a progressive framework for modern web applications built with TypeScript.
Visit us at dojo.io for documentation, tutorials, cookbooks, and other materials. This repository contains detailed information on the structure of Dojo, while
dojo.iois focused on getting started with and learning Dojo.
There are seven sub-packages that form the framework for building a Dojo application:
dojo/core- The foundational code of the Dojo framework
dojo/has- A feature detection library
dojo/i18n- A set of internationalization tooling
dojo/routing- A routing service to build web applications with
dojo/shim- Modules that provide fills of ES6+ functionality
dojo/stores- A lightweight state container
dojo/testing- A set of modules to help with testing Dojo
We have additional packages within the Dojo ecosystem to aid in quickly and easily creating Dojo apps:
dojo/interop- Interoperability with other frameworks (currently Dojo 1 Dijits and Redux)
dojo/loader- A TypeScript based AMD loader
dojo/themes- Collection of Dojo themes.
dojo/widgets- A set of rich UI elements
dojo/cli- Command Line Tooling for Dojo Applications
dojo/cli-build-app- A CLI command for building Dojo applications
dojo/cli-build-widget- A CLI command for building widgets
dojo/cli-create-app- Command for creating application boilerplates
dojo/cli-create-theme- Command for scaffolding a widget theme
dojo/cli-create-widget- Command for creating a widget template and all associated boilerplate
dojo/cli-test-intern- Command for testing projects with Intern
There are several packages which are designed to support the Dojo platform. Generally these packages are not directly used by end developers:
dojo/scripts- A package of scripts to aid with Dojo package development.
dojo/webpack-contrib- Specialized webpack loaders and plugins used by the Dojo toolchain.
See the v3 migration guide for details on upgrading from version 2.x to version 3.x.
See the v4 migration guide for details on upgrading from version 3.x to version 4.x.
See the v5 migration guide for details on upgrading from version 4.x to version 5.x.
See the v6 migration guide for details on upgrading from version 5.x to version 6.x.
See the v7 migration guide for details on upgrading from version 6.x to version 7.x.
There are several documents that are relevant for contributing to Dojo.
While Dojo tries to provide a holistic set of tools to build web applications, there are several key technologies where we feel that Dojo would be better integrating and building upon versus building from the ground up.
TypeScript and Dojo both iterate rapidly. In general Dojo strives for maximum compatibility, with a plan to periodically increase the minimum TypeScript version so we can begin relying on newer TypeScript features. Please review this list when using Dojo:
| Dojo version | TypeScript version (minimum) | TypeScript version (maximum) | | ------------ | ---------------------------- | ---------------------------- | | 3.0 | 2.6.x | 2.6.x | | 4.0 | 2.6.x | 3.1.x | | 5.0 | 2.6.x | 3.2.x | | 6.0 | 3.4.5 | 3.4.5 | | 7.0 | 3.4.5 | 3.8.x |