refactor(core): rename ngDirectiveDef to ɵdir (#33110)
Directive 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 ngDirectiveDef to dir. 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. Note that the other "defs" (ngFactoryDef, etc) will be prefixed and shortened in follow-up PRs, in an attempt to limit how large and conflict-y this change is. PR Close #33110
This commit is contained in:

committed by
Miško Hevery

parent
d8249d1230
commit
1a67d70bf8
@ -100,7 +100,7 @@ export class DirectiveDecoratorHandler implements
|
||||
}
|
||||
return [
|
||||
factoryRes, {
|
||||
name: 'ngDirectiveDef',
|
||||
name: 'ɵdir',
|
||||
initializer: res.expression,
|
||||
statements: [],
|
||||
type: res.type,
|
||||
|
@ -69,7 +69,7 @@ export class DtsMetadataReader implements MetadataReader {
|
||||
getDirectiveMetadata(ref: Reference<ClassDeclaration>): DirectiveMeta|null {
|
||||
const clazz = ref.node;
|
||||
const def = this.reflector.getMembersOfClass(clazz).find(
|
||||
field => field.isStatic && (field.name === 'ɵcmp' || field.name === 'ngDirectiveDef'));
|
||||
field => field.isStatic && (field.name === 'ɵcmp' || field.name === 'ɵdir'));
|
||||
if (def === undefined) {
|
||||
// No definition could be found.
|
||||
return null;
|
||||
|
@ -85,7 +85,7 @@ runInEachFileSystem(() => {
|
||||
const {resolver, refs} = makeTestEnv({
|
||||
'test': `
|
||||
export declare class Dir {
|
||||
static ngDirectiveDef: DirectiveMeta<Dir, '[dir]', ['exportAs'], {'input': 'input2'},
|
||||
static ɵdir: DirectiveMeta<Dir, '[dir]', ['exportAs'], {'input': 'input2'},
|
||||
{'output': 'output2'}, ['query']>;
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ runInEachFileSystem(() => {
|
||||
const {resolver, refs} = makeTestEnv({
|
||||
'test': `
|
||||
export declare class Dir {
|
||||
static ngDirectiveDef: DirectiveMeta<Dir, '[dir]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<Dir, '[dir]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class ModuleA {
|
||||
@ -124,7 +124,7 @@ runInEachFileSystem(() => {
|
||||
const {resolver, refs} = makeTestEnv({
|
||||
'declaration': `
|
||||
export declare class Dir {
|
||||
static ngDirectiveDef: DirectiveMeta<Dir, '[dir]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<Dir, '[dir]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class ModuleA {
|
||||
@ -152,7 +152,7 @@ runInEachFileSystem(() => {
|
||||
{
|
||||
'deep': `
|
||||
export declare class DeepDir {
|
||||
static ngDirectiveDef: DirectiveMeta<DeepDir, '[deep]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<DeepDir, '[deep]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class DeepModule {
|
||||
@ -163,7 +163,7 @@ runInEachFileSystem(() => {
|
||||
import * as deep from 'deep';
|
||||
|
||||
export declare class MiddleDir {
|
||||
static ngDirectiveDef: DirectiveMeta<MiddleDir, '[middle]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<MiddleDir, '[middle]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class MiddleModule {
|
||||
@ -174,7 +174,7 @@ runInEachFileSystem(() => {
|
||||
import * as middle from 'middle';
|
||||
|
||||
export declare class ShallowDir {
|
||||
static ngDirectiveDef: DirectiveMeta<ShallowDir, '[middle]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<ShallowDir, '[middle]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class ShallowModule {
|
||||
@ -202,7 +202,7 @@ runInEachFileSystem(() => {
|
||||
{
|
||||
'deep': `
|
||||
export declare class DeepDir {
|
||||
static ngDirectiveDef: DirectiveMeta<DeepDir, '[deep]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<DeepDir, '[deep]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class DeepModule {
|
||||
@ -213,7 +213,7 @@ runInEachFileSystem(() => {
|
||||
import * as deep from 'deep';
|
||||
|
||||
export declare class MiddleDir {
|
||||
static ngDirectiveDef: DirectiveMeta<MiddleDir, '[middle]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<MiddleDir, '[middle]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class MiddleModule {
|
||||
@ -224,7 +224,7 @@ runInEachFileSystem(() => {
|
||||
import * as middle from 'middle';
|
||||
|
||||
export declare class ShallowDir {
|
||||
static ngDirectiveDef: DirectiveMeta<ShallowDir, '[middle]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<ShallowDir, '[middle]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class ShallowModule {
|
||||
@ -253,7 +253,7 @@ runInEachFileSystem(() => {
|
||||
{
|
||||
'module': `
|
||||
export declare class DeepDir {
|
||||
static ngDirectiveDef: DirectiveMeta<DeepDir, '[deep]', never, never, never, never>;
|
||||
static ɵdir: DirectiveMeta<DeepDir, '[deep]', never, never, never, never>;
|
||||
}
|
||||
|
||||
export declare class DeepModule {
|
||||
|
@ -21,7 +21,7 @@
|
||||
const R3_DEF_NAME_PATTERN = [
|
||||
'ngBaseDef',
|
||||
'ɵcmp',
|
||||
'ngDirectiveDef',
|
||||
'ɵdir',
|
||||
'ngInjectableDef',
|
||||
'ngInjectorDef',
|
||||
'ngModuleDef',
|
||||
|
Reference in New Issue
Block a user