@azerothjs/eslint-plugin 0.5.0-beta.1 → 0.5.0-beta.2

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/ast.d.ts CHANGED
@@ -15,12 +15,16 @@ export interface CallNode extends AstNode {
15
15
  callee: AstNode;
16
16
  arguments: AstNode[];
17
17
  }
18
- /** True when `node` is an Identifier with the given name. */
19
- export declare function isIdentifier(node: AstNode | undefined, name?: string): node is IdentifierNode;
18
+ /**
19
+ * True when `node` is an Identifier with the given name. Accepts `null` because
20
+ * ESTree uses `null` (not `undefined`) for absent optional slots - e.g. an
21
+ * ArrayPattern hole or a `for (const x of …)` declarator's `init`.
22
+ */
23
+ export declare function isIdentifier(node: AstNode | null | undefined, name?: string): node is IdentifierNode;
20
24
  /** True when `node` is a call of the named identifier: `name(...)`. */
21
- export declare function isCallTo(node: AstNode | undefined, name: string): node is CallNode;
25
+ export declare function isCallTo(node: AstNode | null | undefined, name: string): node is CallNode;
22
26
  /** A function expression of any flavor. */
23
- export declare function isFunctionNode(node: AstNode | undefined): boolean;
27
+ export declare function isFunctionNode(node: AstNode | null | undefined): boolean;
24
28
  /**
25
29
  * Walks ancestors from `node` upward, returning the first one matching
26
30
  * `predicate`, stopping (exclusive) at `boundary`.
package/dist/ast.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAOA,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IAEpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAe,SAAQ,OAAO;IAE3C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,QAAS,SAAQ,OAAO;IAErC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,EAAE,CAAC;CACxB;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAI7F;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,QAAQ,CAIlF;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAOjE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EACzC,QAAQ,CAAC,EAAE,OAAO,GACnB,OAAO,GAAG,IAAI,CAYhB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAExB,iCAAiC;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,mBAAmB;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAoB/E"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAOA,+DAA+D;AAC/D,MAAM,WAAW,OAAO;IAEpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,qCAAqC;AACrC,MAAM,WAAW,cAAe,SAAQ,OAAO;IAE3C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,QAAS,SAAQ,OAAO;IAErC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,IAAI,cAAc,CAIpG;AAED,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,QAAQ,CAIzF;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAOxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CACxB,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EACzC,QAAQ,CAAC,EAAE,OAAO,GACnB,OAAO,GAAG,IAAI,CAYhB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAExB,iCAAiC;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,mBAAmB;IACnB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAoB/E"}
package/dist/ast.js CHANGED
@@ -4,19 +4,23 @@
4
4
  // approach eslint-plugin-solid takes. That keeps them parser-agnostic (no
5
5
  // type-services project wiring for consumers) at the cost of not seeing
6
6
  // through aliases or imports-as - the trade is documented per rule.
7
- /** True when `node` is an Identifier with the given name. */
7
+ /**
8
+ * True when `node` is an Identifier with the given name. Accepts `null` because
9
+ * ESTree uses `null` (not `undefined`) for absent optional slots - e.g. an
10
+ * ArrayPattern hole or a `for (const x of …)` declarator's `init`.
11
+ */
8
12
  export function isIdentifier(node, name) {
9
- return node !== undefined && node.type === 'Identifier'
13
+ return node !== undefined && node !== null && node.type === 'Identifier'
10
14
  && (name === undefined || node.name === name);
11
15
  }
12
16
  /** True when `node` is a call of the named identifier: `name(...)`. */
13
17
  export function isCallTo(node, name) {
14
- return node !== undefined && node.type === 'CallExpression'
18
+ return node !== undefined && node !== null && node.type === 'CallExpression'
15
19
  && isIdentifier(node.callee, name);
16
20
  }
17
21
  /** A function expression of any flavor. */
18
22
  export function isFunctionNode(node) {
19
- return node !== undefined && (node.type === 'ArrowFunctionExpression' ||
23
+ return node !== undefined && node !== null && (node.type === 'ArrowFunctionExpression' ||
20
24
  node.type === 'FunctionExpression' ||
21
25
  node.type === 'FunctionDeclaration');
22
26
  }
@@ -26,7 +30,7 @@ export function isFunctionNode(node) {
26
30
  */
27
31
  export function findAncestor(node, predicate, boundary) {
28
32
  let current = node.parent;
29
- while (current !== undefined && current !== boundary) {
33
+ while (current !== undefined && current !== null && current !== boundary) {
30
34
  if (predicate(current)) {
31
35
  return current;
32
36
  }
package/dist/ast.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sDAAsD;AACtD,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AAyBpE,6DAA6D;AAC7D,MAAM,UAAU,YAAY,CAAC,IAAyB,EAAE,IAAa;IAEjE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;WAChD,CAAC,IAAI,KAAK,SAAS,IAAK,IAAuB,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,QAAQ,CAAC,IAAyB,EAAE,IAAY;IAE5D,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;WACpD,YAAY,CAAE,IAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,IAAyB;IAEpD,OAAO,IAAI,KAAK,SAAS,IAAI,CACzB,IAAI,CAAC,IAAI,KAAK,yBAAyB;QACvC,IAAI,CAAC,IAAI,KAAK,oBAAoB;QAClC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CACtC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CACxB,IAAa,EACb,SAAyC,EACzC,QAAkB;IAGlB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EACpD,CAAC;QACG,IAAI,SAAS,CAAC,OAAO,CAAC,EACtB,CAAC;YACG,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAgBD,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,UAAmB,EAAE,KAAkB;IAErE,MAAM,IAAI,GAAG,UAAU,CAAC,IAA2B,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EACnC,CAAC;QACG,OAAO;IACX,CAAC;IACD,MAAM,EAAE,GAAG,UAAU,CAAC,EAAyB,CAAC;IAChD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAClD,CAAC;QACG,OAAO;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,EAAE,CAAC,QAA8B,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,EAChH,CAAC;QACG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAE,MAAyB,CAAC,IAAI,EAAG,MAAyB,CAAC,IAAI,CAAC,CAAC;QACrF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAE,MAAyB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../src/ast.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,sDAAsD;AACtD,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AAyBpE;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgC,EAAE,IAAa;IAExE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;WACjE,CAAC,IAAI,KAAK,SAAS,IAAK,IAAuB,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,QAAQ,CAAC,IAAgC,EAAE,IAAY;IAEnE,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;WACrE,YAAY,CAAE,IAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,IAAgC;IAE3D,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAC1C,IAAI,CAAC,IAAI,KAAK,yBAAyB;QACvC,IAAI,CAAC,IAAI,KAAK,oBAAoB;QAClC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CACtC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CACxB,IAAa,EACb,SAAyC,EACzC,QAAkB;IAGlB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,QAAQ,EACxE,CAAC;QACG,IAAI,SAAS,CAAC,OAAO,CAAC,EACtB,CAAC;YACG,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAgBD,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,UAAmB,EAAE,KAAkB;IAErE,MAAM,IAAI,GAAG,UAAU,CAAC,IAA2B,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EACnC,CAAC;QACG,OAAO;IACX,CAAC;IACD,MAAM,EAAE,GAAG,UAAU,CAAC,EAAyB,CAAC;IAChD,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAClD,CAAC;QACG,OAAO;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,EAAE,CAAC,QAA8B,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,EAChH,CAAC;QACG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAE,MAAyB,CAAC,IAAI,EAAG,MAAyB,CAAC,IAAI,CAAC,CAAC;QACrF,KAAK,CAAC,OAAO,CAAC,GAAG,CAAE,MAAyB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azerothjs/eslint-plugin",
3
- "version": "0.5.0-beta.1",
3
+ "version": "0.5.0-beta.2",
4
4
  "description": "AzerothJS ESLint rules — reactivity foot-guns in plain .ts files",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",