@fenge/eslint-plugin 0.4.2 → 0.4.3

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,5 +1,6 @@
1
1
  import { callArgumentsLength } from "./rules/call-arguments-length.ts";
2
2
  import { consistentHashbangAndFilename } from "./rules/consistent-hashbang-and-filename.ts";
3
+ import { noEmptyCondition } from "./rules/no-empty-condition.ts";
3
4
  import { noInstanceofBuiltin } from "./rules/no-instanceof-builtin.ts";
4
5
  import { noNestedClass } from "./rules/no-nested-class.ts";
5
6
  import { noNestedFunction } from "./rules/no-nested-function.ts";
@@ -10,6 +11,7 @@ import { noUnnecessaryTemplateString } from "./rules/no-unnecessary-template-str
10
11
  export declare const rules: {
11
12
  [callArgumentsLength.name]: import("eslint").Rule.RuleModule;
12
13
  [consistentHashbangAndFilename.name]: import("eslint").Rule.RuleModule;
14
+ [noEmptyCondition.name]: import("eslint").Rule.RuleModule;
13
15
  [noInstanceofBuiltin.name]: import("eslint").Rule.RuleModule;
14
16
  [noNestedClass.name]: import("eslint").Rule.RuleModule;
15
17
  [noNestedFunction.name]: import("eslint").Rule.RuleModule;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,eAAO,MAAM,KAAK;IAChB,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,6BAA6B,CAAC,IAAI,CAAC,mCAAoC;IACxE,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,aAAa,CAAC,IAAI,CAAC,mCAAoB;IACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,mCAAuB;IAC9C,CAAC,iBAAiB,CAAC,IAAI,CAAC,mCAAwB;IAChD,CAAC,uBAAuB,CAAC,IAAI,CAAC,mCAA8B;IAC5D,CAAC,sBAAsB,CAAC,IAAI,CAAC,mCAA6B;IAC1D,CAAC,2BAA2B,CAAC,IAAI,CAAC,mCAAkC;CACrE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,eAAO,MAAM,KAAK;IAChB,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,6BAA6B,CAAC,IAAI,CAAC,mCAAoC;IACxE,CAAC,gBAAgB,CAAC,IAAI,CAAC,mCAAuB;IAC9C,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,CAAC,aAAa,CAAC,IAAI,CAAC,mCAAoB;IACxC,CAAC,gBAAgB,CAAC,IAAI,CAAC,mCAAuB;IAC9C,CAAC,iBAAiB,CAAC,IAAI,CAAC,mCAAwB;IAChD,CAAC,uBAAuB,CAAC,IAAI,CAAC,mCAA8B;IAC5D,CAAC,sBAAsB,CAAC,IAAI,CAAC,mCAA6B;IAC1D,CAAC,2BAA2B,CAAC,IAAI,CAAC,mCAAkC;CACrE,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { callArgumentsLength } from "./rules/call-arguments-length.js";
2
2
  import { consistentHashbangAndFilename } from "./rules/consistent-hashbang-and-filename.js";
3
+ import { noEmptyCondition } from "./rules/no-empty-condition.js";
3
4
  import { noInstanceofBuiltin } from "./rules/no-instanceof-builtin.js";
4
5
  import { noNestedClass } from "./rules/no-nested-class.js";
5
6
  import { noNestedFunction } from "./rules/no-nested-function.js";
@@ -10,6 +11,7 @@ import { noUnnecessaryTemplateString } from "./rules/no-unnecessary-template-str
10
11
  export const rules = {
11
12
  [callArgumentsLength.name]: callArgumentsLength.rule,
12
13
  [consistentHashbangAndFilename.name]: consistentHashbangAndFilename.rule,
14
+ [noEmptyCondition.name]: noEmptyCondition.rule,
13
15
  [noInstanceofBuiltin.name]: noInstanceofBuiltin.rule,
14
16
  [noNestedClass.name]: noNestedClass.rule,
15
17
  [noNestedFunction.name]: noNestedFunction.rule,
@@ -18,4 +20,4 @@ export const rules = {
18
20
  [noTripleSlashDirective.name]: noTripleSlashDirective.rule,
19
21
  [noUnnecessaryTemplateString.name]: noUnnecessaryTemplateString.rule,
20
22
  };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNuQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxJQUFJO0lBQ3hFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsSUFBSTtJQUNwRCxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxhQUFhLENBQUMsSUFBSTtJQUN4QyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixDQUFDLElBQUk7SUFDOUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO0lBQ2hELENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsdUJBQXVCLENBQUMsSUFBSTtJQUM1RCxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUFFLHNCQUFzQixDQUFDLElBQUk7SUFDMUQsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxJQUFJO0NBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYWxsQXJndW1lbnRzTGVuZ3RoIH0gZnJvbSBcIi4vcnVsZXMvY2FsbC1hcmd1bWVudHMtbGVuZ3RoLnRzXCI7XG5pbXBvcnQgeyBjb25zaXN0ZW50SGFzaGJhbmdBbmRGaWxlbmFtZSB9IGZyb20gXCIuL3J1bGVzL2NvbnNpc3RlbnQtaGFzaGJhbmctYW5kLWZpbGVuYW1lLnRzXCI7XG5pbXBvcnQgeyBub0luc3RhbmNlb2ZCdWlsdGluIH0gZnJvbSBcIi4vcnVsZXMvbm8taW5zdGFuY2VvZi1idWlsdGluLnRzXCI7XG5pbXBvcnQgeyBub05lc3RlZENsYXNzIH0gZnJvbSBcIi4vcnVsZXMvbm8tbmVzdGVkLWNsYXNzLnRzXCI7XG5pbXBvcnQgeyBub05lc3RlZEZ1bmN0aW9uIH0gZnJvbSBcIi4vcnVsZXMvbm8tbmVzdGVkLWZ1bmN0aW9uLnRzXCI7XG5pbXBvcnQgeyBub1Jlc3RyaWN0ZWRMb29wcyB9IGZyb20gXCIuL3J1bGVzL25vLXJlc3RyaWN0ZWQtbG9vcHMudHNcIjtcbmltcG9ydCB7IG5vVG9wTGV2ZWxBcnJvd0Z1bmN0aW9uIH0gZnJvbSBcIi4vcnVsZXMvbm8tdG9wLWxldmVsLWFycm93LWZ1bmN0aW9uLnRzXCI7XG5pbXBvcnQgeyBub1RyaXBsZVNsYXNoRGlyZWN0aXZlIH0gZnJvbSBcIi4vcnVsZXMvbm8tdHJpcGxlLXNsYXNoLWRpcmVjdGl2ZS50c1wiO1xuaW1wb3J0IHsgbm9Vbm5lY2Vzc2FyeVRlbXBsYXRlU3RyaW5nIH0gZnJvbSBcIi4vcnVsZXMvbm8tdW5uZWNlc3NhcnktdGVtcGxhdGUtc3RyaW5nLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBydWxlcyA9IHtcbiAgW2NhbGxBcmd1bWVudHNMZW5ndGgubmFtZV06IGNhbGxBcmd1bWVudHNMZW5ndGgucnVsZSxcbiAgW2NvbnNpc3RlbnRIYXNoYmFuZ0FuZEZpbGVuYW1lLm5hbWVdOiBjb25zaXN0ZW50SGFzaGJhbmdBbmRGaWxlbmFtZS5ydWxlLFxuICBbbm9JbnN0YW5jZW9mQnVpbHRpbi5uYW1lXTogbm9JbnN0YW5jZW9mQnVpbHRpbi5ydWxlLFxuICBbbm9OZXN0ZWRDbGFzcy5uYW1lXTogbm9OZXN0ZWRDbGFzcy5ydWxlLFxuICBbbm9OZXN0ZWRGdW5jdGlvbi5uYW1lXTogbm9OZXN0ZWRGdW5jdGlvbi5ydWxlLFxuICBbbm9SZXN0cmljdGVkTG9vcHMubmFtZV06IG5vUmVzdHJpY3RlZExvb3BzLnJ1bGUsXG4gIFtub1RvcExldmVsQXJyb3dGdW5jdGlvbi5uYW1lXTogbm9Ub3BMZXZlbEFycm93RnVuY3Rpb24ucnVsZSxcbiAgW25vVHJpcGxlU2xhc2hEaXJlY3RpdmUubmFtZV06IG5vVHJpcGxlU2xhc2hEaXJlY3RpdmUucnVsZSxcbiAgW25vVW5uZWNlc3NhcnlUZW1wbGF0ZVN0cmluZy5uYW1lXTogbm9Vbm5lY2Vzc2FyeVRlbXBsYXRlU3RyaW5nLnJ1bGUsXG59O1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNuQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxJQUFJO0lBQ3hFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtJQUM5QyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUk7SUFDeEMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO0lBQzlDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtJQUNoRCxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLHVCQUF1QixDQUFDLElBQUk7SUFDNUQsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxJQUFJO0lBQzFELENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEVBQUUsMkJBQTJCLENBQUMsSUFBSTtDQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FsbEFyZ3VtZW50c0xlbmd0aCB9IGZyb20gXCIuL3J1bGVzL2NhbGwtYXJndW1lbnRzLWxlbmd0aC50c1wiO1xuaW1wb3J0IHsgY29uc2lzdGVudEhhc2hiYW5nQW5kRmlsZW5hbWUgfSBmcm9tIFwiLi9ydWxlcy9jb25zaXN0ZW50LWhhc2hiYW5nLWFuZC1maWxlbmFtZS50c1wiO1xuaW1wb3J0IHsgbm9FbXB0eUNvbmRpdGlvbiB9IGZyb20gXCIuL3J1bGVzL25vLWVtcHR5LWNvbmRpdGlvbi50c1wiO1xuaW1wb3J0IHsgbm9JbnN0YW5jZW9mQnVpbHRpbiB9IGZyb20gXCIuL3J1bGVzL25vLWluc3RhbmNlb2YtYnVpbHRpbi50c1wiO1xuaW1wb3J0IHsgbm9OZXN0ZWRDbGFzcyB9IGZyb20gXCIuL3J1bGVzL25vLW5lc3RlZC1jbGFzcy50c1wiO1xuaW1wb3J0IHsgbm9OZXN0ZWRGdW5jdGlvbiB9IGZyb20gXCIuL3J1bGVzL25vLW5lc3RlZC1mdW5jdGlvbi50c1wiO1xuaW1wb3J0IHsgbm9SZXN0cmljdGVkTG9vcHMgfSBmcm9tIFwiLi9ydWxlcy9uby1yZXN0cmljdGVkLWxvb3BzLnRzXCI7XG5pbXBvcnQgeyBub1RvcExldmVsQXJyb3dGdW5jdGlvbiB9IGZyb20gXCIuL3J1bGVzL25vLXRvcC1sZXZlbC1hcnJvdy1mdW5jdGlvbi50c1wiO1xuaW1wb3J0IHsgbm9UcmlwbGVTbGFzaERpcmVjdGl2ZSB9IGZyb20gXCIuL3J1bGVzL25vLXRyaXBsZS1zbGFzaC1kaXJlY3RpdmUudHNcIjtcbmltcG9ydCB7IG5vVW5uZWNlc3NhcnlUZW1wbGF0ZVN0cmluZyB9IGZyb20gXCIuL3J1bGVzL25vLXVubmVjZXNzYXJ5LXRlbXBsYXRlLXN0cmluZy50c1wiO1xuXG5leHBvcnQgY29uc3QgcnVsZXMgPSB7XG4gIFtjYWxsQXJndW1lbnRzTGVuZ3RoLm5hbWVdOiBjYWxsQXJndW1lbnRzTGVuZ3RoLnJ1bGUsXG4gIFtjb25zaXN0ZW50SGFzaGJhbmdBbmRGaWxlbmFtZS5uYW1lXTogY29uc2lzdGVudEhhc2hiYW5nQW5kRmlsZW5hbWUucnVsZSxcbiAgW25vRW1wdHlDb25kaXRpb24ubmFtZV06IG5vRW1wdHlDb25kaXRpb24ucnVsZSxcbiAgW25vSW5zdGFuY2VvZkJ1aWx0aW4ubmFtZV06IG5vSW5zdGFuY2VvZkJ1aWx0aW4ucnVsZSxcbiAgW25vTmVzdGVkQ2xhc3MubmFtZV06IG5vTmVzdGVkQ2xhc3MucnVsZSxcbiAgW25vTmVzdGVkRnVuY3Rpb24ubmFtZV06IG5vTmVzdGVkRnVuY3Rpb24ucnVsZSxcbiAgW25vUmVzdHJpY3RlZExvb3BzLm5hbWVdOiBub1Jlc3RyaWN0ZWRMb29wcy5ydWxlLFxuICBbbm9Ub3BMZXZlbEFycm93RnVuY3Rpb24ubmFtZV06IG5vVG9wTGV2ZWxBcnJvd0Z1bmN0aW9uLnJ1bGUsXG4gIFtub1RyaXBsZVNsYXNoRGlyZWN0aXZlLm5hbWVdOiBub1RyaXBsZVNsYXNoRGlyZWN0aXZlLnJ1bGUsXG4gIFtub1VubmVjZXNzYXJ5VGVtcGxhdGVTdHJpbmcubmFtZV06IG5vVW5uZWNlc3NhcnlUZW1wbGF0ZVN0cmluZy5ydWxlLFxufTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import type { Rule } from "eslint";
2
+ export declare const noEmptyCondition: {
3
+ name: string;
4
+ rule: Rule.RuleModule;
5
+ };
6
+ //# sourceMappingURL=no-empty-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-empty-condition.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-condition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA0CnC,eAAO,MAAM,gBAAgB;;;CAAiB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { getDocUrl, getRuleName } from "../utils.js";
2
+ const name = getRuleName(import.meta.url);
3
+ const rule = {
4
+ meta: {
5
+ docs: {
6
+ url: getDocUrl(name),
7
+ description: "Disallow empty or falsy condition expression in for loops.",
8
+ },
9
+ messages: {
10
+ [`${name}/error`]: "The condition (second part) of the for loop should not be empty or falsy.",
11
+ },
12
+ },
13
+ create: (context) => ({
14
+ ForStatement: (node) => {
15
+ const { test } = node;
16
+ if (!test) {
17
+ context.report({ node, messageId: `${name}/error` });
18
+ return;
19
+ }
20
+ const isFalsyLiteral = test.type === "Literal" &&
21
+ (test.value === "" ||
22
+ test.value === 0 ||
23
+ test.value === false ||
24
+ test.value === null ||
25
+ test.value === undefined);
26
+ const isUndefinedIdentifier = test.type === "Identifier" && test.name === "undefined";
27
+ if (isFalsyLiteral || isUndefinedIdentifier) {
28
+ context.report({ node, messageId: `${name}/error` });
29
+ }
30
+ },
31
+ }),
32
+ };
33
+ export const noEmptyCondition = { name, rule };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZW1wdHktY29uZGl0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLWVtcHR5LWNvbmRpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEIsV0FBVyxFQUFFLDREQUE0RDtTQUMxRTtRQUNELFFBQVEsRUFBRTtZQUNSLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUNmLDJFQUEyRTtTQUM5RTtLQUNGO0lBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLFlBQVksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7WUFFdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxPQUFPO1lBQ1QsQ0FBQztZQUVELE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7Z0JBQ3ZCLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO29CQUNoQixJQUFJLENBQUMsS0FBSyxLQUFLLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSztvQkFDcEIsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJO29CQUNuQixJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBRTlCLE1BQU0scUJBQXFCLEdBQ3pCLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDO1lBRTFELElBQUksY0FBYyxJQUFJLHFCQUFxQixFQUFFLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB7IGdldERvY1VybCwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMudHNcIjtcblxuY29uc3QgbmFtZSA9IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCk7XG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGdldERvY1VybChuYW1lKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkRpc2FsbG93IGVtcHR5IG9yIGZhbHN5IGNvbmRpdGlvbiBleHByZXNzaW9uIGluIGZvciBsb29wcy5cIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbYCR7bmFtZX0vZXJyb3JgXTpcbiAgICAgICAgXCJUaGUgY29uZGl0aW9uIChzZWNvbmQgcGFydCkgb2YgdGhlIGZvciBsb29wIHNob3VsZCBub3QgYmUgZW1wdHkgb3IgZmFsc3kuXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4gKHtcbiAgICBGb3JTdGF0ZW1lbnQ6IChub2RlKSA9PiB7XG4gICAgICBjb25zdCB7IHRlc3QgfSA9IG5vZGU7XG5cbiAgICAgIGlmICghdGVzdCkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogYCR7bmFtZX0vZXJyb3JgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzRmFsc3lMaXRlcmFsID1cbiAgICAgICAgdGVzdC50eXBlID09PSBcIkxpdGVyYWxcIiAmJlxuICAgICAgICAodGVzdC52YWx1ZSA9PT0gXCJcIiB8fFxuICAgICAgICAgIHRlc3QudmFsdWUgPT09IDAgfHxcbiAgICAgICAgICB0ZXN0LnZhbHVlID09PSBmYWxzZSB8fFxuICAgICAgICAgIHRlc3QudmFsdWUgPT09IG51bGwgfHxcbiAgICAgICAgICB0ZXN0LnZhbHVlID09PSB1bmRlZmluZWQpO1xuXG4gICAgICBjb25zdCBpc1VuZGVmaW5lZElkZW50aWZpZXIgPVxuICAgICAgICB0ZXN0LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmIHRlc3QubmFtZSA9PT0gXCJ1bmRlZmluZWRcIjtcblxuICAgICAgaWYgKGlzRmFsc3lMaXRlcmFsIHx8IGlzVW5kZWZpbmVkSWRlbnRpZmllcikge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogYCR7bmFtZX0vZXJyb3JgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH0pLFxufTtcblxuZXhwb3J0IGNvbnN0IG5vRW1wdHlDb25kaXRpb24gPSB7IG5hbWUsIHJ1bGUgfTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"no-restricted-loops.d.ts","sourceRoot":"","sources":["../../src/rules/no-restricted-loops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA4BnC,eAAO,MAAM,iBAAiB;;;CAAiB,CAAC"}
1
+ {"version":3,"file":"no-restricted-loops.d.ts","sourceRoot":"","sources":["../../src/rules/no-restricted-loops.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AA6BnC,eAAO,MAAM,iBAAiB;;;CAAiB,CAAC"}
@@ -8,17 +8,17 @@ const rule = {
8
8
  meta: {
9
9
  docs: {
10
10
  url: getDocUrl(name),
11
- description: "Only allow `while` and `for-of` loops. `for`, `for-in`, `do-while` and `for-await-of` loops are disallowed.",
11
+ description: "Only allow `while`, `for` and `for-of` loops. `for-in`, `do-while` and `for-await-of` loops are disallowed.",
12
12
  },
13
13
  messages: {
14
- [`${name}/error`]: "Only allow `while` and `for-of` loops. `for`, `for-in`, `do-while` and `for-await-of` loops are disallowed.",
14
+ [`${name}/error`]: "Only allow `while`, `for` and `for-of` loops. `for-in`, `do-while` and `for-await-of` loops are disallowed.",
15
15
  },
16
16
  },
17
17
  create: (context) => ({
18
- ":matches(ForStatement, ForInStatement, DoWhileStatement, ForOfStatement[await=true])": (node) => {
18
+ ":matches(ForInStatement, DoWhileStatement, ForOfStatement[await=true])": (node) => {
19
19
  context.report({ node, messageId: `${name}/error` });
20
20
  },
21
21
  }),
22
22
  };
23
23
  export const noRestrictedLoops = { name, rule };
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcmVzdHJpY3RlZC1sb29wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZXN0cmljdGVkLWxvb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDOzs7R0FHRztBQUNILE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNwQixXQUFXLEVBQ1QsNkdBQTZHO1NBQ2hIO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQ2YsNkdBQTZHO1NBQ2hIO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsc0ZBQXNGLEVBQ3BGLENBQUMsSUFBZSxFQUFFLEVBQUU7WUFDbEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztLQUNKLENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgeyBnZXREb2NVcmwsIGdldFJ1bGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxzLnRzXCI7XG5cbmNvbnN0IG5hbWUgPSBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpO1xuLyoqXG4gKiBPbmx5IGFsbG93IGB3aGlsZWAgYW5kIGBmb3Itb2ZgIGxvb3BzLiBgZm9yYCwgYGZvci1pbmAsIGBkby13aGlsZWAgYW5kIGBmb3ItYXdhaXQtb2ZgIGxvb3BzIGFyZSBkaXNhbGxvd2VkLlxuICogVmlzaXQgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9lc2xpbnQtcGx1Z2luLXVuaWNvcm4vaXNzdWVzLzI0NTMgZm9yIG1vcmUgZGV0YWlscy5cbiAqL1xuY29uc3QgcnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgdXJsOiBnZXREb2NVcmwobmFtZSksXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJPbmx5IGFsbG93IGB3aGlsZWAgYW5kIGBmb3Itb2ZgIGxvb3BzLiBgZm9yYCwgYGZvci1pbmAsIGBkby13aGlsZWAgYW5kIGBmb3ItYXdhaXQtb2ZgIGxvb3BzIGFyZSBkaXNhbGxvd2VkLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOlxuICAgICAgICBcIk9ubHkgYWxsb3cgYHdoaWxlYCBhbmQgYGZvci1vZmAgbG9vcHMuIGBmb3JgLCBgZm9yLWluYCwgYGRvLXdoaWxlYCBhbmQgYGZvci1hd2FpdC1vZmAgbG9vcHMgYXJlIGRpc2FsbG93ZWQuXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4gKHtcbiAgICBcIjptYXRjaGVzKEZvclN0YXRlbWVudCwgRm9ySW5TdGF0ZW1lbnQsIERvV2hpbGVTdGF0ZW1lbnQsIEZvck9mU3RhdGVtZW50W2F3YWl0PXRydWVdKVwiOlxuICAgICAgKG5vZGU6IFJ1bGUuTm9kZSkgPT4ge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogYCR7bmFtZX0vZXJyb3JgIH0pO1xuICAgICAgfSxcbiAgfSksXG59O1xuXG5leHBvcnQgY29uc3Qgbm9SZXN0cmljdGVkTG9vcHMgPSB7IG5hbWUsIHJ1bGUgfTtcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcmVzdHJpY3RlZC1sb29wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZXN0cmljdGVkLWxvb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDOzs7R0FHRztBQUNILE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNwQixXQUFXLEVBQ1QsNkdBQTZHO1NBQ2hIO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQ2YsNkdBQTZHO1NBQ2hIO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsd0VBQXdFLEVBQUUsQ0FDeEUsSUFBZSxFQUNmLEVBQUU7WUFDRixPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0tBQ0YsQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB7IGdldERvY1VybCwgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMudHNcIjtcblxuY29uc3QgbmFtZSA9IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCk7XG4vKipcbiAqIE9ubHkgYWxsb3cgYHdoaWxlYCBhbmQgYGZvci1vZmAgbG9vcHMuIGBmb3JgLCBgZm9yLWluYCwgYGRvLXdoaWxlYCBhbmQgYGZvci1hd2FpdC1vZmAgbG9vcHMgYXJlIGRpc2FsbG93ZWQuXG4gKiBWaXNpdCBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2VzbGludC1wbHVnaW4tdW5pY29ybi9pc3N1ZXMvMjQ1MyBmb3IgbW9yZSBkZXRhaWxzLlxuICovXG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICB1cmw6IGdldERvY1VybChuYW1lKSxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIk9ubHkgYWxsb3cgYHdoaWxlYCwgYGZvcmAgYW5kIGBmb3Itb2ZgIGxvb3BzLiBgZm9yLWluYCwgYGRvLXdoaWxlYCBhbmQgYGZvci1hd2FpdC1vZmAgbG9vcHMgYXJlIGRpc2FsbG93ZWQuXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW2Ake25hbWV9L2Vycm9yYF06XG4gICAgICAgIFwiT25seSBhbGxvdyBgd2hpbGVgLCBgZm9yYCBhbmQgYGZvci1vZmAgbG9vcHMuIGBmb3ItaW5gLCBgZG8td2hpbGVgIGFuZCBgZm9yLWF3YWl0LW9mYCBsb29wcyBhcmUgZGlzYWxsb3dlZC5cIixcbiAgICB9LFxuICB9LFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiAoe1xuICAgIFwiOm1hdGNoZXMoRm9ySW5TdGF0ZW1lbnQsIERvV2hpbGVTdGF0ZW1lbnQsIEZvck9mU3RhdGVtZW50W2F3YWl0PXRydWVdKVwiOiAoXG4gICAgICBub2RlOiBSdWxlLk5vZGUsXG4gICAgKSA9PiB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogYCR7bmFtZX0vZXJyb3JgIH0pO1xuICAgIH0sXG4gIH0pLFxufTtcblxuZXhwb3J0IGNvbnN0IG5vUmVzdHJpY3RlZExvb3BzID0geyBuYW1lLCBydWxlIH07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenge/eslint-plugin",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "ESLint plugin for JavaScript.",
5
5
  "keywords": [
6
6
  "opinionated",