refactor(core): rename ngInjectableDef to ɵprov (#33151)
Injectable defs are not considered public API, so the property that contains them should be prefixed with Angular's marker for "private" ('ɵ') to discourage apps from relying on def APIs directly. This commit adds the prefix and shortens the name from ngInjectableDef to "prov" (for "provider", since injector defs are known as "inj"). This is because property names cannot be minified by Uglify without turning on property mangling (which most apps have turned off) and are thus size-sensitive. PR Close #33151
This commit is contained in:

committed by
Matias Niemelä

parent
cda9248b33
commit
86104b82b8
@ -29,9 +29,15 @@
|
||||
{
|
||||
"name": "NG_INJECTABLE_DEF"
|
||||
},
|
||||
{
|
||||
"name": "NG_INJECTOR_DEF"
|
||||
},
|
||||
{
|
||||
"name": "NG_INJ_DEF"
|
||||
},
|
||||
{
|
||||
"name": "NG_PROV_DEF"
|
||||
},
|
||||
{
|
||||
"name": "NG_TEMP_TOKEN_PATH"
|
||||
},
|
||||
|
@ -9,7 +9,7 @@
|
||||
import {Injector, ɵcreateInjector as createInjector, ɵɵdefineInjectable, ɵɵdefineInjector} from '@angular/core';
|
||||
|
||||
export class RootService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: RootService,
|
||||
providedIn: 'root',
|
||||
factory: () => new RootService(),
|
||||
@ -17,7 +17,7 @@ export class RootService {
|
||||
}
|
||||
|
||||
export class ScopedService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ScopedService,
|
||||
providedIn: null,
|
||||
factory: () => new ScopedService(),
|
||||
|
@ -140,6 +140,9 @@
|
||||
{
|
||||
"name": "NG_PIPE_DEF"
|
||||
},
|
||||
{
|
||||
"name": "NG_PROV_DEF"
|
||||
},
|
||||
{
|
||||
"name": "NG_TEMPLATE_SELECTOR"
|
||||
},
|
||||
|
@ -12,7 +12,7 @@ import {expect} from '@angular/platform-browser/testing/src/matchers';
|
||||
|
||||
describe('InjectorDef-based createInjector()', () => {
|
||||
class CircularA {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: CircularA,
|
||||
providedIn: null,
|
||||
factory: () => ɵɵinject(CircularB),
|
||||
@ -20,7 +20,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
}
|
||||
|
||||
class CircularB {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: CircularB,
|
||||
providedIn: null,
|
||||
factory: () => ɵɵinject(CircularA),
|
||||
@ -28,7 +28,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
}
|
||||
|
||||
class Service {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: Service,
|
||||
providedIn: null,
|
||||
factory: () => new Service(),
|
||||
@ -36,7 +36,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
}
|
||||
|
||||
class OptionalService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: OptionalService,
|
||||
providedIn: null,
|
||||
factory: () => new OptionalService(),
|
||||
@ -59,7 +59,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
class ServiceWithDep {
|
||||
constructor(readonly service: Service) {}
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ServiceWithDep,
|
||||
providedIn: null,
|
||||
// ChildService is derived from ServiceWithDep, so the factory function here must do the right
|
||||
@ -71,7 +71,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
class ServiceWithOptionalDep {
|
||||
constructor(@Optional() readonly service: OptionalService|null) {}
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ServiceWithOptionalDep,
|
||||
providedIn: null,
|
||||
factory: () => new ServiceWithOptionalDep(ɵɵinject(OptionalService, InjectFlags.Optional)),
|
||||
@ -81,7 +81,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
class ServiceWithMissingDep {
|
||||
constructor(readonly service: Service) {}
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ServiceWithMissingDep,
|
||||
providedIn: null,
|
||||
factory: () => new ServiceWithMissingDep(ɵɵinject(Service)),
|
||||
@ -91,7 +91,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
class ServiceWithMultiDep {
|
||||
constructor(readonly locale: string[]) {}
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ServiceWithMultiDep,
|
||||
providedIn: null,
|
||||
factory: () => new ServiceWithMultiDep(ɵɵinject(LOCALE)),
|
||||
@ -99,7 +99,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
}
|
||||
|
||||
class ServiceTwo {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ServiceTwo,
|
||||
providedIn: null,
|
||||
factory: () => new ServiceTwo(),
|
||||
@ -108,7 +108,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
|
||||
let deepServiceDestroyed = false;
|
||||
class DeepService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: DeepService,
|
||||
providedIn: null,
|
||||
factory: () => new DeepService(),
|
||||
@ -119,7 +119,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
|
||||
let eagerServiceCreated: boolean = false;
|
||||
class EagerService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: EagerService,
|
||||
providedIn: undefined,
|
||||
factory: () => new EagerService(),
|
||||
@ -218,7 +218,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
|
||||
let scopedServiceDestroyed = false;
|
||||
class ScopedService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: ScopedService,
|
||||
providedIn: Module,
|
||||
factory: () => new ScopedService(),
|
||||
@ -228,7 +228,7 @@ describe('InjectorDef-based createInjector()', () => {
|
||||
}
|
||||
|
||||
class WrongScopeService {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: WrongScopeService,
|
||||
providedIn: OtherModule,
|
||||
factory: () => new WrongScopeService(),
|
||||
|
@ -1387,7 +1387,7 @@ function declareTests(config?: {useJit: boolean}) {
|
||||
}
|
||||
|
||||
class Bar {
|
||||
static ngInjectableDef: ɵɵInjectableDef<Bar> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<Bar> = ɵɵdefineInjectable({
|
||||
token: Bar,
|
||||
factory: () => new Bar(),
|
||||
providedIn: SomeModule,
|
||||
@ -1420,7 +1420,7 @@ function declareTests(config?: {useJit: boolean}) {
|
||||
}
|
||||
|
||||
class Bar {
|
||||
static ngInjectableDef: ɵɵInjectableDef<Bar> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<Bar> = ɵɵdefineInjectable({
|
||||
token: Bar,
|
||||
factory: () => new Bar(),
|
||||
providedIn: SomeModule,
|
||||
|
@ -63,7 +63,7 @@ describe('component', () => {
|
||||
|
||||
class MyService {
|
||||
constructor(public value: string) {}
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: MyService,
|
||||
providedIn: 'root',
|
||||
factory: () => new MyService('no-injector'),
|
||||
|
@ -43,8 +43,8 @@ ivyEnabled && describe('render3 jit', () => {
|
||||
}
|
||||
const ServiceAny = Service as any;
|
||||
|
||||
expect(ServiceAny.ngInjectableDef).toBeDefined();
|
||||
expect(ServiceAny.ngInjectableDef.providedIn).toBe('root');
|
||||
expect(ServiceAny.ɵprov).toBeDefined();
|
||||
expect(ServiceAny.ɵprov.providedIn).toBe('root');
|
||||
expect(ɵɵinject(Service) instanceof Service).toBe(true);
|
||||
});
|
||||
|
||||
@ -167,7 +167,7 @@ ivyEnabled && describe('render3 jit', () => {
|
||||
|
||||
it('compiles a module to an ɵinj with the providers', () => {
|
||||
class Token {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: Token,
|
||||
providedIn: 'root',
|
||||
factory: () => 'default',
|
||||
|
@ -58,7 +58,7 @@ describe('providers', () => {
|
||||
public greet: string;
|
||||
constructor(private provider: GreeterProvider) { this.greet = this.provider.provide(); }
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: GreeterInj,
|
||||
factory: () => new GreeterInj(ɵɵinject(GreeterProvider as any)),
|
||||
});
|
||||
@ -816,7 +816,7 @@ describe('providers', () => {
|
||||
it('should work with root', () => {
|
||||
@Injectable({providedIn: 'root'})
|
||||
class FooForRoot {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: FooForRoot,
|
||||
factory: () => new FooForRoot(),
|
||||
providedIn: 'root',
|
||||
@ -841,7 +841,7 @@ describe('providers', () => {
|
||||
|
||||
@Injectable({providedIn: MyModule})
|
||||
class FooForModule {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: FooForModule,
|
||||
factory: () => new FooForModule(),
|
||||
providedIn: MyModule,
|
||||
@ -1168,7 +1168,7 @@ describe('providers', () => {
|
||||
class MyService {
|
||||
constructor(public value: String) {}
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: MyService,
|
||||
factory: () => new MyService(ɵɵinject(String)),
|
||||
});
|
||||
@ -1188,7 +1188,7 @@ describe('providers', () => {
|
||||
|
||||
it('should make sure that parent service does not see overrides in child directives', () => {
|
||||
class Greeter {
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: Greeter,
|
||||
factory: () => new Greeter(ɵɵinject(String)),
|
||||
});
|
||||
@ -1233,7 +1233,7 @@ describe('providers', () => {
|
||||
class SomeInj implements Some {
|
||||
constructor(public location: String) {}
|
||||
|
||||
static ngInjectableDef = ɵɵdefineInjectable({
|
||||
static ɵprov = ɵɵdefineInjectable({
|
||||
token: SomeInj,
|
||||
factory: () => new SomeInj(ɵɵinject(String)),
|
||||
});
|
||||
|
@ -25,7 +25,7 @@ class MyChildModule {}
|
||||
class NotMyModule {}
|
||||
|
||||
class Bar {
|
||||
static ngInjectableDef: ɵɵInjectableDef<Bar> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<Bar> = ɵɵdefineInjectable({
|
||||
token: Bar,
|
||||
factory: () => new Bar(),
|
||||
providedIn: MyModule,
|
||||
@ -33,7 +33,7 @@ class Bar {
|
||||
}
|
||||
|
||||
class Baz {
|
||||
static ngInjectableDef: ɵɵInjectableDef<Baz> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<Baz> = ɵɵdefineInjectable({
|
||||
token: Baz,
|
||||
factory: () => new Baz(),
|
||||
providedIn: NotMyModule,
|
||||
@ -43,7 +43,7 @@ class Baz {
|
||||
class HasNormalDep {
|
||||
constructor(public foo: Foo) {}
|
||||
|
||||
static ngInjectableDef: ɵɵInjectableDef<HasNormalDep> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<HasNormalDep> = ɵɵdefineInjectable({
|
||||
token: HasNormalDep,
|
||||
factory: () => new HasNormalDep(inject(Foo)),
|
||||
providedIn: MyModule,
|
||||
@ -53,7 +53,7 @@ class HasNormalDep {
|
||||
class HasDefinedDep {
|
||||
constructor(public bar: Bar) {}
|
||||
|
||||
static ngInjectableDef: ɵɵInjectableDef<HasDefinedDep> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<HasDefinedDep> = ɵɵdefineInjectable({
|
||||
token: HasDefinedDep,
|
||||
factory: () => new HasDefinedDep(inject(Bar)),
|
||||
providedIn: MyModule,
|
||||
@ -63,7 +63,7 @@ class HasDefinedDep {
|
||||
class HasOptionalDep {
|
||||
constructor(public baz: Baz|null) {}
|
||||
|
||||
static ngInjectableDef: ɵɵInjectableDef<HasOptionalDep> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<HasOptionalDep> = ɵɵdefineInjectable({
|
||||
token: HasOptionalDep,
|
||||
factory: () => new HasOptionalDep(inject(Baz, InjectFlags.Optional)),
|
||||
providedIn: MyModule,
|
||||
@ -71,7 +71,7 @@ class HasOptionalDep {
|
||||
}
|
||||
|
||||
class ChildDep {
|
||||
static ngInjectableDef: ɵɵInjectableDef<ChildDep> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<ChildDep> = ɵɵdefineInjectable({
|
||||
token: ChildDep,
|
||||
factory: () => new ChildDep(),
|
||||
providedIn: MyChildModule,
|
||||
@ -80,7 +80,7 @@ class ChildDep {
|
||||
|
||||
class FromChildWithOptionalDep {
|
||||
constructor(public baz: Baz|null) {}
|
||||
static ngInjectableDef: ɵɵInjectableDef<FromChildWithOptionalDep> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<FromChildWithOptionalDep> = ɵɵdefineInjectable({
|
||||
token: FromChildWithOptionalDep,
|
||||
factory: () => new FromChildWithOptionalDep(inject(Baz, InjectFlags.Default)),
|
||||
providedIn: MyChildModule,
|
||||
@ -91,7 +91,7 @@ class FromChildWithSkipSelfDep {
|
||||
constructor(
|
||||
public skipSelfChildDep: ChildDep|null, public selfChildDep: ChildDep|null,
|
||||
public optionalSelfBar: Bar|null) {}
|
||||
static ngInjectableDef: ɵɵInjectableDef<FromChildWithSkipSelfDep> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<FromChildWithSkipSelfDep> = ɵɵdefineInjectable({
|
||||
token: FromChildWithSkipSelfDep,
|
||||
factory: () => new FromChildWithSkipSelfDep(
|
||||
inject(ChildDep, InjectFlags.SkipSelf|InjectFlags.Optional),
|
||||
@ -215,7 +215,7 @@ describe('NgModuleRef_ injector', () => {
|
||||
|
||||
ngOnDestroy(): void { Service.destroyed++; }
|
||||
|
||||
static ngInjectableDef: ɵɵInjectableDef<Service> = ɵɵdefineInjectable({
|
||||
static ɵprov: ɵɵInjectableDef<Service> = ɵɵdefineInjectable({
|
||||
token: Service,
|
||||
factory: () => new Service(),
|
||||
providedIn: 'root',
|
||||
|
Reference in New Issue
Block a user