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
- Code Of Conduct - Guidelines for participation in all Dojo OSS communities.
- 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
There are several packages that makeup the Dojo 2 platform:
dojo/cli
- Command Line Tooling for Dojo 2 Applicationsdojo/cli-build-webpack
- Command for building applicationsdojo/cli-create-app
- Command for creating application boilerplatesdojo/cli-export-project
- Command for exporting project bundlesdojo/cli-test-intern
- Command for testing projects with Intern
dojo/core
- The foundational code of the Dojo 2 platformdojo/dgrid
- Reactive extensive grid for Dojo 2dojo/has
- A feature detection librarydojo/interfaces
- Common interfaces and types for Dojo 2dojo/i18n
- A set of internationalization toolingdojo/loader
- A TypeScript based AMD loaderdojo/routing
- A routing service to build web applications withdojo/shim
- Modules that provide fills of ES6+ functionalitydojo/stores
- Data stores, querying, transformation and materialization librarydojo/streams
- WHATWG Streams implementationdojo/widget-core
- The foundation code of Dojo 2 widgetsdojo/widgets
- A set of rich UI elements
We also have packages that are still in their planning stages and as such might not be part of the initial Dojo 2 release.
dojo/actions
- A command like library for Dojo 2 applicationsdojo/app
- An application framework for Dojo 2dojo/crypto
- A set of libraries to deal with cryptographydojo/dataviz
- A data visualization library for Dojo 2
We have some deprecated packages:
dojo/compose
- A mixin/trait based composition library - This is deprecated because TypeScript now offers mixin behaviourdojo/dom
- A set of APIs for manipulating the DOM - This is deprecated because Dojo 2 will fully abstract away DOM access.dojo/parser
- A HTML document parser for instantiating objects declaratively - This is deprecated in lieu of functionality provided bydojo/app
.
We have added a repository of examples which have been built on Dojo 2. Those examples are available in the dojo/examples repository.
There are several packages which are designed to support the Dojo 2 platform:
- 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.
- dojo/grunt-dojo2-extras - Additional tasks and code supporting continuous delivery with Dojo 2 packages.
- dojo/static-optimize-plugin - A webpack plugin which allows code to be statically optimized for a particular context at bundling time.
- dojo/test-extras - A set of modules to help with testing Dojo 2
- dojo/web-editor - A web editor that can run projects exported from
cli-export-project
These packages are aimed at Dojo 2 contributors and those building custom development pipelines rather than Dojo 2 end users.
The following tables contain status information for the packages:
Package | CI Status | Code Coverage | npm | Stage |
---|---|---|---|---|
dojo/cli | Beta1 | |||
dojo/core | Beta1 | |||
dojo/dgrid | Alpha | |||
dojo/has | Beta1 | |||
dojo/interfaces | Beta1 | |||
dojo/i18n | Beta1 | |||
dojo/loader | Beta1 | |||
dojo/routing | Beta1 | |||
dojo/shim | Beta1 | |||
dojo/stores | Alpha | |||
dojo/streams | Alpha | |||
dojo/widget-core | Beta1 | |||
dojo/widgets | Alpha |
The dojo/cli
will provide extensible functionality via a variety of packages that can be plugged
into the CLI.
Package | CI Status | Code Coverage | npm | Stage |
---|---|---|---|---|
dojo/cli-build-webpack | Beta1 | |||
dojo/cli-create-app | Beta1 | |||
dojo/cli-export-project | Alpha | |||
dojo/cli-test-intern | Beta1 |
These are packages which provide extended functionality, usually to other tools, which are used by Dojo 2. For those using the out of the box tooling, there is little value in these packages, but for those having to integrate Dojo 2 into an existing development pipeline, these packages are likely to be of use.
Package | CI Status | Code Coverage | npm | Stage |
---|---|---|---|---|
dojo/static-optimize-plugin | Alpha |
In addition to dojo/cli
there are some packages which are designed to be used both by the Dojo 2 team internally, but also
others who are developing Dojo 2 applications:
Package | CI Status | Code Coverage | npm | Stage |
---|---|---|---|---|
dojo/test-extras | Alpha | |||
dojo/web-editor | Alpha |
Package | CI Status | Code Coverage |
---|---|---|
dojo/actions | ||
dojo/app | ||
dojo/crypto | ||
dojo/dataviz |
Package | CI Status | Code Coverage |
---|---|---|
dojo/examples |
Package | CI Status | Code Coverage | npm | Stage |
---|---|---|---|---|
dojo/grunt-dojo2 | Beta1 | |||
dojo/grunt-dojo2-extras | Alpha |
Package | CI Status | Code Coverage | npm | Stage |
---|---|---|---|---|
dojo/compose | Beta1 | |||
dojo/dom | ||||
dojo/parser | ||||
dojo/cli-css-typings |
© JS Foundation & contributors. New BSD license.