eslint-plugin-mgw-eslint-rules 2.2.53 → 2.3.1

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.js CHANGED
@@ -3261,8 +3261,8 @@ var require_RuleCreator = __commonJS({
3261
3261
  exports2.RuleCreator = RuleCreator;
3262
3262
  var applyDefault_1 = require_applyDefault();
3263
3263
  function RuleCreator(urlCreator) {
3264
- return function createNamedRule({ meta, name, ...rule6 }) {
3265
- const ruleWithDocs = createRule6({
3264
+ return function createNamedRule({ meta, name, ...rule7 }) {
3265
+ const ruleWithDocs = createRule7({
3266
3266
  meta: {
3267
3267
  ...meta,
3268
3268
  docs: {
@@ -3271,12 +3271,12 @@ var require_RuleCreator = __commonJS({
3271
3271
  }
3272
3272
  },
3273
3273
  name,
3274
- ...rule6
3274
+ ...rule7
3275
3275
  });
3276
3276
  return ruleWithDocs;
3277
3277
  };
3278
3278
  }
3279
- function createRule6({
3279
+ function createRule7({
3280
3280
  create,
3281
3281
  // Keep accepting deprecated defaultOptions for backward compatibility.
3282
3282
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -3296,7 +3296,7 @@ var require_RuleCreator = __commonJS({
3296
3296
  };
3297
3297
  }
3298
3298
  RuleCreator.withoutDocs = function withoutDocs(args) {
3299
- return createRule6(args);
3299
+ return createRule7(args);
3300
3300
  };
3301
3301
  }
3302
3302
  });
@@ -11868,7 +11868,8 @@ var rule = createRule({
11868
11868
  meta: {
11869
11869
  type: "suggestion",
11870
11870
  docs: {
11871
- description: "Interdit les template literals sans interpolation (backticks sans ${...})."
11871
+ description: "Interdit les template literals sans interpolation (backticks sans ${...}).",
11872
+ recommended: true
11872
11873
  },
11873
11874
  messages: {
11874
11875
  avoidBacktickWithoutInterpolation: "Utilisez des guillemets simples ou doubles si aucune interpolation n'est n\xE9cessaire."
@@ -11882,12 +11883,16 @@ var rule = createRule({
11882
11883
  return {
11883
11884
  TemplateLiteral(node) {
11884
11885
  if (node.expressions.length === 0) {
11886
+ const text = context.sourceCode.getText(node);
11887
+ if (text.includes("'") && text.includes('"')) {
11888
+ return;
11889
+ }
11885
11890
  context.report({
11886
11891
  node,
11887
11892
  messageId: "avoidBacktickWithoutInterpolation",
11888
11893
  fix(fixer) {
11889
- const text = context.sourceCode.getText(node);
11890
- const replacement = `'${text.slice(1, -1)}'`;
11894
+ const content = text.slice(1, -1);
11895
+ const replacement = content.includes("'") ? `"${content}"` : `'${content}'`;
11891
11896
  return fixer.replaceText(node, replacement);
11892
11897
  }
11893
11898
  });
@@ -12001,7 +12006,8 @@ var rule4 = createRule4({
12001
12006
  meta: {
12002
12007
  type: "suggestion",
12003
12008
  docs: {
12004
- description: "Disallow explicit type declarations for readonly properties initialized to a number, string, or boolean"
12009
+ description: "Disallow explicit type declarations for readonly properties initialized to a number, string, or boolean",
12010
+ recommended: true
12005
12011
  },
12006
12012
  fixable: "code",
12007
12013
  messages: {
@@ -12065,12 +12071,55 @@ var rule4 = createRule4({
12065
12071
  }
12066
12072
  });
12067
12073
 
12068
- // src/rules/prefer-const-enum.ts
12074
+ // src/rules/prefer-class-style-binding.ts
12069
12075
  var import_utils5 = __toESM(require_dist4());
12070
- var RULE_NAME5 = "prefer-const-enum";
12076
+ var RULE_NAME5 = "prefer-class-style-binding";
12071
12077
  var createRule5 = import_utils5.ESLintUtils.RuleCreator((name) => `https://github.com/developpement-megao/mgw-eslint-rules/docs/rules/${name}.md`);
12072
12078
  var rule5 = createRule5({
12073
12079
  name: RULE_NAME5,
12080
+ meta: {
12081
+ type: "suggestion",
12082
+ docs: {
12083
+ description: "Pr\xE9f\xE9rez les property bindings [class] et [style] aux directives ngClass et ngStyle.",
12084
+ recommended: true
12085
+ },
12086
+ messages: {
12087
+ preferClassBinding: "Pr\xE9f\xE9rez '[class.<nom>]' ou '[class]' \xE0 'ngClass'.",
12088
+ preferStyleBinding: "Pr\xE9f\xE9rez '[style.<prop>]' ou '[style]' \xE0 'ngStyle'."
12089
+ },
12090
+ schema: []
12091
+ },
12092
+ defaultOptions: [],
12093
+ create(context) {
12094
+ return {
12095
+ // Détecte les attributs ngClass dans les templates
12096
+ "Element[attributes]"(node) {
12097
+ const attributes = node.attributes;
12098
+ for (const attr of attributes) {
12099
+ if (attr.name === "ngClass") {
12100
+ context.report({
12101
+ node: attr,
12102
+ messageId: "preferClassBinding"
12103
+ });
12104
+ }
12105
+ if (attr.name === "ngStyle") {
12106
+ context.report({
12107
+ node: attr,
12108
+ messageId: "preferStyleBinding"
12109
+ });
12110
+ }
12111
+ }
12112
+ }
12113
+ };
12114
+ }
12115
+ });
12116
+
12117
+ // src/rules/prefer-const-enum.ts
12118
+ var import_utils6 = __toESM(require_dist4());
12119
+ var RULE_NAME6 = "prefer-const-enum";
12120
+ var createRule6 = import_utils6.ESLintUtils.RuleCreator((name) => `https://github.com/developpement-megao/mgw-eslint-rules/docs/rules/${name}.md`);
12121
+ var rule6 = createRule6({
12122
+ name: RULE_NAME6,
12074
12123
  meta: {
12075
12124
  type: "suggestion",
12076
12125
  docs: {
@@ -12119,11 +12168,12 @@ var rule5 = createRule5({
12119
12168
 
12120
12169
  // src/index.ts
12121
12170
  var rules = {
12122
- [RULE_NAME5]: rule5,
12171
+ [RULE_NAME6]: rule6,
12123
12172
  [RULE_NAME4]: rule4,
12124
12173
  [RULE_NAME2]: rule2,
12125
12174
  [RULE_NAME3]: rule3,
12126
- [RULE_NAME]: rule
12175
+ [RULE_NAME]: rule,
12176
+ [RULE_NAME5]: rule5
12127
12177
  };
12128
12178
  // Annotate the CommonJS export names for ESM import in node:
12129
12179
  0 && (module.exports = {