From 2b704f05868e62c2497111350c6f3b6448fb2368 Mon Sep 17 00:00:00 2001 From: Patrice Chalin Date: Thu, 4 Aug 2016 11:31:58 -0700 Subject: [PATCH] fix(linker/compiler): rename const to avoid duplicate declaration (#10457) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently in the `linker/compiler.ts` file, the **same identifier** is used in **two declarations**: ```typescript export type CompilerOptions = { … } … export const CompilerOptions = new OpaqueToken('compilerOptions'); ``` This breaks the API doc generation. I’m surprised that this was not flagged by the tsc. The duplicate declaration was introduced in https://github.com/angular/angular/commit/46b212706b9162c22fb1523032d7e37c9155015a. --- modules/@angular/compiler/src/compiler.ts | 6 +++--- modules/@angular/compiler/testing.ts | 4 ++-- modules/@angular/core/src/linker.ts | 2 +- modules/@angular/core/src/linker/compiler.ts | 2 +- modules/@angular/platform-browser-dynamic/index.ts | 4 ++-- .../platform-browser-dynamic/src/platform_providers.ts | 4 ++-- modules/@angular/platform-browser-dynamic/testing.ts | 4 ++-- modules/@angular/platform-server/testing/server.ts | 5 +++-- tools/public_api_guard/core/index.d.ts | 10 +++++++++- 9 files changed, 25 insertions(+), 16 deletions(-) diff --git a/modules/@angular/compiler/src/compiler.ts b/modules/@angular/compiler/src/compiler.ts index b6dc031502..3c04b65cb6 100644 --- a/modules/@angular/compiler/src/compiler.ts +++ b/modules/@angular/compiler/src/compiler.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Compiler, CompilerFactory, CompilerOptions, Component, Inject, Injectable, PLATFORM_DIRECTIVES, PLATFORM_INITIALIZER, PLATFORM_PIPES, PlatformRef, ReflectiveInjector, Type, ViewEncapsulation, createPlatformFactory, isDevMode, platformCore} from '@angular/core'; +import {COMPILER_OPTIONS, Compiler, CompilerFactory, CompilerOptions, Component, Inject, Injectable, PLATFORM_DIRECTIVES, PLATFORM_INITIALIZER, PLATFORM_PIPES, PlatformRef, ReflectiveInjector, Type, ViewEncapsulation, createPlatformFactory, isDevMode, platformCore} from '@angular/core'; export * from './template_parser/template_ast'; export {TEMPLATE_TRANSFORMS} from './template_parser/template_parser'; @@ -152,7 +152,7 @@ export function analyzeAppProvidersForDeprecatedConfiguration(appProviders: any[ @Injectable() export class RuntimeCompilerFactory implements CompilerFactory { private _defaultOptions: CompilerOptions[]; - constructor(@Inject(CompilerOptions) defaultOptions: CompilerOptions[]) { + constructor(@Inject(COMPILER_OPTIONS) defaultOptions: CompilerOptions[]) { this._defaultOptions = [{ useDebug: isDevMode(), useJit: true, @@ -196,7 +196,7 @@ function _initReflector() { * @experimental */ export const platformCoreDynamic = createPlatformFactory(platformCore, 'coreDynamic', [ - {provide: CompilerOptions, useValue: {}, multi: true}, + {provide: COMPILER_OPTIONS, useValue: {}, multi: true}, {provide: CompilerFactory, useClass: RuntimeCompilerFactory}, {provide: PLATFORM_INITIALIZER, useValue: _initReflector, multi: true}, ]); diff --git a/modules/@angular/compiler/testing.ts b/modules/@angular/compiler/testing.ts index 52a3fa52ff..69dd15f299 100644 --- a/modules/@angular/compiler/testing.ts +++ b/modules/@angular/compiler/testing.ts @@ -13,7 +13,7 @@ export * from './testing/ng_module_resolver_mock'; export * from './testing/pipe_resolver_mock'; import {ConcreteType, Type} from './src/facade/lang'; -import {createPlatformFactory, ModuleWithComponentFactories, Injectable, CompilerOptions, PlatformRef, CompilerFactory, ComponentFactory, NgModuleFactory, Injector, NgModuleMetadata, NgModuleMetadataType, ComponentMetadata, ComponentMetadataType, DirectiveMetadata, DirectiveMetadataType, PipeMetadata, PipeMetadataType} from '@angular/core'; +import {createPlatformFactory, ModuleWithComponentFactories, Injectable, CompilerOptions, COMPILER_OPTIONS, PlatformRef, CompilerFactory, ComponentFactory, NgModuleFactory, Injector, NgModuleMetadata, NgModuleMetadataType, ComponentMetadata, ComponentMetadataType, DirectiveMetadata, DirectiveMetadataType, PipeMetadata, PipeMetadataType} from '@angular/core'; import {MetadataOverride} from '@angular/core/testing'; import {TestingCompilerFactory, TestingCompiler} from './core_private_testing'; import {platformCoreDynamic, RuntimeCompiler, DirectiveResolver, NgModuleResolver, PipeResolver} from './index'; @@ -99,7 +99,7 @@ export class TestingCompilerImpl implements TestingCompiler { export const platformCoreDynamicTesting = createPlatformFactory(platformCoreDynamic, 'coreDynamicTesting', [ { - provide: CompilerOptions, + provide: COMPILER_OPTIONS, useValue: { providers: [ MockPipeResolver, {provide: PipeResolver, useExisting: MockPipeResolver}, diff --git a/modules/@angular/core/src/linker.ts b/modules/@angular/core/src/linker.ts index 6cff67fb12..020059bb76 100644 --- a/modules/@angular/core/src/linker.ts +++ b/modules/@angular/core/src/linker.ts @@ -7,7 +7,7 @@ */ // Public API for compiler -export {Compiler, CompilerFactory, CompilerOptions, ComponentStillLoadingError, ModuleWithComponentFactories} from './linker/compiler'; +export {COMPILER_OPTIONS, Compiler, CompilerFactory, CompilerOptions, ComponentStillLoadingError, ModuleWithComponentFactories} from './linker/compiler'; export {ComponentFactory, ComponentRef} from './linker/component_factory'; export {ComponentFactoryResolver, NoComponentFactoryError} from './linker/component_factory_resolver'; export {ComponentResolver} from './linker/component_resolver'; diff --git a/modules/@angular/core/src/linker/compiler.ts b/modules/@angular/core/src/linker/compiler.ts index a848458a97..5bdd1d3675 100644 --- a/modules/@angular/core/src/linker/compiler.ts +++ b/modules/@angular/core/src/linker/compiler.ts @@ -126,7 +126,7 @@ export type CompilerOptions = { * * @experimental */ -export const CompilerOptions = new OpaqueToken('compilerOptions'); +export const COMPILER_OPTIONS = new OpaqueToken('compilerOptions'); /** * A factory for creating a Compiler diff --git a/modules/@angular/platform-browser-dynamic/index.ts b/modules/@angular/platform-browser-dynamic/index.ts index 7ed999fa33..721a9c85fc 100644 --- a/modules/@angular/platform-browser-dynamic/index.ts +++ b/modules/@angular/platform-browser-dynamic/index.ts @@ -7,7 +7,7 @@ */ import {XHR, analyzeAppProvidersForDeprecatedConfiguration, platformCoreDynamic} from '@angular/compiler'; -import {ApplicationRef, Compiler, CompilerFactory, CompilerOptions, ComponentRef, ComponentResolver, ExceptionHandler, NgModule, NgModuleRef, OpaqueToken, PLATFORM_DIRECTIVES, PLATFORM_INITIALIZER, PLATFORM_PIPES, PlatformRef, ReflectiveInjector, SchemaMetadata, Type, assertPlatform, createPlatform, createPlatformFactory, getPlatform, isDevMode} from '@angular/core'; +import {ApplicationRef, COMPILER_OPTIONS, Compiler, CompilerFactory, CompilerOptions, ComponentRef, ComponentResolver, ExceptionHandler, NgModule, NgModuleRef, OpaqueToken, PLATFORM_DIRECTIVES, PLATFORM_INITIALIZER, PLATFORM_PIPES, PlatformRef, ReflectiveInjector, SchemaMetadata, Type, assertPlatform, createPlatform, createPlatformFactory, getPlatform, isDevMode} from '@angular/core'; import {BROWSER_PLATFORM_PROVIDERS, BrowserModule, WORKER_APP_PLATFORM_PROVIDERS, WORKER_SCRIPT, WorkerAppModule, platformBrowser, platformWorkerApp, platformWorkerUi} from '@angular/platform-browser'; import {Console} from './core_private'; @@ -206,7 +206,7 @@ export function bootstrapWorkerUi( */ export const platformWorkerAppDynamic = createPlatformFactory(platformCoreDynamic, 'workerAppDynamic', [{ - provide: CompilerOptions, + provide: COMPILER_OPTIONS, useValue: {providers: [{provide: XHR, useClass: XHRImpl}]}, multi: true }]); diff --git a/modules/@angular/platform-browser-dynamic/src/platform_providers.ts b/modules/@angular/platform-browser-dynamic/src/platform_providers.ts index 5106930c56..4930e7eb21 100644 --- a/modules/@angular/platform-browser-dynamic/src/platform_providers.ts +++ b/modules/@angular/platform-browser-dynamic/src/platform_providers.ts @@ -7,7 +7,7 @@ */ import {XHR} from '@angular/compiler'; -import {CompilerOptions} from '@angular/core'; +import {COMPILER_OPTIONS} from '@angular/core'; import {INTERNAL_BROWSER_PLATFORM_PROVIDERS} from '../platform_browser_private'; @@ -16,7 +16,7 @@ import {XHRImpl} from './xhr/xhr_impl'; export const INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: any[] = [ INTERNAL_BROWSER_PLATFORM_PROVIDERS, { - provide: CompilerOptions, + provide: COMPILER_OPTIONS, useValue: {providers: [{provide: XHR, useClass: XHRImpl}]}, multi: true }, diff --git a/modules/@angular/platform-browser-dynamic/testing.ts b/modules/@angular/platform-browser-dynamic/testing.ts index 3be69571c4..9b15aeb5b1 100644 --- a/modules/@angular/platform-browser-dynamic/testing.ts +++ b/modules/@angular/platform-browser-dynamic/testing.ts @@ -8,7 +8,7 @@ import {CompilerConfig, DirectiveResolver, NgModuleResolver, analyzeAppProvidersForDeprecatedConfiguration} from '@angular/compiler'; import {OverridingTestComponentBuilder, platformCoreDynamicTesting} from '@angular/compiler/testing'; -import {Compiler, CompilerFactory, CompilerOptions, NgModule, PlatformRef, Provider, ReflectiveInjector, Type, createPlatform, createPlatformFactory} from '@angular/core'; +import {COMPILER_OPTIONS, Compiler, CompilerFactory, NgModule, PlatformRef, Provider, ReflectiveInjector, Type, createPlatform, createPlatformFactory} from '@angular/core'; import {TestBed, TestComponentBuilder, TestComponentRenderer} from '@angular/core/testing'; import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing'; @@ -50,7 +50,7 @@ export const TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: Array { const deprecatedConfiguration = analyzeAppProvidersForDeprecatedConfiguration(appProviders); const platformRef = createPlatformFactory(platformServerTesting, 'serverTestingDeprecated', [{ - provide: CompilerOptions, + provide: COMPILER_OPTIONS, useValue: deprecatedConfiguration.compilerOptions, multi: true }])(); diff --git a/tools/public_api_guard/core/index.d.ts b/tools/public_api_guard/core/index.d.ts index f1c11707a0..b75d254a82 100644 --- a/tools/public_api_guard/core/index.d.ts +++ b/tools/public_api_guard/core/index.d.ts @@ -258,13 +258,21 @@ export declare class Compiler { compileModuleSync(moduleType: ConcreteType): NgModuleFactory; } +/** @experimental */ +export declare const COMPILER_OPTIONS: OpaqueToken; + /** @experimental */ export declare abstract class CompilerFactory { abstract createCompiler(options?: CompilerOptions[]): Compiler; } /** @experimental */ -export declare const CompilerOptions: OpaqueToken; +export declare type CompilerOptions = { + useDebug?: boolean; + useJit?: boolean; + defaultEncapsulation?: ViewEncapsulation; + providers?: any[]; +}; /** @stable */ export declare var Component: ComponentMetadataFactory;