@html-eslint/eslint-plugin 0.52.1 → 0.53.0-alpha.0

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.
@@ -14,12 +14,11 @@ const { visitorKeys, parseForESLint } = require("@html-eslint/parser");
14
14
  const { createHTMLSourceCode } = require("./html-source-code");
15
15
 
16
16
  /**
17
- * @implements {Language<{
18
- * LangOptions: ParserOptions;
19
- * Code: ReturnType<typeof createHTMLSourceCode>;
20
- * RootNode: AST.Program;
21
- * Node: {};
22
- * }>}
17
+ * @typedef {Language<{ LangOptions: ParserOptions; Code: ReturnType<typeof createHTMLSourceCode>; RootNode: AST.Program; Node: {};}>} HTMLLanguageType
18
+ */
19
+
20
+ /**
21
+ * @implements {HTMLLanguageType}
23
22
  */
24
23
  class HTMLLanguage {
25
24
  constructor() {
@@ -121,5 +120,5 @@ class HTMLLanguage {
121
120
  }
122
121
 
123
122
  module.exports = {
124
- HTMLLanguage,
123
+ HTMLLanguage: /** @type {new () => HTMLLanguageType} */ (HTMLLanguage),
125
124
  };
@@ -0,0 +1,35 @@
1
+ /** @import {RuleModule} from "../types" */
2
+
3
+ const { RULE_CATEGORY } = require("../constants");
4
+ const MESSAGE_IDS = {
5
+ EMPTY_BLOCK: "emptyBlock",
6
+ };
7
+
8
+ /** @type {RuleModule<[]>} */
9
+ module.exports = {
10
+ meta: {
11
+ type: "code",
12
+ docs: {
13
+ description: "Disallows empty CSS blocks in `<style>` tags.",
14
+ recommended: false,
15
+ category: RULE_CATEGORY.BEST_PRACTICE,
16
+ },
17
+ messages: {
18
+ [MESSAGE_IDS.EMPTY_BLOCK]: "Unexpected empty block found.",
19
+ },
20
+ },
21
+ fixable: null,
22
+ schema: [],
23
+ create(context) {
24
+ return {
25
+ CssBlock(node) {
26
+ if (node.children.length === 0) {
27
+ context.report({
28
+ loc: node.loc,
29
+ messageId: MESSAGE_IDS.EMPTY_BLOCK,
30
+ });
31
+ }
32
+ },
33
+ };
34
+ },
35
+ };
@@ -139,7 +139,8 @@ module.exports = {
139
139
  const ignoreComment = indentLevelOptions.ignoreComment === true;
140
140
  const autoBaseIndent = indentLevelOptions.templateIndentBase === "first";
141
141
  const { indentType, indentSize, indentChar } = getIndentOptionInfo(context);
142
-
142
+ /** @type {number[]} */
143
+ const visitedTextLines = [];
143
144
  /**
144
145
  * @param {Tag | ScriptTag | StyleTag | Text} node
145
146
  * @returns {number}
@@ -236,11 +237,7 @@ module.exports = {
236
237
  let parentIgnoringChildCount = 0;
237
238
 
238
239
  /**
239
- * @param {AnyNode
240
- * | Line
241
- * | TemplateText
242
- * | OpenTemplate
243
- * | CloseTemplate} node
240
+ * @param {AnyNode | Line | TemplateText | OpenTemplate} node
244
241
  * @returns {string}
245
242
  */
246
243
  function getActualIndent(node) {
@@ -299,20 +296,13 @@ module.exports = {
299
296
  };
300
297
  }
301
298
 
302
- /**
303
- * @param {AnyNode
304
- * | Line
305
- * | TemplateText
306
- * | OpenTemplate
307
- * | CloseTemplate} node
308
- */
299
+ /** @param {AnyNode | Line | TemplateText | OpenTemplate} node */
309
300
  function checkIndent(node) {
310
301
  if (parentIgnoringChildCount > 0) {
311
302
  return;
312
303
  }
313
304
  const actualIndent = getActualIndent(node);
314
305
  const expectedIndent = getExpectedIndent();
315
-
316
306
  if (actualIndent.trim().length) {
317
307
  return;
318
308
  }
@@ -410,6 +400,9 @@ module.exports = {
410
400
  indentLevel.indent(node);
411
401
  const lineNodes = splitToLineNodes(node);
412
402
  lineNodes.forEach((lineNode) => {
403
+ if (visitedTextLines.includes(lineNode.loc.start.line)) {
404
+ return;
405
+ }
413
406
  if (
414
407
  lineNode.isOverlapTemplate &&
415
408
  !lineNode.hasCloseTemplate &&
@@ -418,6 +411,7 @@ module.exports = {
418
411
  return;
419
412
  }
420
413
  if (lineNode.value.trim().length) {
414
+ visitedTextLines.push(lineNode.loc.start.line);
421
415
  checkIndent(lineNode);
422
416
  }
423
417
  });
@@ -432,7 +426,7 @@ module.exports = {
432
426
 
433
427
  return {
434
428
  ...createIndentVisitor(0, 0),
435
- TaggedTemplateExpression(node) {
429
+ "TaggedTemplateExpression:exit"(node) {
436
430
  if (shouldCheckTaggedTemplateExpression(node, context)) {
437
431
  const base = getTemplateLiteralBaseIndentLevel(node.quasi);
438
432
  const baseSpaces = getAutoBaseSpaces(node.quasi);
@@ -443,7 +437,7 @@ module.exports = {
443
437
  );
444
438
  }
445
439
  },
446
- TemplateLiteral(node) {
440
+ "TemplateLiteral:exit"(node) {
447
441
  if (shouldCheckTemplateLiteral(node, context)) {
448
442
  const base = getTemplateLiteralBaseIndentLevel(node);
449
443
  const baseSpaces = getAutoBaseSpaces(node);
@@ -56,6 +56,7 @@ const noRestrictedTags = require("./no-restricted-tags");
56
56
  const noWhitespaceOnlyChildren = require("./no-whitespace-only-children");
57
57
  const noObsoleteAttrs = require("./no-obsolete-attrs");
58
58
  const classSpacing = require("./class-spacing");
59
+ const cssNoEmptyBlocks = require("./css-no-empty-blocks");
59
60
  // import new rule here ↑
60
61
  // DO NOT REMOVE THIS COMMENT
61
62
 
@@ -118,6 +119,7 @@ const rules = {
118
119
  "no-whitespace-only-children": noWhitespaceOnlyChildren,
119
120
  "no-obsolete-attrs": noObsoleteAttrs,
120
121
  "class-spacing": classSpacing,
122
+ "css-no-empty-blocks": cssNoEmptyBlocks,
121
123
  // export new rule here ↑
122
124
  // DO NOT REMOVE THIS COMMENT
123
125
  };
package/lib/types/rule.ts CHANGED
@@ -46,6 +46,11 @@ interface BaseRuleListener {
46
46
  DoctypeAttributeWrapperEnd?: (node: AST.DoctypeAttributeWrapperEnd) => void;
47
47
  TaggedTemplateExpression?: (node: AST.TaggedTemplateExpression) => void;
48
48
  TemplateLiteral?: (node: AST.TemplateLiteral) => void;
49
+ CssStyleSheet?: (node: AST.CssStyleSheet) => void;
50
+ CssSelector?: (node: AST.CssSelector) => void;
51
+ CssSelectorList?: (node: AST.CssSelectorList) => void;
52
+ CssBlock?: (node: AST.CssBlock) => void;
53
+ CssDeclaration?: (node: AST.CssDeclaration) => void;
49
54
  }
50
55
 
51
56
  interface RuleFix {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@html-eslint/eslint-plugin",
3
- "version": "0.52.1",
3
+ "version": "0.53.0-alpha.0",
4
4
  "type": "commonjs",
5
5
  "description": "ESLint plugin for HTML",
6
6
  "author": "yeonjuan",
@@ -40,10 +40,10 @@
40
40
  ],
41
41
  "dependencies": {
42
42
  "@eslint/plugin-kit": "^0.4.1",
43
- "@html-eslint/parser": "^0.52.0",
44
- "@html-eslint/template-parser": "^0.52.0",
45
- "@html-eslint/template-syntax-parser": "^0.52.0",
46
- "@html-eslint/types": "^0.52.0"
43
+ "@html-eslint/parser": "^0.53.0-alpha.0",
44
+ "@html-eslint/template-parser": "^0.53.0-alpha.0",
45
+ "@html-eslint/template-syntax-parser": "^0.53.0-alpha.0",
46
+ "@html-eslint/types": "^0.53.0-alpha.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "eslint": "^8.0.0 || ^9.0.0"
@@ -59,5 +59,5 @@
59
59
  "engines": {
60
60
  "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
61
61
  },
62
- "gitHead": "58060f808873ccea4c08c4ff4ee229bb83dab112"
62
+ "gitHead": "0739c592dbc3129713e89cd92bc16be62c12164d"
63
63
  }
@@ -1,66 +1,18 @@
1
- /**
2
- * @implements {Language<{
3
- * LangOptions: ParserOptions;
4
- * Code: ReturnType<typeof createHTMLSourceCode>;
5
- * RootNode: AST.Program;
6
- * Node: {};
7
- * }>}
8
- */
9
- export class HTMLLanguage implements Language {
10
- /**
11
- * @type {"text"}
12
- * @property
13
- */
14
- fileType: "text";
15
- /**
16
- * @type {0 | 1}
17
- * @property
18
- */
19
- lineStart: 0 | 1;
20
- /**
21
- * @type {0 | 1}
22
- * @property
23
- */
24
- columnStart: 0 | 1;
25
- /** @type {string} */
26
- nodeTypeKey: string;
27
- /**
28
- * The visitor keys for the es-html-parser AST.
29
- *
30
- * @type {Record<string, string[]>}
31
- */
32
- visitorKeys: Record<string, string[]>;
33
- /** @param {ParserOptions} languageOptions */
34
- validateLanguageOptions(languageOptions: ParserOptions): void;
35
- /**
36
- * @param {File} file
37
- * @param {Object} [context]
38
- * @param {ParserOptions} context.languageOptions
39
- * @returns {ParseResult<AST.Program>}
40
- */
41
- parse(file: File, context?: {
42
- languageOptions: ParserOptions;
43
- }): ParseResult<AST.Program>;
44
- /**
45
- * @param {File} file
46
- * @param {OkParseResult<AST.Program>} parseResult
47
- */
48
- createSourceCode(file: File, parseResult: OkParseResult<AST.Program>): import("@eslint/plugin-kit").TextSourceCodeBase<any> & {
49
- getDisableDirectives(): {
50
- problems: {
51
- ruleId: null | string;
52
- message: string;
53
- loc: import("@eslint/plugin-kit").SourceLocation;
54
- }[];
55
- directives: import("@eslint/plugin-kit").Directive[];
56
- };
57
- getInlineConfigNodes(): import("@html-eslint/types").CommentContent[];
58
- };
1
+ declare namespace _exports {
2
+ export { HTMLLanguageType };
59
3
  }
60
- import type { Language } from "@eslint/core";
4
+ declare namespace _exports {
5
+ let HTMLLanguage: new () => HTMLLanguageType;
6
+ }
7
+ export = _exports;
8
+ type HTMLLanguageType = Language<{
9
+ LangOptions: ParserOptions;
10
+ Code: ReturnType<typeof createHTMLSourceCode>;
11
+ RootNode: AST.Program;
12
+ Node: {};
13
+ }>;
61
14
  import type { ParserOptions } from "@html-eslint/parser";
62
- import type { File } from "@eslint/core";
15
+ import { createHTMLSourceCode } from "./html-source-code";
63
16
  import type { AST } from "eslint";
64
- import type { ParseResult } from "@eslint/core";
65
- import type { OkParseResult } from "@eslint/core";
17
+ import type { Language } from "@eslint/core";
66
18
  //# sourceMappingURL=html-language.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html-language.d.ts","sourceRoot":"","sources":["../../lib/languages/html-language.js"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH;IAEI;;;OAGG;IACH,UAHU,MAAM,CAGM;IAEtB;;;OAGG;IACH,WAHU,CAAC,GAAG,CAAC,CAGG;IAElB;;;OAGG;IACH,aAHU,CAAC,GAAG,CAAC,CAGK;IAEpB,qBAAqB;IACrB,aADW,MAAM,CACQ;IAEzB;;;;OAIG;IACH,aAFU,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAEJ;IAGhC,6CAA6C;IAC7C,yCADY,aAAa,QA6BxB;IAED;;;;;OAKG;IACH,YALW,IAAI,YAEZ;QAA+B,eAAe,EAAtC,aAAa;KACrB,GAAU,YAAY,WAAW,CAAC,CAkBpC;IAED;;;OAGG;IACH,uBAHW,IAAI,eACJ,cAAc,WAAW,CAAC;;;;;;;;;;MAQpC;CACF;8BAjHS,cAAc;mCACQ,qBAAqB;0BAD3C,cAAc;yBAEF,QAAQ;iCAFpB,cAAc;mCAAd,cAAc"}
1
+ {"version":3,"file":"html-language.d.ts","sourceRoot":"","sources":["../../lib/languages/html-language.js"],"names":[],"mappings":";;;;sBA0H2B,UAAU,gBAAgB;;;wBA1GxC,SAAS;IAAE,WAAW,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC;CAAC,CAAC;mCARrG,qBAAqB;;yBAC/B,QAAQ;8BAFpB,cAAc"}
@@ -0,0 +1,4 @@
1
+ declare const _exports: RuleModule<[]>;
2
+ export = _exports;
3
+ import type { RuleModule } from "../types";
4
+ //# sourceMappingURL=css-no-empty-blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"css-no-empty-blocks.d.ts","sourceRoot":"","sources":["../../lib/rules/css-no-empty-blocks.js"],"names":[],"mappings":"wBAOW,WAAW,EAAE,CAAC;;gCAPK,UAAU"}
@@ -41,6 +41,11 @@ interface BaseRuleListener {
41
41
  DoctypeAttributeWrapperEnd?: (node: AST.DoctypeAttributeWrapperEnd) => void;
42
42
  TaggedTemplateExpression?: (node: AST.TaggedTemplateExpression) => void;
43
43
  TemplateLiteral?: (node: AST.TemplateLiteral) => void;
44
+ CssStyleSheet?: (node: AST.CssStyleSheet) => void;
45
+ CssSelector?: (node: AST.CssSelector) => void;
46
+ CssSelectorList?: (node: AST.CssSelectorList) => void;
47
+ CssBlock?: (node: AST.CssBlock) => void;
48
+ CssDeclaration?: (node: AST.CssDeclaration) => void;
44
49
  }
45
50
  interface RuleFix {
46
51
  range: eslint.AST.Range;
@@ -1 +1 @@
1
- {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../lib/types/rule.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,KAAK,cAAc,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;AAEzC,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI;KACjC,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACpD,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,CAAC;IACxE,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,0BAA0B,KAAK,IAAI,CAAC;IAC5E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC5D,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACpD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;IACxC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC;IAC1D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,KAAK,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC;IACxD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,qBAAqB,KAAK,IAAI,CAAC;IAClE,4BAA4B,CAAC,EAAE,CAC7B,IAAI,EAAE,GAAG,CAAC,4BAA4B,KACnC,IAAI,CAAC;IACV,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,0BAA0B,KAAK,IAAI,CAAC;IAC5E,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,wBAAwB,KAAK,IAAI,CAAC;IACxE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,KAAK,IAAI,CAAC;CACvD;AAED,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpE,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErE,gBAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAErE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,OAAO,CAAC;IAE7C,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC;IAE9C,WAAW,CAAC,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CAClE;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,SAAS,KACb,gBAAgB,CAAC,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;AAErE,UAAU,2BAA2B;IACnC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,GAAG,CAAC,EAAE,IAAI,GAAG,iBAAiB,CAAC;CAChC;AAED,KAAK,2BAA2B,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACzD,MAAM,MAAM,0BAA0B,GAAG,2BAA2B,GAClE,2BAA2B,CAAC;AAE9B,UAAU,uBAAwB,SAAQ,2BAA2B;IACnE,OAAO,CAAC,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;CAC/C;AAED,KAAK,gBAAgB,GAAG,uBAAuB,GAC7C,wBAAwB,GACxB,uBAAuB,CAAC;AAC1B,KAAK,uBAAuB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3E,KAAK,wBAAwB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,OAAO,SAAS,OAAO,EAAE,CAChD,SAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC/C,MAAM,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,GACzC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAErC,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,OAAO,EAAE;IACnD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;CAChC"}
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../lib/types/rule.ts"],"names":[],"mappings":"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"}