dart-sdk/pkg/dev_compiler
John Messerly de8e3a0cff Merge pull request #429 from dart-lang/module-builder-followup
Import package:path with an alias in module_builder
2016-01-26 13:47:03 -08:00
..
bin Before (for f(a, {b, c: c_default})): 2015-12-02 21:56:35 +00:00
doc Update PUBLISH.md 2016-01-08 13:40:37 -08:00
lib Merge pull request #429 from dart-lang/module-builder-followup 2016-01-26 13:47:03 -08:00
test Run format 2016-01-26 09:54:26 -08:00
tool Use the great new Devtools API for custom formatters. Now Dart objects are now generally as easy to view in the debugger in Chrome using dev_compiler as they are using Dartium. There are still some edge cases that need to be polished but most of the general property display and type information is done. 2016-01-22 13:28:28 -08:00
.analysis_options Update version and analysis_options. 2015-10-12 18:55:52 -07:00
.gitignore make dev_compiler slightly happier with dartdoc 2015-09-16 18:03:52 -07:00
.travis.yml Speed Travis CI up with some caching & faster fails 2015-09-12 17:55:46 +01:00
CHANGELOG.md Update CHANGELOG.md 2016-01-13 08:22:38 -08:00
codereview.settings Update codereview.settings 2015-02-24 16:57:57 -08:00
GENERIC_METHODS.md fixes #419, clarify docs around /*=T*/ 2016-01-21 17:09:35 -08:00
karma.conf.js Generate _runtime.js from dart (https://github.com/dart-lang/dev_compiler/issues/310) 2016-01-21 00:45:31 +00:00
LICENSE.md Add LICENSE and corresponding headers 2015-02-24 15:02:26 -08:00
package.json Update package.json 2016-01-13 08:19:54 -08:00
pubspec.yaml Update pubspec.yaml 2016-01-13 08:19:29 -08:00
README.md minor usage and readme fixes 2015-11-16 12:32:02 -08:00
STRONG_MODE.md Update STRONG_MODE.md 2015-08-28 13:16:49 -07:00
test-main.js Automated runtime tests using Karma 2015-04-20 19:31:18 -07:00
USAGE.md minor usage and readme fixes 2015-11-16 12:32:02 -08:00

dev_compiler

Build Status Coverage Status

The Dart Dev Compiler (DDC) is an experimental development tool and transpiler. It is at a very early stage today. Its aims include the following:

  • A static checker based on stricter-than-standard-Dart type rules.
  • A modular Dart-to-ES6 transpiler for Dart programs that statically check.

DDC attempts to map to idiomatic EcmaScript 6 (ES6) as cleanly as possible. To do this while cohering to Dart semantics, DDC relies heavily on static type information, static checking, and runtime assertions.

DDC is intended to support a very large subset of Dart. If a program does not statically check, DDC will not result in valid generated code. Our goal is that a program execution (of a valid program) that runs without triggering runtime assertions should run the same on other Dart platforms under checked mode or production mode.

DDC does support untyped Dart code, but it will typically result in less readable and less efficient ES6 output.

DDC has the following project goals:

  • Effective static checking and error detection.
  • A debugging solution for all modern browsers.
  • Readable output.
  • Fast, modular compilation of Dart code.
  • Easy use of generated code from JavaScript.

DDC is still in a very early stage as highlighted by our choice of ES6. ES6 itself is in active development across all modern browsers, but at various stages of support: kangax.github.io/compat-table/es6.

We are targeting the subset of ES6 supported in Chrome.

To try out DDC and/or give feedback, please read our usage page.