refactor(view_compiler): codegen DI and Queries
BREAKING CHANGE: - Renderer: * renderComponent method is removed form `Renderer`, only present on `RootRenderer` * Renderer.setDebugInfo is removed. Renderer.createElement / createText / createTemplateAnchor now take the DebugInfo directly. - Query semantics: * Queries don't work with dynamically loaded components. * e.g. for router-outlet: loaded components can't be queries via @ViewQuery, but router-outlet emits an event `activate` now that emits the activated component - Exception classes and the context inside changed (renamed fields) - DebugElement.attributes is an Object and not a Map in JS any more - ChangeDetectorGenConfig was renamed into CompilerConfig - AppViewManager.createEmbeddedViewInContainer / AppViewManager.createHostViewInContainer are removed, use the methods in ViewContainerRef instead - Change detection order changed: * 1. dirty check component inputs * 2. dirty check content children * 3. update render nodes Closes #6301 Closes #6567
This commit is contained in:
@ -12,6 +12,7 @@ import ts2dart from '../broccoli-ts2dart';
|
||||
import dartfmt from '../broccoli-dartfmt';
|
||||
import replace from '../broccoli-replace';
|
||||
import {AngularBuilderOptions} from '../angular_builder';
|
||||
import generateForTest from '../broccoli-generate-for-test';
|
||||
|
||||
var global_excludes = [
|
||||
'angular2/examples/**/ts/**/*',
|
||||
@ -61,17 +62,26 @@ function stripModulePrefix(relativePath: string): string {
|
||||
return relativePath.replace(/^modules\//, '');
|
||||
}
|
||||
|
||||
function getSourceTree() {
|
||||
function getSourceTree(options: AngularBuilderOptions) {
|
||||
var tsInputTree = modulesFunnel(['**/*.js', '**/*.ts', '**/*.dart'], ['angular1_router/**/*']);
|
||||
var transpiled = ts2dart(tsInputTree, {
|
||||
generateLibraryName: true,
|
||||
generateSourceMap: false,
|
||||
translateBuiltins: true,
|
||||
});
|
||||
|
||||
// Native sources, dart only examples, etc.
|
||||
var dartSrcs = modulesFunnel(
|
||||
['**/*.dart', '**/*.ng_meta.json', '**/*.aliases.json', '**/css/**', '**/*.css']);
|
||||
return mergeTrees([transpiled, dartSrcs]);
|
||||
|
||||
var compiledTree = mergeTrees([transpiled, dartSrcs]);
|
||||
|
||||
// Generate test files
|
||||
let generatedDartTestFiles = generateForTest(
|
||||
mergeTrees([compiledTree, new Funnel('packages', {include: ['path/**', 'stack_trace/**']})]),
|
||||
{files: ['*/test/**/*_codegen_typed.dart'], dartPath: options.dartSDK.VM});
|
||||
|
||||
return mergeTrees([compiledTree, generatedDartTestFiles], {overwrite: true});
|
||||
}
|
||||
|
||||
function fixDartFolderLayout(sourceTree) {
|
||||
@ -169,7 +179,7 @@ function getDocsTree() {
|
||||
}
|
||||
|
||||
module.exports = function makeDartTree(options: AngularBuilderOptions) {
|
||||
var dartSources = dartfmt(getSourceTree(), {dartSDK: options.dartSDK, logs: options.logs});
|
||||
var dartSources = dartfmt(getSourceTree(options), {dartSDK: options.dartSDK, logs: options.logs});
|
||||
var sourceTree = mergeTrees([dartSources, getHtmlSourcesTree(), getExamplesJsonTree()]);
|
||||
sourceTree = fixDartFolderLayout(sourceTree);
|
||||
|
||||
|
Reference in New Issue
Block a user