Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ddc): router, compiler, web worker fixes for DDC #6693

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions modules/angular2/src/compiler/template_normalizer.ts
Expand Up @@ -112,6 +112,10 @@ class TemplatePreparseVisitor implements HtmlAstVisitor {
case PreparsedElementType.STYLESHEET:
this.styleUrls.push(preparsedElement.hrefAttr);
break;
default:
// DDC reports this as error. See:
// https://github.com/dart-lang/dev_compiler/issues/428
break;
}
if (preparsedElement.nonBindable) {
this.ngNonBindableStackCount++;
Expand Down
17 changes: 9 additions & 8 deletions modules/angular2/src/router/instruction.ts
Expand Up @@ -107,9 +107,8 @@ export var BLANK_ROUTE_DATA = new RouteData();
* ```
*/
export abstract class Instruction {
public component: ComponentInstruction;
public child: Instruction;
public auxInstruction: {[key: string]: Instruction} = {};
constructor(public component: ComponentInstruction, public child: Instruction,
public auxInstruction: {[key: string]: Instruction}) {}

get urlPath(): string { return isPresent(this.component) ? this.component.urlPath : ''; }

Expand Down Expand Up @@ -210,9 +209,9 @@ export abstract class Instruction {
* a resolved instruction has an outlet instruction for itself, but maybe not for...
*/
export class ResolvedInstruction extends Instruction {
constructor(public component: ComponentInstruction, public child: Instruction,
public auxInstruction: {[key: string]: Instruction}) {
super();
constructor(component: ComponentInstruction, child: Instruction,
auxInstruction: {[key: string]: Instruction}) {
super(component, child, auxInstruction);
}

resolveComponent(): Promise<ComponentInstruction> {
Expand All @@ -225,7 +224,9 @@ export class ResolvedInstruction extends Instruction {
* Represents a resolved default route
*/
export class DefaultInstruction extends Instruction {
constructor(public component: ComponentInstruction, public child: DefaultInstruction) { super(); }
constructor(component: ComponentInstruction, child: DefaultInstruction) {
super(component, child, {});
}

resolveComponent(): Promise<ComponentInstruction> {
return PromiseWrapper.resolve(this.component);
Expand All @@ -244,7 +245,7 @@ export class DefaultInstruction extends Instruction {
export class UnresolvedInstruction extends Instruction {
constructor(private _resolver: () => Promise<Instruction>, private _urlPath: string = '',
private _urlParams: string[] = CONST_EXPR([])) {
super();
super(null, null, {});
}

get urlPath(): string {
Expand Down
4 changes: 2 additions & 2 deletions modules/angular2/src/router/router.ts
Expand Up @@ -202,12 +202,12 @@ export class Router {
return this._settleInstruction(instruction)
.then((_) => this._routerCanReuse(instruction))
.then((_) => this._canActivate(instruction))
.then((result) => {
.then((result: boolean) => {
if (!result) {
return false;
}
return this._routerCanDeactivate(instruction)
.then((result) => {
.then((result: boolean) => {
if (result) {
return this.commit(instruction, _skipLocationChange)
.then((_) => {
Expand Down
23 changes: 13 additions & 10 deletions modules/angular2/src/web_workers/shared/generic_message_bus.dart
Expand Up @@ -9,29 +9,32 @@ import 'package:angular2/src/facade/lang.dart';
import 'package:angular2/src/facade/exceptions.dart';

class GenericMessageBus implements MessageBus {
MessageBusSink sink;
MessageBusSource source;
final MessageBusSink _sink;
final MessageBusSource _source;

MessageBusSink get sink => _sink;
MessageBusSource get source => _source;

GenericMessageBus(MessageBusSink sink, MessageBusSource source)
: sink = sink,
source = source;
: _sink = sink,
_source = source;

void attachToZone(NgZone zone) {
sink.attachToZone(zone);
source.attachToZone(zone);
_sink.attachToZone(zone);
_source.attachToZone(zone);
}

void initChannel(String channel, [bool runInZone = true]) {
sink.initChannel(channel, runInZone);
source.initChannel(channel, runInZone);
_sink.initChannel(channel, runInZone);
_source.initChannel(channel, runInZone);
}

EventEmitter from(String channel) {
return source.from(channel);
return _source.from(channel);
}

EventEmitter to(String channel) {
return sink.to(channel);
return _sink.to(channel);
}
}

Expand Down
3 changes: 0 additions & 3 deletions modules/playground/src/hash_routing/index.ts
Expand Up @@ -9,8 +9,6 @@ import {
LocationStrategy
} from 'angular2/router';

import {reflector} from 'angular2/src/core/reflection/reflection';
import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';

@Component({selector: 'hello-cmp', template: `hello`})
class HelloCmp {
Expand Down Expand Up @@ -46,7 +44,6 @@ class AppCmp {


export function main() {
reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrap(AppCmp,
[ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);
}
2 changes: 1 addition & 1 deletion modules/playground/src/material/button/demo_app.html
Expand Up @@ -34,7 +34,7 @@ <h1>Button demo</h1>
</p>

<section>
<form (submit)="submit('form submit')">
<form (submit)="submit('form submit', $event)">
<button mdButton>SUBMIT</button>
<button>Native button</button>
</form>
Expand Down
6 changes: 4 additions & 2 deletions modules/playground/src/observable_models/common.dart
Expand Up @@ -72,7 +72,8 @@ class RawEntity extends Object
}

@override
operator [](String key) {
operator [](untypedKey) {
var key = untypedKey as String;
if (!key.contains('.')) {
return _data[key];
}
Expand Down Expand Up @@ -102,7 +103,8 @@ class RawEntity extends Object
set(String name, dynamic value) { this[name] = value; }

@override
remove(String key) {
remove(untypedKey) {
var key = untypedKey as String;
if (!key.contains('.')) {
return _data.remove(key);
}
Expand Down
3 changes: 0 additions & 3 deletions modules/playground/src/relative_assets/index.ts
@@ -1,12 +1,9 @@
import {bootstrap} from 'angular2/bootstrap';
import {reflector} from 'angular2/src/core/reflection/reflection';
import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';

import {Renderer, ElementRef, Component, Directive, Injectable} from 'angular2/core';
import {MyCmp} from './my_cmp/my_cmp';

export function main() {
reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrap(RelativeApp);
}

Expand Down
4 changes: 0 additions & 4 deletions modules/playground/src/routing/index.ts
Expand Up @@ -3,11 +3,7 @@ import {provide} from 'angular2/core';
import {bootstrap} from 'angular2/bootstrap';
import {ROUTER_PROVIDERS, HashLocationStrategy, LocationStrategy} from 'angular2/router';

import {reflector} from 'angular2/src/core/reflection/reflection';
import {ReflectionCapabilities} from 'angular2/src/core/reflection/reflection_capabilities';

export function main() {
reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrap(InboxApp,
[ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy})]);
}
43 changes: 32 additions & 11 deletions scripts/ci/build_dart_experimental.sh
Expand Up @@ -11,7 +11,8 @@ source $SCRIPT_DIR/env_dart.sh
cd $SCRIPT_DIR/../..

# Variables
DDC_WARNING_CAP="180"
DDC_TOTAL_WARNING_CAP="1000"
DDC_TOTAL_ERROR_CAP="2"
DDC_DIR=`pwd`/tmp/dev_compiler
DDC_VERSION="0.1.14"

Expand All @@ -25,6 +26,7 @@ git clone https://github.com/dart-lang/dev_compiler.git tmp/dev_compiler

# Convert TypeScript to Dart
./node_modules/.bin/gulp build/packages.dart
./node_modules/.bin/gulp build.dart.material.css
./node_modules/.bin/gulp build/pubspec.dart
node ./scripts/ci/dart_experimental/pubspec_for_ddc.js \
--pubspec-file=dist/dart/playground/pubspec.yaml
Expand All @@ -36,7 +38,32 @@ cd build/web
LOG_FILE="analyzer.log"
set +e
$DART_SDK/bin/dart $DDC_DIR/bin/dartdevc.dart \
--dart-sdk=$DART_SDK_LIB_SEARCH_PATH -o out src/hello_world/index.dart \
--dart-sdk=$DART_SDK_LIB_SEARCH_PATH -o out \
src/animate/index.dart \
src/async/index.dart \
src/gestures/index.dart \
src/hash_routing/index.dart \
src/hello_world/index.dart \
src/key_events/index.dart \
src/material/button/index.dart \
src/material/checkbox/index.dart \
src/material/dialog/index.dart \
src/material/grid_list/index.dart \
src/material/input/index.dart \
src/material/progress-linear/index.dart \
src/material/radio/index.dart \
src/material/switcher/index.dart \
src/model_driven_forms/index.dart \
src/observable_models/index.dart \
src/order_management/index.dart \
src/person_management/index.dart \
src/relative_assets/index.dart \
src/routing/index.dart \
src/sourcemap/index.dart \
src/svg/index.dart \
src/template_driven_forms/index.dart \
src/todo/index.dart \
src/zippy_component/index.dart \
>$LOG_FILE
EXIT_CODE=`echo $?`
set -e
Expand All @@ -53,22 +80,16 @@ fi
cat $LOG_FILE
WARNING_COUNT=`cat $LOG_FILE | wc -l | sed -e 's/^[[:space:]]*//'`

if [[ "$WARNING_COUNT" -gt "$DDC_WARNING_CAP" ]]
if [[ "$WARNING_COUNT" -gt "$DDC_TOTAL_WARNING_CAP" ]]
then
echo "Too many warnings: $WARNING_COUNT"
exit 1
else
echo "Warning count ok"
fi

function countWarnings {
local GREP_PATTERN=$1
local COUNT=`cat $LOG_FILE | grep -E '$GREP_PATTERN' | wc -l | sed -e 's/^[[:space:]]*//'`
echo $COUNT
}

SEVERE_ANGULAR_COUNT=$(countWarnings '^severe.*package:angular2')
if [[ "$SEVERE_ANGULAR_COUNT" -gt "0" ]]
ERROR_COUNT=`cat $LOG_FILE | grep -E '^severe.*' | wc -l | sed -e 's/^[[:space:]]*//'`
if [[ "$ERROR_COUNT" -gt "$DDC_TOTAL_ERROR_CAP" ]]
then
echo "Found severe errors in angular2 package"
exit 1
Expand Down