eslint-plugin-mgw-eslint-rules 2.2.40 → 2.2.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export declare const rules: {
2
- 'no-inline-styles': import("eslint").Rule.RuleModule;
2
+ 'case-first-declarations': import("@typescript-eslint/utils/ts-eslint").RuleModule<"serviceSuffix", [import("./rules/service-class-suffix").ServiceClassSuffixOptions], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
3
3
  };
package/dist/index.js CHANGED
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.rules = void 0;
7
- const no_inline_styles_1 = __importDefault(require("./rules/no-inline-styles"));
8
- exports.rules = { 'no-inline-styles': no_inline_styles_1.default };
7
+ const service_class_suffix_1 = __importDefault(require("./rules/service-class-suffix"));
8
+ exports.rules = { 'case-first-declarations': service_class_suffix_1.default };
9
9
  // export = {
10
10
  // rules: {
11
11
  // 'no-inline-styles': noInlineStyles
@@ -1,12 +1,3 @@
1
- import { ESLintUtils } from '@typescript-eslint/utils';
2
- export type MessageIds = 'lowercase' | 'uppercase';
3
- export type Options = [
4
- {
5
- preferredCase?: 'lower' | 'upper';
6
- }
7
- ];
8
- export interface MyPluginDocs {
9
- recommended: boolean;
10
- }
11
- export declare const RULE_NAME = "case-first-declarations";
12
- export declare const rule: ESLintUtils.RuleModule<MessageIds, Options, MyPluginDocs, ESLintUtils.RuleListener>;
1
+ import { Rule } from 'eslint';
2
+ declare const caseFirstDeclarations: Rule.RuleModule;
3
+ export default caseFirstDeclarations;
@@ -1,42 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rule = exports.RULE_NAME = void 0;
4
- // rules/case-first-declarations.ts
5
- const utils_1 = require("@typescript-eslint/utils");
6
- exports.RULE_NAME = 'case-first-declarations';
7
- const createRule = utils_1.ESLintUtils.RuleCreator((name) => `https://github.com/developpement-megao/mgw-eslint-rules/docs/rule/${name}.md`);
8
- // Type: RuleModule<MessageIds, ...>
9
- exports.rule = createRule({
10
- create(context, options) {
11
- const preferredCase = options[0].preferredCase;
12
- // On va tester si on a un lower caractère en premier si option upper
13
- const testRegexp = preferredCase === 'upper' ? /^[a-z]/ : /^[A-Z]/;
14
- return {
15
- FunctionDeclaration(node) {
16
- if (node.id != null) {
17
- // On teste si le premier caractère est en lower (pour rule option upper)
18
- if (testRegexp.test(node.id.name)) {
19
- // Premier caractère lower (pour rule option upper) donc on renvoit le message d'erreur upper
20
- context.report({
21
- messageId: preferredCase === 'upper' ? 'uppercase' : 'lowercase',
22
- node: node.id
23
- });
24
- }
25
- }
26
- }
27
- };
28
- },
29
- name: exports.RULE_NAME,
3
+ const caseFirstDeclarations = {
30
4
  meta: {
5
+ type: 'suggestion',
31
6
  docs: {
32
- description: 'Function declaration names should start with an upper-case letter.',
7
+ description: 'Function declaration names should start with an upper-case or lower-case letter.',
8
+ category: 'Best Practices',
33
9
  recommended: true
34
10
  },
35
- messages: {
36
- lowercase: 'Start this name with an lower-case letter.',
37
- uppercase: 'Start this name with an upper-case letter.'
38
- },
39
- type: 'suggestion',
40
11
  schema: [
41
12
  {
42
13
  type: 'object',
@@ -48,11 +19,31 @@ exports.rule = createRule({
48
19
  },
49
20
  additionalProperties: false
50
21
  }
51
- ]
52
- },
53
- defaultOptions: [
54
- {
55
- preferredCase: 'lower'
22
+ ],
23
+ messages: {
24
+ lowercase: 'Start this name with an lower-case letter.',
25
+ uppercase: 'Start this name with an upper-case letter.'
56
26
  }
57
- ]
58
- });
27
+ },
28
+ create(context) {
29
+ return {
30
+ FunctionDeclaration(node) {
31
+ if (node.id != null) {
32
+ const options = context.options[0] || {};
33
+ const preferredCase = options.preferredCase;
34
+ // On va tester si on a un lower caractère en premier si option upper
35
+ const testRegexp = preferredCase === 'upper' ? /^[a-z]/ : /^[A-Z]/;
36
+ // On teste si le premier caractère est en lower (pour rule option upper)
37
+ if (testRegexp.test(node.id.name)) {
38
+ // Premier caractère lower (pour rule option upper) donc on renvoit le message d'erreur upper
39
+ context.report({
40
+ messageId: preferredCase === 'upper' ? 'uppercase' : 'lowercase',
41
+ node: node.id
42
+ });
43
+ }
44
+ }
45
+ }
46
+ };
47
+ }
48
+ };
49
+ exports.default = caseFirstDeclarations;
@@ -1,11 +1,6 @@
1
1
  import { ESLintUtils } from '@typescript-eslint/utils';
2
- export type Options = [
3
- {
4
- suffixes?: string[];
5
- }
6
- ];
7
- export type MessageIds = 'serviceSuffix';
8
- export declare const RULE_NAME = "service-class-suffix";
9
- export declare const serviceClassSuffix: ESLintUtils.RuleModule<"serviceSuffix", [{
10
- suffixes: string[];
11
- }], unknown, ESLintUtils.RuleListener>;
2
+ export interface ServiceClassSuffixOptions {
3
+ suffixes?: string[];
4
+ }
5
+ declare const serviceClassSuffix: ESLintUtils.RuleModule<"serviceSuffix", [ServiceClassSuffixOptions], unknown, ESLintUtils.RuleListener>;
6
+ export default serviceClassSuffix;
@@ -1,21 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serviceClassSuffix = exports.RULE_NAME = void 0;
4
3
  // rules/service-class-suffix.ts
5
4
  // ASTUtils: Angular-specific AST manipulation utilities
6
5
  //import { ASTUtils, Selectors } from '@angular-eslint/utils';
7
6
  const utils_1 = require("@angular-eslint/utils");
8
7
  const utils_2 = require("@typescript-eslint/utils");
9
- exports.RULE_NAME = 'service-class-suffix';
10
- //export const rule = ESLintUtils.RuleCreator.withoutDocs<Options, MessageIds>({
11
- const createRule = utils_2.ESLintUtils.RuleCreator((name) => `https://github.com/developpement-megao/mgw-eslint-rules/docs/rules/${name}.md`);
12
- exports.serviceClassSuffix = createRule({
13
- name: exports.RULE_NAME,
8
+ const defaultOptions = {
9
+ suffixes: ['Service']
10
+ };
11
+ const serviceClassSuffix = utils_2.ESLintUtils.RuleCreator.withoutDocs({
14
12
  meta: {
15
13
  type: 'suggestion',
16
14
  docs: {
17
15
  description: 'Enforce that service classes end with "Service"'
18
- //recommended: 'recommended'
16
+ //category: 'Best Practices',
17
+ //recommended: true
19
18
  },
20
19
  schema: [
21
20
  {
@@ -32,24 +31,19 @@ exports.serviceClassSuffix = createRule({
32
31
  }
33
32
  ],
34
33
  messages: {
35
- serviceSuffix: 'Service class should end with one of these suffixes: {{suffixes}}'
34
+ serviceSuffix: 'Service class should end with one of these suffixes: {{ suffixes }}'
36
35
  }
37
36
  },
38
- defaultOptions: [
39
- {
40
- suffixes: ['Service']
41
- }
42
- ],
43
- create(context, [{ suffixes }]) {
37
+ defaultOptions: [defaultOptions],
38
+ create(context) {
44
39
  return {
45
40
  [utils_1.Selectors.INJECTABLE_CLASS_DECORATOR](node) {
46
- if (!suffixes) {
47
- return;
48
- }
49
41
  const classDeclaration = node.parent;
50
42
  if (!classDeclaration.id) {
51
43
  return;
52
44
  }
45
+ const options = context.options[0] || {};
46
+ const suffixes = options.suffixes || defaultOptions.suffixes;
53
47
  const className = classDeclaration.id.name;
54
48
  const hasValidSuffix = suffixes.some((suffix) => className.endsWith(suffix));
55
49
  if (!hasValidSuffix) {
@@ -65,3 +59,4 @@ exports.serviceClassSuffix = createRule({
65
59
  };
66
60
  }
67
61
  });
62
+ exports.default = serviceClassSuffix;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-mgw-eslint-rules",
3
- "version": "2.2.40",
3
+ "version": "2.2.42",
4
4
  "description": "Custom eslint rules of MegaO",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -48,7 +48,6 @@
48
48
  "@angular/cli": "^19.2.19",
49
49
  "@angular/compiler": "^19.2.18",
50
50
  "@types/eslint": "^9.6.1",
51
- "@types/estree-jsx": "^1.0.5",
52
51
  "@types/jest": "^30.0.0",
53
52
  "@types/node": "^25.2.2",
54
53
  "@typescript-eslint/eslint-plugin": "^8.46.4",