angular-cn/modules_dart
Tim Blasi 15e16148f4 feat(dart/transform): Create standalone transformers for phases
Create transformers that allow specifying transformer actions on
specific libraries.

* angular2/transform/codegen: Generates all necessary code.
* angular2/transform/reflection_rewriter: Replaces `bootstrap` calls in
  application entry points to remove transitive dart:mirrors import,
  resulting in smaller code size & faster execution.
* angular2/transform/deferred_rewriter: Rewrites deferred imports and
  `loadLibrary` calls to initialize Angular2 and preserve deferred
  operation.

Proper configuration of these three transformers can replace the single
angular2 transformer, resulting in significant performance gains for
builds of large angular2 apps.

Update angular2 itself to declare the codegen transformer, since it has
neither deferred imports nor application entry points.

Remove the undocumented & unused quick_transformer.
2016-03-04 09:52:44 +00:00
..
2015-05-08 13:45:26 -07:00

This directory contains pure Dart packages that use standard pub layout.

Working with an existing package

  1. Run gulp build.dart
  2. Open the package in any Dart IDE of your choice
  3. Tada!

You do not need to rerun step 1 if you are only making changes in modules_dart. However, you do need to run it again after you make a change in modules. This is because these packages depend on code inside the dist directory via dependency_overrides. Code in modules need to be transpiled into dist before the IDE can "feel" your changes in modules.

Creating a new package

  1. Create a new directory with its own pubspec.yaml and standard pub layout.
  2. Add both a normal dependency on angular2 and a dependency_overrides, like this:
version: 0.0.0
dependencies:
  angular2: '0.0.0'
dependency_overrides:
  angular2:
    path: ../../dist/dart/angular2

The publishing script will automatically rewrite version numbers, so use 0.0.0 both for your package and angular2 version. Similarly, do not include authors and homepage, as they will be auto-populated. However, do provide description, name (prefixed with angular2_), dependencies, and dev_dependencies.