@ -13,7 +13,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/compiler-cli": "0.0.0-PLACEHOLDER",
|
||||
"typescript": ">=2.7.2 <2.9"
|
||||
"typescript": ">=2.7.2 <2.10"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
@ -152,7 +152,7 @@ function main(args: string[]): number {
|
||||
allsrcs.filter(hasFileExtension('.d.ts')).forEach((f: string) => {
|
||||
const content = fs.readFileSync(f, 'utf-8')
|
||||
// Strip the named AMD module for compatibility with non-bazel users
|
||||
.replace(/^\/\/\/ <amd-module name=.*\/>\n/, '');
|
||||
.replace(/^\/\/\/ <amd-module name=.*\/>\n/gm, '');
|
||||
writeFileFromInputPath(f, content);
|
||||
});
|
||||
|
||||
|
@ -22,6 +22,10 @@ npm_package(
|
||||
# We don't actually import anything in the locale code so we can
|
||||
# null out the require reference passed into the module.
|
||||
"factory\(require, exports\)": "factory(null, exports)",
|
||||
|
||||
# Workaround for `.d.ts`` containing `/// <amd-module .../>`
|
||||
# which are generated in TypeScript v2.9, but not before.
|
||||
"/// <amd-module name=.*/>": "",
|
||||
},
|
||||
deps = [":locales"],
|
||||
)
|
||||
|
@ -11,11 +11,11 @@
|
||||
"dependencies": {
|
||||
"reflect-metadata": "^0.1.2",
|
||||
"minimist": "^1.2.0",
|
||||
"tsickle": "^0.29.0",
|
||||
"tsickle": "^0.30.0",
|
||||
"chokidar": "^1.4.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": ">=2.7.2 <2.9",
|
||||
"typescript": ">=2.7.2 <2.10",
|
||||
"@angular/compiler": "0.0.0-PLACEHOLDER"
|
||||
},
|
||||
"engines" : {
|
||||
|
@ -109,7 +109,7 @@ const MIN_TS_VERSION = '2.7.2';
|
||||
* ∀ supported typescript version v, v < MAX_TS_VERSION
|
||||
* MAX_TS_VERSION is not considered as a supported TypeScript version
|
||||
*/
|
||||
const MAX_TS_VERSION = '2.9.0';
|
||||
const MAX_TS_VERSION = '2.10.0';
|
||||
|
||||
class AngularCompilerProgram implements Program {
|
||||
private rootNames: string[];
|
||||
|
@ -974,7 +974,7 @@ describe('Collector', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('regerssion', () => {
|
||||
describe('regression', () => {
|
||||
it('should be able to collect a short-hand property value', () => {
|
||||
const metadata = collectSource(`
|
||||
const children = { f1: 1 };
|
||||
@ -1040,37 +1040,6 @@ describe('Collector', () => {
|
||||
.not.toBeUndefined('typeGuard was not collected');
|
||||
});
|
||||
|
||||
it('should be able to collect an invalid access expression', () => {
|
||||
const source = createSource(`
|
||||
import {Component} from '@angular/core';
|
||||
|
||||
const value = [];
|
||||
@Component({
|
||||
provider: [{provide: 'some token', useValue: value[]}]
|
||||
})
|
||||
export class MyComponent {}
|
||||
`);
|
||||
const metadata = collector.getMetadata(source) !;
|
||||
expect(metadata.metadata.MyComponent).toEqual({
|
||||
__symbolic: 'class',
|
||||
decorators: [{
|
||||
__symbolic: 'call',
|
||||
expression: {
|
||||
__symbolic: 'reference',
|
||||
module: '@angular/core',
|
||||
name: 'Component',
|
||||
line: 4,
|
||||
character: 9
|
||||
},
|
||||
arguments: [{
|
||||
__symbolic: 'error',
|
||||
message: 'Expression form not supported',
|
||||
line: 5,
|
||||
character: 55
|
||||
}]
|
||||
}]
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('references', () => {
|
||||
|
@ -28,5 +28,5 @@ export {_sanitizeUrl as ɵ_sanitizeUrl} from './sanitization/url_sanitizer';
|
||||
export {global as ɵglobal, looseIdentical as ɵlooseIdentical, stringify as ɵstringify} from './util';
|
||||
export {makeDecorator as ɵmakeDecorator} from './util/decorators';
|
||||
export {isObservable as ɵisObservable, isPromise as ɵisPromise} from './util/lang';
|
||||
export {clearOverrides as ɵclearOverrides, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider} from './view/index';
|
||||
export {clearOverrides as ɵclearOverrides, initServicesIfNeeded as ɵinitServicesIfNeeded, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider} from './view/index';
|
||||
export {NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR} from './view/provider';
|
||||
|
@ -209,7 +209,7 @@ export function defineComponent<T>(componentDefinition: {
|
||||
const type = componentDefinition.type;
|
||||
const pipeTypes = componentDefinition.pipes !;
|
||||
const directiveTypes = componentDefinition.directives !;
|
||||
const declaredInputs: {[P in keyof T]: P} = {} as any;
|
||||
const declaredInputs: {[key: string]: string} = {} as any;
|
||||
const def: ComponentDefInternal<any> = {
|
||||
type: type,
|
||||
diPublic: null,
|
||||
|
@ -1525,7 +1525,7 @@ export function baseDirectiveCreate<T>(
|
||||
* @param tNode The static data for this node
|
||||
*/
|
||||
function setInputsFromAttrs<T>(
|
||||
directiveIndex: number, instance: T, inputs: {[key: string]: string}, tNode: TNode): void {
|
||||
directiveIndex: number, instance: T, inputs: {[P in keyof T]: string;}, tNode: TNode): void {
|
||||
let initialInputData = tNode.initialInputs as InitialInputData | undefined;
|
||||
if (initialInputData === undefined || directiveIndex >= initialInputData.length) {
|
||||
initialInputData = generateInitialInputs(directiveIndex, inputs, tNode);
|
||||
|
@ -84,7 +84,7 @@ export interface DirectiveDef<T, Selector extends string> {
|
||||
type: Type<T>;
|
||||
|
||||
/** Function that makes a directive public to the DI system. */
|
||||
diPublic: ((def: DirectiveDef<any, string>) => void)|null;
|
||||
diPublic: ((def: DirectiveDef<T, string>) => void)|null;
|
||||
|
||||
/** The selectors that will be used to match nodes to this directive. */
|
||||
selectors: CssSelectorList;
|
||||
@ -94,7 +94,7 @@ export interface DirectiveDef<T, Selector extends string> {
|
||||
* are their aliases if any, or their original unminified property names
|
||||
* (as in `@Input('alias') propertyName: any;`).
|
||||
*/
|
||||
readonly inputs: {[P in keyof T]: P};
|
||||
readonly inputs: {[P in keyof T]: string};
|
||||
|
||||
/**
|
||||
* @deprecated This is only here because `NgOnChanges` incorrectly uses declared name instead of
|
||||
|
@ -6,10 +6,6 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
// Import zero symbols from zone.js. This causes the zone ambient type to be
|
||||
// added to the type-checker, without emitting any runtime module load statement
|
||||
import {} from 'zone.js';
|
||||
|
||||
// TODO(jteplitz602): Load WorkerGlobalScope from lib.webworker.d.ts file #3492
|
||||
declare var WorkerGlobalScope: any /** TODO #9100 */;
|
||||
// CommonJS / Node have global context exposed as "global" variable.
|
||||
|
@ -6,9 +6,6 @@
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
// Import zero symbols from zone.js. This causes the zone ambient type to be
|
||||
// added to the type-checker, without emitting any runtime module load statement
|
||||
import {} from 'zone.js';
|
||||
import {EventEmitter} from '../event_emitter';
|
||||
|
||||
/**
|
||||
|
@ -63,6 +63,14 @@ export function create(info: any /* ts.server.PluginCreateInfo */): ts.LanguageS
|
||||
tryCall(fileName, () => <T>(m.call(ls, fileName, p1, p2, p3, p4)));
|
||||
}
|
||||
|
||||
function tryFilenameFiveCall<T, P1, P2, P3, P4, P5>(
|
||||
m: (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) =>
|
||||
T): (fileName: string, p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => T {
|
||||
return (fileName, p1, p2, p3, p4, p5) =>
|
||||
tryCall(fileName, () => <T>(m.call(ls, fileName, p1, p2, p3, p4, p5)));
|
||||
}
|
||||
|
||||
|
||||
function typescriptOnly(ls: ts.LanguageService): ts.LanguageService {
|
||||
const languageService: ts.LanguageService = {
|
||||
cleanupSemanticCache: () => ls.cleanupSemanticCache(),
|
||||
@ -74,7 +82,7 @@ export function create(info: any /* ts.server.PluginCreateInfo */): ts.LanguageS
|
||||
getEncodedSyntacticClassifications: tryFilenameOneCall(ls.getEncodedSyntacticClassifications),
|
||||
getEncodedSemanticClassifications: tryFilenameOneCall(ls.getEncodedSemanticClassifications),
|
||||
getCompletionsAtPosition: tryFilenameTwoCall(ls.getCompletionsAtPosition),
|
||||
getCompletionEntryDetails: tryFilenameFourCall(ls.getCompletionEntryDetails),
|
||||
getCompletionEntryDetails: tryFilenameFiveCall(ls.getCompletionEntryDetails),
|
||||
getCompletionEntrySymbol: tryFilenameThreeCall(ls.getCompletionEntrySymbol),
|
||||
getQuickInfoAtPosition: tryFilenameOneCall(ls.getQuickInfoAtPosition),
|
||||
getNameOrDottedNameSpan: tryFilenameTwoCall(ls.getNameOrDottedNameSpan),
|
||||
@ -106,22 +114,28 @@ export function create(info: any /* ts.server.PluginCreateInfo */): ts.LanguageS
|
||||
getDocCommentTemplateAtPosition: tryFilenameOneCall(ls.getDocCommentTemplateAtPosition),
|
||||
isValidBraceCompletionAtPosition: tryFilenameTwoCall(ls.isValidBraceCompletionAtPosition),
|
||||
getSpanOfEnclosingComment: tryFilenameTwoCall(ls.getSpanOfEnclosingComment),
|
||||
getCodeFixesAtPosition: tryFilenameFourCall(ls.getCodeFixesAtPosition),
|
||||
getCodeFixesAtPosition: tryFilenameFiveCall(ls.getCodeFixesAtPosition),
|
||||
applyCodeActionCommand:
|
||||
<any>((action: any) => tryCall(undefined, () => ls.applyCodeActionCommand(action))),
|
||||
getEmitOutput: tryFilenameCall(ls.getEmitOutput),
|
||||
getProgram: () => ls.getProgram(),
|
||||
dispose: () => ls.dispose(),
|
||||
getApplicableRefactors: tryFilenameOneCall(ls.getApplicableRefactors),
|
||||
getEditsForRefactor: tryFilenameFourCall(ls.getEditsForRefactor),
|
||||
getApplicableRefactors: tryFilenameTwoCall(ls.getApplicableRefactors),
|
||||
getEditsForRefactor: tryFilenameFiveCall(ls.getEditsForRefactor),
|
||||
getDefinitionAndBoundSpan: tryFilenameOneCall(ls.getDefinitionAndBoundSpan),
|
||||
getCombinedCodeFix:
|
||||
(scope: ts.CombinedCodeFixScope, fixId: {}, formatOptions: ts.FormatCodeSettings) =>
|
||||
tryCall(undefined, () => ls.getCombinedCodeFix(scope, fixId, formatOptions)),
|
||||
(scope: ts.CombinedCodeFixScope, fixId: {}, formatOptions: ts.FormatCodeSettings,
|
||||
preferences: ts.UserPreferences) =>
|
||||
tryCall(
|
||||
undefined, () => ls.getCombinedCodeFix(scope, fixId, formatOptions, preferences)),
|
||||
// TODO(kyliau): dummy implementation to compile with ts 2.8, create real one
|
||||
getSuggestionDiagnostics: (fileName: string) => [],
|
||||
// TODO(kyliau): dummy implementation to compile with ts 2.8, create real one
|
||||
organizeImports: (scope: ts.CombinedCodeFixScope, formatOptions: ts.FormatCodeSettings) => [],
|
||||
// TODO: dummy implementation to compile with ts 2.9, create a real one
|
||||
getEditsForFileRename:
|
||||
(oldFilePath: string, newFilePath: string, formatOptions: ts.FormatCodeSettings,
|
||||
preferences: ts.UserPreferences | undefined) => []
|
||||
} as ts.LanguageService;
|
||||
return languageService;
|
||||
}
|
||||
|
@ -10,10 +10,6 @@ import {isPlatformServer} from '@angular/common';
|
||||
import {Inject, Injectable, NgZone, Optional, PLATFORM_ID} from '@angular/core';
|
||||
|
||||
|
||||
// Import zero symbols from zone.js. This causes the zone ambient type to be
|
||||
// added to the type-checker, without emitting any runtime module load statement
|
||||
import {} from 'zone.js';
|
||||
|
||||
import {DOCUMENT} from '../dom_tokens';
|
||||
|
||||
import {EventManagerPlugin} from './event_manager';
|
||||
|
@ -19,3 +19,4 @@ export {DomEventsPlugin as ɵDomEventsPlugin} from './dom/events/dom_events';
|
||||
export {HammerGesturesPlugin as ɵHammerGesturesPlugin} from './dom/events/hammer_gestures';
|
||||
export {KeyEventsPlugin as ɵKeyEventsPlugin} from './dom/events/key_events';
|
||||
export {DomSharedStylesHost as ɵDomSharedStylesHost, SharedStylesHost as ɵSharedStylesHost} from './dom/shared_styles_host';
|
||||
export {DomSanitizerImpl as ɵDomSanitizerImpl} from './security/dom_sanitization_service';
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
import {Attribute, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, Directive, EventEmitter, Injector, OnDestroy, OnInit, Output, ViewContainerRef} from '@angular/core';
|
||||
|
||||
import {Data} from '../config';
|
||||
import {ChildrenOutletContexts} from '../router_outlet_context';
|
||||
import {ActivatedRoute} from '../router_state';
|
||||
import {PRIMARY_OUTLET} from '../shared';
|
||||
@ -83,7 +84,7 @@ export class RouterOutlet implements OnDestroy, OnInit {
|
||||
return this._activatedRoute as ActivatedRoute;
|
||||
}
|
||||
|
||||
get activatedRouteData() {
|
||||
get activatedRouteData(): Data {
|
||||
if (this._activatedRoute) {
|
||||
return this._activatedRoute.snapshot.data;
|
||||
}
|
||||
|
Reference in New Issue
Block a user