Disallows usage of the outputs
metadata property. See more at https://angular.io/styleguide#style-05-12
- Type: suggestion
The rule does not have any configuration options.
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/no-outputs-metadata-property": [
"error"
]
}
}
@Component({
outputs: [
~~~~~~~~~~
'id: foo'
],
~
selector: 'app-test'
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Directive({
outputs: [
~~~~~~~~~~
'id: foo'
],
~
selector: 'app-test'
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Component({
outputs,
~~~~~~~
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Directive({
outputs: [],
~~~~~~~~~~~
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
const test = [];
@Component({
'outputs': test,
~~~~~~~~~~~~~~~
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Directive({
['outputs']: undefined,
~~~~~~~~~~~~~~~~~~~~~~
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
function outputs() {
return [];
}
@Component({
[`outputs`]: outputs(),
~~~~~~~~~~~~~~~~~~~~~~
})
class Test {}
✅ - Toggle examples of correct code for this rule
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Component()
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Directive({})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
const options = {};
@Component(options)
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Directive({
selector: 'app-test',
template: 'Hello'
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Component({
selector: 'app-test',
queries: {},
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
const outputs = 'providers';
@Directive({
[outputs]: [],
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@NgModule({
bootstrap: [Foo]
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Component({
selector: 'foo',
hostDirectives: [{
directive: CdkMenuItem,
outputs: ['cdkMenuItemTriggered: triggered'],
}]
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Component({
selector: 'foo',
'hostDirectives': [{
directive: CdkMenuItem,
outputs: ['cdkMenuItemTriggered: triggered'],
}]
})
class Test {}
{
"rules": {
"@angular-eslint/no-outputs-metadata-property": [
"error"
]
}
}
@Component({
selector: 'foo',
['hostDirectives']: [{
directive: CdkMenuItem,
outputs: ['cdkMenuItemTriggered: triggered'],
}]
})
class Test {}