Ensures ASC alphabetical order for NgModule
metadata arrays for easy visual scanning
- Type: suggestion
- 🔧 Supports autofix (
--fix
)
The rule accepts an options object with the following properties:
interface Options {
/**
* A string with a BCP 47 language tag.
*
* Default: `"en-US"`
*/
locale?: string;
}
The following examples are generated automatically from the actual unit tests within the plugin, so you can be assured that their behavior is accurate based on the current commit.
❌ - Toggle examples of incorrect code for this rule
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
imports: [aModule, bModule, DModule, cModule]
~~~~~~~
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
'declarations': [
AComponent,
cPipe,
bDirective,
~~~~~~~~~~
DComponent,
],
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
['exports']: [
AComponent,
cPipe,
bDirective,
~~~~~~~~~~
DComponent,
],
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
[`bootstrap`]: [
AppModule2,
AppModule3,
AppModule1,
~~~~~~~~~~
]
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
schemas: [
A_SCHEMA,
C_SCHEMA,
B_SCHEMA,
~~~~~~~~
]
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
providers: [
AProvider,
{
provide: 'myprovider',
useClass: MyProvider,
},
cProvider,
bProvider,
~~~~~~~~~
DProvider,
]
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
bootstrap,
declarations: declarations,
providers: providers(),
schemas: [],
[imports]: [
aModule,
bModule,
DModule,
cModule,
~~~~~~~
],
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error",
{
"locale": "cs-CZ"
}
]
}
}
@NgModule({
imports: [chModule, dModule]
~~~~~~~
})
class Test {}
✅ - Toggle examples of correct code for this rule
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule()
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
const options = {};
@NgModule(options)
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
bootstrap: [
AppModule1,
AppModule2,
AppModule3,
],
'declarations': [
AComponent,
bDirective,
cPipe,
DComponent,
VariableComponent,
],
['imports']: [
_foo,
AModule,
bModule,
cModule,
DModule,
],
[`providers`]: [
AProvider,
{
provide: 'myprovider',
useClass: MyProvider,
},
bProvider,
cProvider,
DProvider,
],
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@Component({
providers: [
DeclarationD,
DeclarationA,
]
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error"
]
}
}
@NgModule({
providers: [
{
provide: 'myprovider',
useFactory: myProviderFactory,
deps: [TOKEN_Z, ClassX, ClassA, TOKEN_A],
},
],
})
class Test {}
{
"rules": {
"@angular-eslint/sort-ngmodule-metadata-arrays": [
"error",
{
"locale": "cs-CZ"
}
]
}
}
@Component({
providers: [
DatepickerProvider,
ChipsProvider,
]
})
class Test {}