@saasmakers/eslint 1.0.9 → 1.0.11

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.cjs CHANGED
@@ -139,6 +139,21 @@ const rule$b = {
139
139
  function collapseBlankLine(text) {
140
140
  return text.replace(/\n[^\S\n]*\n[^\S\n]*/, "\n");
141
141
  }
142
+ function expressionUsesThis(expression) {
143
+ if (expression.type === index$1.distExports.AST_NODE_TYPES.AssignmentExpression) {
144
+ return isThisReceiver(expression.left);
145
+ }
146
+ if (expression.type === index$1.distExports.AST_NODE_TYPES.CallExpression) {
147
+ return isThisReceiver(expression.callee);
148
+ }
149
+ if (expression.type === index$1.distExports.AST_NODE_TYPES.OptionalCallExpression) {
150
+ return isThisReceiver(expression.callee);
151
+ }
152
+ if (expression.type === index$1.distExports.AST_NODE_TYPES.UpdateExpression) {
153
+ return isThisReceiver(expression.argument);
154
+ }
155
+ return false;
156
+ }
142
157
  function getActualLastToken(node, sourceCode) {
143
158
  const semiToken = sourceCode.getLastToken(node);
144
159
  if (!semiToken) {
@@ -182,9 +197,15 @@ function getStatementKind(node) {
182
197
  if (node.expression.type === index$1.distExports.AST_NODE_TYPES.AwaitExpression) {
183
198
  return isSingleLine(node) ? "singleline-await" : "multiline-await";
184
199
  }
200
+ if (isSuperCall(node)) {
201
+ return isSingleLine(node) ? "singleline-super" : "multiline-super";
202
+ }
185
203
  if (isDirectivePrologue(node)) {
186
204
  return null;
187
205
  }
206
+ if (expressionUsesThis(node.expression)) {
207
+ return isSingleLine(node) ? "singleline-this" : "multiline-this";
208
+ }
188
209
  return isSingleLine(node) ? "singleline-expression" : "multiline-expression";
189
210
  }
190
211
  return null;
@@ -221,6 +242,21 @@ function isOwnLineComment(comment, sourceCode) {
221
242
  function isSingleLine(node) {
222
243
  return node.loc.start.line === node.loc.end.line;
223
244
  }
245
+ function isSuperCall(node) {
246
+ return node.expression.type === index$1.distExports.AST_NODE_TYPES.CallExpression && node.expression.callee.type === index$1.distExports.AST_NODE_TYPES.Super;
247
+ }
248
+ function isThisReceiver(node) {
249
+ if (node.type === index$1.distExports.AST_NODE_TYPES.ThisExpression) {
250
+ return true;
251
+ }
252
+ if (node.type === index$1.distExports.AST_NODE_TYPES.MemberExpression || node.type === index$1.distExports.AST_NODE_TYPES.OptionalMemberExpression) {
253
+ return isThisReceiver(node.object);
254
+ }
255
+ if (node.type === index$1.distExports.AST_NODE_TYPES.ChainExpression) {
256
+ return isThisReceiver(node.expression);
257
+ }
258
+ return false;
259
+ }
224
260
  const rule$a = {
225
261
  defaultOptions: [],
226
262
  meta: {
package/dist/index.mjs CHANGED
@@ -137,6 +137,21 @@ const rule$b = {
137
137
  function collapseBlankLine(text) {
138
138
  return text.replace(/\n[^\S\n]*\n[^\S\n]*/, "\n");
139
139
  }
140
+ function expressionUsesThis(expression) {
141
+ if (expression.type === distExports.AST_NODE_TYPES.AssignmentExpression) {
142
+ return isThisReceiver(expression.left);
143
+ }
144
+ if (expression.type === distExports.AST_NODE_TYPES.CallExpression) {
145
+ return isThisReceiver(expression.callee);
146
+ }
147
+ if (expression.type === distExports.AST_NODE_TYPES.OptionalCallExpression) {
148
+ return isThisReceiver(expression.callee);
149
+ }
150
+ if (expression.type === distExports.AST_NODE_TYPES.UpdateExpression) {
151
+ return isThisReceiver(expression.argument);
152
+ }
153
+ return false;
154
+ }
140
155
  function getActualLastToken(node, sourceCode) {
141
156
  const semiToken = sourceCode.getLastToken(node);
142
157
  if (!semiToken) {
@@ -180,9 +195,15 @@ function getStatementKind(node) {
180
195
  if (node.expression.type === distExports.AST_NODE_TYPES.AwaitExpression) {
181
196
  return isSingleLine(node) ? "singleline-await" : "multiline-await";
182
197
  }
198
+ if (isSuperCall(node)) {
199
+ return isSingleLine(node) ? "singleline-super" : "multiline-super";
200
+ }
183
201
  if (isDirectivePrologue(node)) {
184
202
  return null;
185
203
  }
204
+ if (expressionUsesThis(node.expression)) {
205
+ return isSingleLine(node) ? "singleline-this" : "multiline-this";
206
+ }
186
207
  return isSingleLine(node) ? "singleline-expression" : "multiline-expression";
187
208
  }
188
209
  return null;
@@ -219,6 +240,21 @@ function isOwnLineComment(comment, sourceCode) {
219
240
  function isSingleLine(node) {
220
241
  return node.loc.start.line === node.loc.end.line;
221
242
  }
243
+ function isSuperCall(node) {
244
+ return node.expression.type === distExports.AST_NODE_TYPES.CallExpression && node.expression.callee.type === distExports.AST_NODE_TYPES.Super;
245
+ }
246
+ function isThisReceiver(node) {
247
+ if (node.type === distExports.AST_NODE_TYPES.ThisExpression) {
248
+ return true;
249
+ }
250
+ if (node.type === distExports.AST_NODE_TYPES.MemberExpression || node.type === distExports.AST_NODE_TYPES.OptionalMemberExpression) {
251
+ return isThisReceiver(node.object);
252
+ }
253
+ if (node.type === distExports.AST_NODE_TYPES.ChainExpression) {
254
+ return isThisReceiver(node.expression);
255
+ }
256
+ return false;
257
+ }
222
258
  const rule$a = {
223
259
  defaultOptions: [],
224
260
  meta: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saasmakers/eslint",
3
- "version": "1.0.9",
3
+ "version": "1.0.11",
4
4
  "private": false,
5
5
  "description": "Shared ESLint config and rules for SaaS Makers projects",
6
6
  "license": "MIT",