Socket
Socket
Sign inDemoInstall

@angular-eslint/eslint-plugin

Package Overview
Dependencies
Maintainers
0
Versions
764
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@angular-eslint/eslint-plugin - npm Package Compare versions

Comparing version 18.0.2-alpha.7 to 18.0.2-alpha.8

86

dist/configs/all.json
{
"parser": "@typescript-eslint/parser",
"plugins": ["@angular-eslint"],
"rules": {
"@angular-eslint/component-class-suffix": "error",
"@angular-eslint/component-max-inline-declarations": "error",
"@angular-eslint/component-selector": "error",
"@angular-eslint/consistent-component-styles": "error",
"@angular-eslint/contextual-decorator": "error",
"@angular-eslint/contextual-lifecycle": "error",
"@angular-eslint/directive-class-suffix": "error",
"@angular-eslint/directive-selector": "error",
"@angular-eslint/no-async-lifecycle-method": "error",
"@angular-eslint/no-attribute-decorator": "error",
"@angular-eslint/no-conflicting-lifecycle": "error",
"@angular-eslint/no-duplicates-in-metadata-arrays": "error",
"@angular-eslint/no-empty-lifecycle-method": "error",
"@angular-eslint/no-forward-ref": "error",
"@angular-eslint/no-host-metadata-property": "error",
"@angular-eslint/no-input-prefix": "error",
"@angular-eslint/no-input-rename": "error",
"@angular-eslint/no-inputs-metadata-property": "error",
"@angular-eslint/no-lifecycle-call": "error",
"@angular-eslint/no-output-native": "error",
"@angular-eslint/no-output-on-prefix": "error",
"@angular-eslint/no-output-rename": "error",
"@angular-eslint/no-outputs-metadata-property": "error",
"@angular-eslint/no-pipe-impure": "error",
"@angular-eslint/no-queries-metadata-property": "error",
"@angular-eslint/pipe-prefix": "error",
"@angular-eslint/prefer-on-push-component-change-detection": "error",
"@angular-eslint/prefer-output-readonly": "error",
"@angular-eslint/prefer-standalone": "error",
"@angular-eslint/prefer-standalone-component": "error",
"@angular-eslint/relative-url-prefix": "error",
"@angular-eslint/require-localize-metadata": "error",
"@angular-eslint/sort-lifecycle-methods": "error",
"@angular-eslint/sort-ngmodule-metadata-arrays": "error",
"@angular-eslint/use-component-selector": "error",
"@angular-eslint/use-component-view-encapsulation": "error",
"@angular-eslint/use-injectable-provided-in": "error",
"@angular-eslint/use-lifecycle-interface": "error",
"@angular-eslint/use-pipe-transform-interface": "error"
}
"parser": "@typescript-eslint/parser",
"plugins": ["@angular-eslint"],
"rules": {
"@angular-eslint/component-class-suffix": "error",
"@angular-eslint/component-max-inline-declarations": "error",
"@angular-eslint/component-selector": "error",
"@angular-eslint/consistent-component-styles": "error",
"@angular-eslint/contextual-decorator": "error",
"@angular-eslint/contextual-lifecycle": "error",
"@angular-eslint/directive-class-suffix": "error",
"@angular-eslint/directive-selector": "error",
"@angular-eslint/no-async-lifecycle-method": "error",
"@angular-eslint/no-attribute-decorator": "error",
"@angular-eslint/no-conflicting-lifecycle": "error",
"@angular-eslint/no-duplicates-in-metadata-arrays": "error",
"@angular-eslint/no-empty-lifecycle-method": "error",
"@angular-eslint/no-forward-ref": "error",
"@angular-eslint/no-host-metadata-property": "error",
"@angular-eslint/no-input-prefix": "error",
"@angular-eslint/no-input-rename": "error",
"@angular-eslint/no-inputs-metadata-property": "error",
"@angular-eslint/no-lifecycle-call": "error",
"@angular-eslint/no-output-native": "error",
"@angular-eslint/no-output-on-prefix": "error",
"@angular-eslint/no-output-rename": "error",
"@angular-eslint/no-outputs-metadata-property": "error",
"@angular-eslint/no-pipe-impure": "error",
"@angular-eslint/no-queries-metadata-property": "error",
"@angular-eslint/pipe-prefix": "error",
"@angular-eslint/prefer-on-push-component-change-detection": "error",
"@angular-eslint/prefer-output-readonly": "error",
"@angular-eslint/prefer-standalone": "error",
"@angular-eslint/prefer-standalone-component": "error",
"@angular-eslint/relative-url-prefix": "error",
"@angular-eslint/require-localize-metadata": "error",
"@angular-eslint/sort-lifecycle-methods": "error",
"@angular-eslint/sort-ngmodule-metadata-arrays": "error",
"@angular-eslint/use-component-selector": "error",
"@angular-eslint/use-component-view-encapsulation": "error",
"@angular-eslint/use-injectable-provided-in": "error",
"@angular-eslint/use-lifecycle-interface": "error",
"@angular-eslint/use-pipe-transform-interface": "error"
}
}
{
"parser": "@typescript-eslint/parser",
"plugins": ["@angular-eslint"],
"rules": {
"@angular-eslint/component-class-suffix": "error",
"@angular-eslint/contextual-lifecycle": "error",
"@angular-eslint/directive-class-suffix": "error",
"@angular-eslint/no-empty-lifecycle-method": "error",
"@angular-eslint/no-input-rename": "error",
"@angular-eslint/no-inputs-metadata-property": "error",
"@angular-eslint/no-output-native": "error",
"@angular-eslint/no-output-on-prefix": "error",
"@angular-eslint/no-output-rename": "error",
"@angular-eslint/no-outputs-metadata-property": "error",
"@angular-eslint/use-pipe-transform-interface": "error",
"@angular-eslint/use-lifecycle-interface": "warn"
}
"parser": "@typescript-eslint/parser",
"plugins": ["@angular-eslint"],
"rules": {
"@angular-eslint/component-class-suffix": "error",
"@angular-eslint/contextual-lifecycle": "error",
"@angular-eslint/directive-class-suffix": "error",
"@angular-eslint/no-empty-lifecycle-method": "error",
"@angular-eslint/no-input-rename": "error",
"@angular-eslint/no-inputs-metadata-property": "error",
"@angular-eslint/no-output-native": "error",
"@angular-eslint/no-output-on-prefix": "error",
"@angular-eslint/no-output-rename": "error",
"@angular-eslint/no-outputs-metadata-property": "error",
"@angular-eslint/use-pipe-transform-interface": "error",
"@angular-eslint/use-lifecycle-interface": "warn"
}
}

@@ -12,3 +12,3 @@ "use strict";

docs: {
description: 'Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned',
description: 'Prefer to declare `@Output`, `OutputEmitterRef` and `OutputRef` as `readonly` since they are not supposed to be reassigned',
},

@@ -18,3 +18,3 @@ hasSuggestions: true,

messages: {
preferOutputReadonly: 'Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned',
preferOutputReadonly: 'Prefer to declare `{{type}}` as `readonly` since they are not supposed to be reassigned',
suggestAddReadonlyModifier: 'Add `readonly` modifier',

@@ -27,15 +27,25 @@ },

[`PropertyDefinition:not([readonly=true]) > ${utils_1.Selectors.OUTPUT_DECORATOR}`]({ parent: { key }, }) {
context.report({
node: key,
messageId: 'preferOutputReadonly',
suggest: [
{
messageId: 'suggestAddReadonlyModifier',
fix: (fixer) => fixer.insertTextBefore(key, 'readonly '),
},
],
});
report(key, '@Output');
},
[`PropertyDefinition:not([readonly=true]):matches([typeAnnotation.typeAnnotation.typeName.name=OutputEmitterRef], [value.callee.name=output])`]({ key, }) {
report(key, 'OutputEmitterRef');
},
[`PropertyDefinition:not([readonly=true]):matches([typeAnnotation.typeAnnotation.typeName.name=OutputRef], [value.callee.name=outputFromObservable])`]({ key, }) {
report(key, 'OutputRef');
},
};
function report(key, type) {
context.report({
node: key,
messageId: 'preferOutputReadonly',
data: { type },
suggest: [
{
messageId: 'suggestAddReadonlyModifier',
fix: (fixer) => fixer.insertTextBefore(key, 'readonly '),
},
],
});
}
},
});
{
"name": "@angular-eslint/eslint-plugin",
"version": "18.0.2-alpha.7",
"version": "18.0.2-alpha.8",
"description": "ESLint plugin for Angular applications, following https://angular.dev/style-guide",

@@ -21,7 +21,7 @@ "license": "MIT",

"dependencies": {
"@angular-eslint/bundled-angular-compiler": "18.0.2-alpha.7",
"@angular-eslint/utils": "18.0.2-alpha.7"
"@angular-eslint/bundled-angular-compiler": "18.0.2-alpha.8",
"@angular-eslint/utils": "18.0.2-alpha.8"
},
"devDependencies": {
"@angular-eslint/test-utils": "18.0.2-alpha.7"
"@angular-eslint/test-utils": "18.0.2-alpha.8"
},

@@ -28,0 +28,0 @@ "peerDependencies": {

@@ -68,3 +68,3 @@ # @angular-eslint/eslint-plugin

| [`prefer-on-push-component-change-detection`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-on-push-component-change-detection.md) | Ensures component's `changeDetection` is set to `ChangeDetectionStrategy.OnPush` | | | :bulb: |
| [`prefer-output-readonly`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-readonly.md) | Prefer to declare `@Output` as `readonly` since they are not supposed to be reassigned | | | :bulb: |
| [`prefer-output-readonly`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-output-readonly.md) | Prefer to declare `@Output`, `OutputEmitterRef` and `OutputRef` as `readonly` since they are not supposed to be reassigned | | | :bulb: |
| [`prefer-standalone`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/prefer-standalone.md) | Ensures component, directive and pipe `standalone` property is set to `true` in the component decorator | | :wrench: | |

@@ -71,0 +71,0 @@ | [`relative-url-prefix`](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/docs/rules/relative-url-prefix.md) | The ./ and ../ prefix is standard syntax for relative URLs; don't depend on Angular's current ability to do without that prefix. See more at https://angular.dev/style-guide#style-05-04 | | | |

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc