@fenge/eslint-plugin 0.1.3 → 0.3.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.
- package/CHANGELOG.md +12 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/rules/call-arguments-length.js +1 -1
- package/dist/rules/no-instanceof-builtin.js +1 -1
- package/dist/rules/no-nested-class.js +1 -1
- package/dist/rules/no-nested-function.js +7 -9
- package/dist/rules/no-restricted-loops.js +1 -1
- package/dist/rules/no-top-level-arrow-function.d.ts.map +1 -1
- package/dist/rules/no-top-level-arrow-function.js +4 -4
- package/dist/rules/no-unnecessary-template-string.js +1 -1
- package/doc/rules/no-nested-function.md +2 -0
- package/doc/rules/no-top-level-arrow-function.md +10 -6
- package/package.json +4 -5
- package/src/index.ts +7 -9
- package/src/rules/call-arguments-length.spec.ts +1 -1
- package/src/rules/call-arguments-length.ts +1 -1
- package/src/rules/no-instanceof-builtin.spec.ts +1 -1
- package/src/rules/no-instanceof-builtin.ts +1 -1
- package/src/rules/no-nested-class.spec.ts +1 -1
- package/src/rules/no-nested-class.ts +1 -1
- package/src/rules/no-nested-function.spec.ts +3 -1
- package/src/rules/no-nested-function.ts +9 -9
- package/src/rules/no-restricted-loops.spec.ts +1 -1
- package/src/rules/no-restricted-loops.ts +1 -1
- package/src/rules/no-top-level-arrow-function.spec.ts +10 -7
- package/src/rules/no-top-level-arrow-function.ts +6 -5
- package/src/rules/no-unnecessary-template-string.spec.ts +1 -1
- package/src/rules/no-unnecessary-template-string.ts +1 -1
- package/dist/rules/no-jsx-in-non-jsx-file.d.ts +0 -6
- package/dist/rules/no-jsx-in-non-jsx-file.d.ts.map +0 -1
- package/dist/rules/no-jsx-in-non-jsx-file.js +0 -24
- package/doc/rules/no-jsx-in-non-jsx-file.md +0 -37
- package/src/rules/no-jsx-in-non-jsx-file.spec.ts +0 -22
- package/src/rules/no-jsx-in-non-jsx-file.ts +0 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @fenge/eslint-plugin
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9f27f60: chore: remove rule `@fenge/no-jsx-in-non-jsx-file`
|
|
8
|
+
|
|
9
|
+
## 0.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- d2e61d3: feat: `no-top-level-arrow-function` only report when the function body is `BlockStatement`
|
|
14
|
+
|
|
3
15
|
## 0.1.3
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,17 @@
|
|
|
1
|
+
import { callArgumentsLength } from "./rules/call-arguments-length.ts";
|
|
2
|
+
import { noInstanceofBuiltin } from "./rules/no-instanceof-builtin.ts";
|
|
3
|
+
import { noNestedClass } from "./rules/no-nested-class.ts";
|
|
4
|
+
import { noNestedFunction } from "./rules/no-nested-function.ts";
|
|
5
|
+
import { noRestrictedLoops } from "./rules/no-restricted-loops.ts";
|
|
6
|
+
import { noTopLevelArrowFunction } from "./rules/no-top-level-arrow-function.ts";
|
|
7
|
+
import { noUnnecessaryTemplateString } from "./rules/no-unnecessary-template-string.ts";
|
|
1
8
|
export declare const rules: {
|
|
2
|
-
[
|
|
9
|
+
[callArgumentsLength.name]: import("eslint").Rule.RuleModule;
|
|
10
|
+
[noInstanceofBuiltin.name]: import("eslint").Rule.RuleModule;
|
|
11
|
+
[noNestedClass.name]: import("eslint").Rule.RuleModule;
|
|
12
|
+
[noNestedFunction.name]: import("eslint").Rule.RuleModule;
|
|
13
|
+
[noRestrictedLoops.name]: import("eslint").Rule.RuleModule;
|
|
14
|
+
[noTopLevelArrowFunction.name]: import("eslint").Rule.RuleModule;
|
|
15
|
+
[noUnnecessaryTemplateString.name]: import("eslint").Rule.RuleModule;
|
|
3
16
|
};
|
|
4
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
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,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,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAExF,eAAO,MAAM,KAAK;IAChB,CAAC,mBAAmB,CAAC,IAAI,CAAC,mCAA0B;IACpD,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,2BAA2B,CAAC,IAAI,CAAC,mCAAkC;CACrE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { callArgumentsLength } from "./rules/call-arguments-length.js";
|
|
2
2
|
import { noInstanceofBuiltin } from "./rules/no-instanceof-builtin.js";
|
|
3
|
-
import { noJsxInNonJsxFile } from "./rules/no-jsx-in-non-jsx-file.js";
|
|
4
3
|
import { noNestedClass } from "./rules/no-nested-class.js";
|
|
5
4
|
import { noNestedFunction } from "./rules/no-nested-function.js";
|
|
6
5
|
import { noRestrictedLoops } from "./rules/no-restricted-loops.js";
|
|
@@ -9,11 +8,10 @@ import { noUnnecessaryTemplateString } from "./rules/no-unnecessary-template-str
|
|
|
9
8
|
export const rules = {
|
|
10
9
|
[callArgumentsLength.name]: callArgumentsLength.rule,
|
|
11
10
|
[noInstanceofBuiltin.name]: noInstanceofBuiltin.rule,
|
|
12
|
-
[noJsxInNonJsxFile.name]: noJsxInNonJsxFile.rule,
|
|
13
11
|
[noNestedClass.name]: noNestedClass.rule,
|
|
14
12
|
[noNestedFunction.name]: noNestedFunction.rule,
|
|
15
13
|
[noRestrictedLoops.name]: noRestrictedLoops.rule,
|
|
16
14
|
[noTopLevelArrowFunction.name]: noTopLevelArrowFunction.rule,
|
|
17
15
|
[noUnnecessaryTemplateString.name]: noUnnecessaryTemplateString.rule,
|
|
18
16
|
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRztJQUNuQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLG1CQUFtQixDQUFDLElBQUk7SUFDcEQsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO0lBQ3BELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJO0lBQ3hDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtJQUM5QyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixDQUFDLElBQUk7SUFDaEQsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxJQUFJO0lBQzVELENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEVBQUUsMkJBQTJCLENBQUMsSUFBSTtDQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2FsbEFyZ3VtZW50c0xlbmd0aCB9IGZyb20gXCIuL3J1bGVzL2NhbGwtYXJndW1lbnRzLWxlbmd0aC50c1wiO1xuaW1wb3J0IHsgbm9JbnN0YW5jZW9mQnVpbHRpbiB9IGZyb20gXCIuL3J1bGVzL25vLWluc3RhbmNlb2YtYnVpbHRpbi50c1wiO1xuaW1wb3J0IHsgbm9OZXN0ZWRDbGFzcyB9IGZyb20gXCIuL3J1bGVzL25vLW5lc3RlZC1jbGFzcy50c1wiO1xuaW1wb3J0IHsgbm9OZXN0ZWRGdW5jdGlvbiB9IGZyb20gXCIuL3J1bGVzL25vLW5lc3RlZC1mdW5jdGlvbi50c1wiO1xuaW1wb3J0IHsgbm9SZXN0cmljdGVkTG9vcHMgfSBmcm9tIFwiLi9ydWxlcy9uby1yZXN0cmljdGVkLWxvb3BzLnRzXCI7XG5pbXBvcnQgeyBub1RvcExldmVsQXJyb3dGdW5jdGlvbiB9IGZyb20gXCIuL3J1bGVzL25vLXRvcC1sZXZlbC1hcnJvdy1mdW5jdGlvbi50c1wiO1xuaW1wb3J0IHsgbm9Vbm5lY2Vzc2FyeVRlbXBsYXRlU3RyaW5nIH0gZnJvbSBcIi4vcnVsZXMvbm8tdW5uZWNlc3NhcnktdGVtcGxhdGUtc3RyaW5nLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBydWxlcyA9IHtcbiAgW2NhbGxBcmd1bWVudHNMZW5ndGgubmFtZV06IGNhbGxBcmd1bWVudHNMZW5ndGgucnVsZSxcbiAgW25vSW5zdGFuY2VvZkJ1aWx0aW4ubmFtZV06IG5vSW5zdGFuY2VvZkJ1aWx0aW4ucnVsZSxcbiAgW25vTmVzdGVkQ2xhc3MubmFtZV06IG5vTmVzdGVkQ2xhc3MucnVsZSxcbiAgW25vTmVzdGVkRnVuY3Rpb24ubmFtZV06IG5vTmVzdGVkRnVuY3Rpb24ucnVsZSxcbiAgW25vUmVzdHJpY3RlZExvb3BzLm5hbWVdOiBub1Jlc3RyaWN0ZWRMb29wcy5ydWxlLFxuICBbbm9Ub3BMZXZlbEFycm93RnVuY3Rpb24ubmFtZV06IG5vVG9wTGV2ZWxBcnJvd0Z1bmN0aW9uLnJ1bGUsXG4gIFtub1VubmVjZXNzYXJ5VGVtcGxhdGVTdHJpbmcubmFtZV06IG5vVW5uZWNlc3NhcnlUZW1wbGF0ZVN0cmluZy5ydWxlLFxufTtcbiJdfQ==
|
|
@@ -125,4 +125,4 @@ const rule = {
|
|
|
125
125
|
},
|
|
126
126
|
};
|
|
127
127
|
export const callArgumentsLength = { name, rule };
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1hcmd1bWVudHMtbGVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL2NhbGwtYXJndW1lbnRzLWxlbmd0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLDBJQUEwSTtBQUMxSSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULDhEQUE4RDtTQUNqRTtRQUNELFFBQVEsRUFBRTtZQUNSLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUNmLG1GQUFtRjtTQUN0RjtRQUNELE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsNENBQTRDO0tBQzNFO0lBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbEIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUF1QixFQUFFLEVBQUU7WUFDL0MsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztZQUM1QixJQUNFLE9BQU8sY0FBYyxLQUFLLFFBQVE7Z0JBQ2xDLGNBQWM7Z0JBQ2QsS0FBSyxJQUFJLGNBQWMsRUFDdkIsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FB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TUFBTSxDQUFDO2dCQUNsRSxPQUFPO3FCQUNKLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNqQixpRkFBaUY7b0JBQ2pGLElBQ0UsTUFBTSxJQUFJLFlBQVk7d0JBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNmLEdBQUcsTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxDQUN2RCxFQUNELENBQUM7d0JBQ0QsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztvQkFDRCx3R0FBd0c7b0JBQ3hHLElBQ0UsQ0FBQyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUM7d0JBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUNyRCxDQUFDO3dCQUNELE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQ0QsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDO3FCQUNELE9BQU8sQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7b0JBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixPQUFPO1lBQ0wsY0FBYyxFQUFFLE1BQU07WUFDdEIsYUFBYSxFQUFFLE1BQU07U0FDdEIsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IENhbGxFeHByZXNzaW9uLCBOZXdFeHByZXNzaW9uIH0gZnJvbSBcImVzdHJlZVwiO1xuaW1wb3J0IHsgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMuanNcIjtcblxuLy8gVE9ETzogSWYgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9lc2xpbnQtcGx1Z2luLXVuaWNvcm4vaXNzdWVzLzEzNTYgaXMgaW1wbGVtZW50ZWQsIG1pZ3JhdGUgdGhpcyBydWxlIHRvIGBlc2xpbnQtcGx1Z2luLXVuaWNvcm5gXG5jb25zdCBuYW1lID0gZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpc2FsbG93IGNhbGxpbmcgYSBmdW5jdGlvbiB3aXRoIGluY29ycmVjdCBhcmd1bWVudHMgbGVuZ3RoLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOlxuICAgICAgICBcIlRoZSBhcmd1bWVudHMgbGVuZ3RoIG9mIGNhbGxpbmcgYHt7IGZ1bmN0aW9uUGF0dGVybiB9fWAgc2hvdWxkIGJlIHt7IGxlbmd0aE1zZyB9fVwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbeyB0eXBlOiBcIm9iamVjdFwiIH1dLCAvLyBUT0RPOiBlbmhhbmNlIHNjaGVtYSBmb3IgY2hlY2tpbmcgb3B0aW9uc1xuICB9LFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiB7XG4gICAgY29uc3QgZ2V0TGVuZ3RoTXNnID0gKGV4cGVjdGVkTGVuZ3RoOiB1bmtub3duKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGV4cGVjdGVkTGVuZ3RoID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcoZXhwZWN0ZWRMZW5ndGgpO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXhwZWN0ZWRMZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBleHBlY3RlZExlbmd0aC5qb2luKFwiIG9yIFwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGV4cGVjdGVkTGVuZ3RoID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgIGV4cGVjdGVkTGVuZ3RoICYmXG4gICAgICAgIFwibWluXCIgaW4gZXhwZWN0ZWRMZW5ndGhcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaChgPj0gJHtTdHJpbmcoZXhwZWN0ZWRMZW5ndGgubWluKX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGV4cGVjdGVkTGVuZ3RoID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgIGV4cGVjdGVkTGVuZ3RoICYmXG4gICAgICAgIFwibWF4XCIgaW4gZXhwZWN0ZWRMZW5ndGhcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaChgPD0gJHtTdHJpbmcoZXhwZWN0ZWRMZW5ndGgubWF4KX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQuam9pbihcIiBhbmQgXCIpO1xuICAgIH07XG4gICAgY29uc3QgaXNMZW5ndGhWYWxpZCA9IChsZW5ndGg6IG51bWJlciwgZXhwZWN0ZWRMZW5ndGg6IHVua25vd24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZXhwZWN0ZWRMZW5ndGggPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIGxlbmd0aCA9PT0gZXhwZWN0ZWRMZW5ndGg7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3RlZExlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkTGVuZ3RoLmluY2x1ZGVzKGxlbmd0aCk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQ6IGJvb2xlYW5bXSA9IFtdO1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgZXhwZWN0ZWRMZW5ndGggPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgZXhwZWN0ZWRMZW5ndGggJiZcbiAgICAgICAgXCJtaW5cIiBpbiBleHBlY3RlZExlbmd0aCAmJlxuICAgICAgICB0eXBlb2YgZXhwZWN0ZWRMZW5ndGgubWluID09PSBcIm51bWJlclwiXG4gICAgICApIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGVuZ3RoID49IGV4cGVjdGVkTGVuZ3RoLm1pbik7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBleHBlY3RlZExlbmd0aCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBleHBlY3RlZExlbmd0aCAmJlxuICAgICAgICBcIm1heFwiIGluIGV4cGVjdGVkTGVuZ3RoICYmXG4gICAgICAgIHR5cGVvZiBleHBlY3RlZExlbmd0aC5tYXggPT09IFwibnVtYmVyXCJcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaChsZW5ndGggPD0gZXhwZWN0ZWRMZW5ndGgubWF4KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQuZXZlcnkoKGl0ZW0pID0+IGl0ZW0pO1xuICAgIH07XG4gICAgY29uc3QgcmVwb3J0ID0gKFxuICAgICAgbm9kZTogQ2FsbEV4cHJlc3Npb24gfCBOZXdFeHByZXNzaW9uLFxuICAgICAgZnVuY3Rpb25QYXR0ZXJuOiBzdHJpbmcsXG4gICAgICBleHBlY3RlZExlbmd0aDogdW5rbm93bixcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IGFyZ3NMZW5ndGggPSBub2RlLmFyZ3VtZW50cy5zb21lKFxuICAgICAgICAoYXJnKSA9PiBhcmcudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIsXG4gICAgICApXG4gICAgICAgID8gSW5maW5pdHlcbiAgICAgICAgOiBub2RlLmFyZ3VtZW50cy5sZW5ndGg7XG4gICAgICBpZiAoIWlzTGVuZ3RoVmFsaWQoYXJnc0xlbmd0aCwgZXhwZWN0ZWRMZW5ndGgpKVxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlSWQ6IGAke25hbWV9L2Vycm9yYCxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBmdW5jdGlvblBhdHRlcm4sXG4gICAgICAgICAgICBsZW5ndGhNc2c6IGdldExlbmd0aE1zZyhleHBlY3RlZExlbmd0aCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuZW50cmllcyhcbiAgICAgIGNvbnRleHQub3B0aW9uc1swXSA/PyB7XG4gICAgICAgIC8vIDFcbiAgICAgICAgXCIqLnJlZHVjZVwiOiAyLFxuICAgICAgICBcIioucmVkdWNlUmlnaHRcIjogMixcbiAgICAgICAgXCIqLnB1c2hcIjogeyBtaW46IDEgfSxcbiAgICAgICAgXCJNYXRoLm1heFwiOiB7IG1pbjogMiB9LFxuICAgICAgICBcIk1hdGgubWluXCI6IHsgbWluOiAyIH0sXG4gICAgICAgIC8vIDJcbiAgICAgICAgXCJuZXcgU2V0XCI6IHsgbWF4OiAxIH0sXG4gICAgICAgIFwibmV3IE1hcFwiOiB7IG1heDogMSB9LFxuICAgICAgfSxcbiAgICApLm1hcCgoW3BhdHRlcm4sIGV4cGVjdGVkTGVuZ3RoXSkgPT4gKHtcbiAgICAgIHJlZ2V4OiBuZXcgUmVnRXhwKFxuICAgICAgICBgXiR7cGF0dGVybi5yZXBsYWNlQWxsKFwiLlwiLCBcIlxcXFwuXCIpLnJlcGxhY2VBbGwoXCIqXCIsIFwiLipcIil9JGAsXG4gICAgICApLFxuICAgICAgcGF0dGVybixcbiAgICAgIGV4cGVjdGVkTGVuZ3RoLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGhhbmRsZSA9IChub2RlOiBDYWxsRXhwcmVzc2lvbiB8IE5ld0V4cHJlc3Npb24pID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IG5vZGUudHlwZSA9PT0gXCJOZXdFeHByZXNzaW9uXCIgPyBcIm5ldyBcIiA6IFwiXCI7XG5cbiAgICAgIGNvbnN0IHsgY2FsbGVlIH0gPSBub2RlO1xuICAgICAgLy8gZnVuY3Rpb24gY2FsbFxuICAgICAgaWYgKGNhbGxlZS50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgICAgICAvLyBjb2RlIGxpa2UgYGZvbygpYCBvciBgbmV3IEZvbygpYFxuICAgICAgICBvcHRpb25zXG4gICAgICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24ucmVnZXgudGVzdChgJHtwcmVmaXh9JHtjYWxsZWUubmFtZX1gKSlcbiAgICAgICAgICAuZm9yRWFjaCgoeyBwYXR0ZXJuLCBleHBlY3RlZExlbmd0aCB9KSA9PiB7XG4gICAgICAgICAgICByZXBvcnQobm9kZSwgcGF0dGVybiwgZXhwZWN0ZWRMZW5ndGgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbWV0aG9kIGNhbGxcbiAgICAgIGVsc2UgaWYgKFxuICAgICAgICBjYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICAgICAgY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyBvYmplY3Q6IGNhbGxlZU9iamVjdCwgcHJvcGVydHk6IGNhbGxlZVByb3BlcnR5IH0gPSBjYWxsZWU7XG4gICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIC8vIGNvZGUgbGlrZSBgTWF0aC5tYXgoKWAgb3IgYG5ldyBGb28uQmFyKClgLCB0aGUgY2FsbGVlT2JqZWN0IGlzIGBNYXRoYCBvciBgRm9vYFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBcIm5hbWVcIiBpbiBjYWxsZWVPYmplY3QgJiZcbiAgICAgICAgICAgICAgb3B0aW9uLnJlZ2V4LnRlc3QoXG4gICAgICAgICAgICAgICAgYCR7cHJlZml4fSR7Y2FsbGVlT2JqZWN0Lm5hbWV9LiR7Y2FsbGVlUHJvcGVydHkubmFtZX1gLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb2RlIGxpa2UgYFtdLnJlZHVjZSgpYCBvciBgbmV3ICh7Rm9vOiBjbGFzc3t9fSkuRm9vKClgLCB0aGUgY2FsbGVlT2JqZWN0IGlzIGBbXWAgb3IgYHtGb286IGNsYXNze319YFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAhKFwibmFtZVwiIGluIGNhbGxlZU9iamVjdCkgJiZcbiAgICAgICAgICAgICAgb3B0aW9uLnJlZ2V4LnRlc3QoYCR7cHJlZml4fS4ke2NhbGxlZVByb3BlcnR5Lm5hbWV9YClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5mb3JFYWNoKCh7IHBhdHRlcm4sIGV4cGVjdGVkTGVuZ3RoIH0pID0+IHtcbiAgICAgICAgICAgIHJlcG9ydChub2RlLCBwYXR0ZXJuLCBleHBlY3RlZExlbmd0aCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbjogaGFuZGxlLFxuICAgICAgTmV3RXhwcmVzc2lvbjogaGFuZGxlLFxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgY2FsbEFyZ3VtZW50c0xlbmd0aCA9IHsgbmFtZSwgcnVsZSB9O1xuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbC1hcmd1bWVudHMtbGVuZ3RoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL2NhbGwtYXJndW1lbnRzLWxlbmd0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLDBJQUEwSTtBQUMxSSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULDhEQUE4RDtTQUNqRTtRQUNELFFBQVEsRUFBRTtZQUNSLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUNmLG1GQUFtRjtTQUN0RjtRQUNELE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsNENBQTRDO0tBQzNFO0lBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbEIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUF1QixFQUFFLEVBQUU7WUFDL0MsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdkMsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztZQUM1QixJQUNFLE9BQU8sY0FBYyxLQUFLLFFBQVE7Z0JBQ2xDLGNBQWM7Z0JBQ2QsS0FBSyxJQUFJLGNBQWMsRUFDdkIsQ0FBQztnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLGNBQWMsQ0FB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TUFBTSxDQUFDO2dCQUNsRSxPQUFPO3FCQUNKLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNqQixpRkFBaUY7b0JBQ2pGLElBQ0UsTUFBTSxJQUFJLFlBQVk7d0JBQ3RCLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNmLEdBQUcsTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxDQUN2RCxFQUNELENBQUM7d0JBQ0QsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztvQkFDRCx3R0FBd0c7b0JBQ3hHLElBQ0UsQ0FBQyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUM7d0JBQ3pCLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUNyRCxDQUFDO3dCQUNELE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQ0QsT0FBTyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDO3FCQUNELE9BQU8sQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7b0JBQ3ZDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDSCxDQUFDLENBQUM7UUFFRixPQUFPO1lBQ0wsY0FBYyxFQUFFLE1BQU07WUFDdEIsYUFBYSxFQUFFLE1BQU07U0FDdEIsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IENhbGxFeHByZXNzaW9uLCBOZXdFeHByZXNzaW9uIH0gZnJvbSBcImVzdHJlZVwiO1xuaW1wb3J0IHsgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMudHNcIjtcblxuLy8gVE9ETzogSWYgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9lc2xpbnQtcGx1Z2luLXVuaWNvcm4vaXNzdWVzLzEzNTYgaXMgaW1wbGVtZW50ZWQsIG1pZ3JhdGUgdGhpcyBydWxlIHRvIGBlc2xpbnQtcGx1Z2luLXVuaWNvcm5gXG5jb25zdCBuYW1lID0gZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpc2FsbG93IGNhbGxpbmcgYSBmdW5jdGlvbiB3aXRoIGluY29ycmVjdCBhcmd1bWVudHMgbGVuZ3RoLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOlxuICAgICAgICBcIlRoZSBhcmd1bWVudHMgbGVuZ3RoIG9mIGNhbGxpbmcgYHt7IGZ1bmN0aW9uUGF0dGVybiB9fWAgc2hvdWxkIGJlIHt7IGxlbmd0aE1zZyB9fVwiLFxuICAgIH0sXG4gICAgc2NoZW1hOiBbeyB0eXBlOiBcIm9iamVjdFwiIH1dLCAvLyBUT0RPOiBlbmhhbmNlIHNjaGVtYSBmb3IgY2hlY2tpbmcgb3B0aW9uc1xuICB9LFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiB7XG4gICAgY29uc3QgZ2V0TGVuZ3RoTXNnID0gKGV4cGVjdGVkTGVuZ3RoOiB1bmtub3duKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGV4cGVjdGVkTGVuZ3RoID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcoZXhwZWN0ZWRMZW5ndGgpO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXhwZWN0ZWRMZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBleHBlY3RlZExlbmd0aC5qb2luKFwiIG9yIFwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGV4cGVjdGVkTGVuZ3RoID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgIGV4cGVjdGVkTGVuZ3RoICYmXG4gICAgICAgIFwibWluXCIgaW4gZXhwZWN0ZWRMZW5ndGhcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaChgPj0gJHtTdHJpbmcoZXhwZWN0ZWRMZW5ndGgubWluKX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGV4cGVjdGVkTGVuZ3RoID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgIGV4cGVjdGVkTGVuZ3RoICYmXG4gICAgICAgIFwibWF4XCIgaW4gZXhwZWN0ZWRMZW5ndGhcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaChgPD0gJHtTdHJpbmcoZXhwZWN0ZWRMZW5ndGgubWF4KX1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQuam9pbihcIiBhbmQgXCIpO1xuICAgIH07XG4gICAgY29uc3QgaXNMZW5ndGhWYWxpZCA9IChsZW5ndGg6IG51bWJlciwgZXhwZWN0ZWRMZW5ndGg6IHVua25vd24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZXhwZWN0ZWRMZW5ndGggPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIGxlbmd0aCA9PT0gZXhwZWN0ZWRMZW5ndGg7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3RlZExlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGV4cGVjdGVkTGVuZ3RoLmluY2x1ZGVzKGxlbmd0aCk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQ6IGJvb2xlYW5bXSA9IFtdO1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlb2YgZXhwZWN0ZWRMZW5ndGggPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgZXhwZWN0ZWRMZW5ndGggJiZcbiAgICAgICAgXCJtaW5cIiBpbiBleHBlY3RlZExlbmd0aCAmJlxuICAgICAgICB0eXBlb2YgZXhwZWN0ZWRMZW5ndGgubWluID09PSBcIm51bWJlclwiXG4gICAgICApIHtcbiAgICAgICAgcmVzdWx0LnB1c2gobGVuZ3RoID49IGV4cGVjdGVkTGVuZ3RoLm1pbik7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBleHBlY3RlZExlbmd0aCA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICBleHBlY3RlZExlbmd0aCAmJlxuICAgICAgICBcIm1heFwiIGluIGV4cGVjdGVkTGVuZ3RoICYmXG4gICAgICAgIHR5cGVvZiBleHBlY3RlZExlbmd0aC5tYXggPT09IFwibnVtYmVyXCJcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaChsZW5ndGggPD0gZXhwZWN0ZWRMZW5ndGgubWF4KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQuZXZlcnkoKGl0ZW0pID0+IGl0ZW0pO1xuICAgIH07XG4gICAgY29uc3QgcmVwb3J0ID0gKFxuICAgICAgbm9kZTogQ2FsbEV4cHJlc3Npb24gfCBOZXdFeHByZXNzaW9uLFxuICAgICAgZnVuY3Rpb25QYXR0ZXJuOiBzdHJpbmcsXG4gICAgICBleHBlY3RlZExlbmd0aDogdW5rbm93bixcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IGFyZ3NMZW5ndGggPSBub2RlLmFyZ3VtZW50cy5zb21lKFxuICAgICAgICAoYXJnKSA9PiBhcmcudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIsXG4gICAgICApXG4gICAgICAgID8gSW5maW5pdHlcbiAgICAgICAgOiBub2RlLmFyZ3VtZW50cy5sZW5ndGg7XG4gICAgICBpZiAoIWlzTGVuZ3RoVmFsaWQoYXJnc0xlbmd0aCwgZXhwZWN0ZWRMZW5ndGgpKVxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlSWQ6IGAke25hbWV9L2Vycm9yYCxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBmdW5jdGlvblBhdHRlcm4sXG4gICAgICAgICAgICBsZW5ndGhNc2c6IGdldExlbmd0aE1zZyhleHBlY3RlZExlbmd0aCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuZW50cmllcyhcbiAgICAgIGNvbnRleHQub3B0aW9uc1swXSA/PyB7XG4gICAgICAgIC8vIDFcbiAgICAgICAgXCIqLnJlZHVjZVwiOiAyLFxuICAgICAgICBcIioucmVkdWNlUmlnaHRcIjogMixcbiAgICAgICAgXCIqLnB1c2hcIjogeyBtaW46IDEgfSxcbiAgICAgICAgXCJNYXRoLm1heFwiOiB7IG1pbjogMiB9LFxuICAgICAgICBcIk1hdGgubWluXCI6IHsgbWluOiAyIH0sXG4gICAgICAgIC8vIDJcbiAgICAgICAgXCJuZXcgU2V0XCI6IHsgbWF4OiAxIH0sXG4gICAgICAgIFwibmV3IE1hcFwiOiB7IG1heDogMSB9LFxuICAgICAgfSxcbiAgICApLm1hcCgoW3BhdHRlcm4sIGV4cGVjdGVkTGVuZ3RoXSkgPT4gKHtcbiAgICAgIHJlZ2V4OiBuZXcgUmVnRXhwKFxuICAgICAgICBgXiR7cGF0dGVybi5yZXBsYWNlQWxsKFwiLlwiLCBcIlxcXFwuXCIpLnJlcGxhY2VBbGwoXCIqXCIsIFwiLipcIil9JGAsXG4gICAgICApLFxuICAgICAgcGF0dGVybixcbiAgICAgIGV4cGVjdGVkTGVuZ3RoLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IGhhbmRsZSA9IChub2RlOiBDYWxsRXhwcmVzc2lvbiB8IE5ld0V4cHJlc3Npb24pID0+IHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IG5vZGUudHlwZSA9PT0gXCJOZXdFeHByZXNzaW9uXCIgPyBcIm5ldyBcIiA6IFwiXCI7XG5cbiAgICAgIGNvbnN0IHsgY2FsbGVlIH0gPSBub2RlO1xuICAgICAgLy8gZnVuY3Rpb24gY2FsbFxuICAgICAgaWYgKGNhbGxlZS50eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgICAgICAvLyBjb2RlIGxpa2UgYGZvbygpYCBvciBgbmV3IEZvbygpYFxuICAgICAgICBvcHRpb25zXG4gICAgICAgICAgLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24ucmVnZXgudGVzdChgJHtwcmVmaXh9JHtjYWxsZWUubmFtZX1gKSlcbiAgICAgICAgICAuZm9yRWFjaCgoeyBwYXR0ZXJuLCBleHBlY3RlZExlbmd0aCB9KSA9PiB7XG4gICAgICAgICAgICByZXBvcnQobm9kZSwgcGF0dGVybiwgZXhwZWN0ZWRMZW5ndGgpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgLy8gbWV0aG9kIGNhbGxcbiAgICAgIGVsc2UgaWYgKFxuICAgICAgICBjYWxsZWUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgJiZcbiAgICAgICAgY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyBvYmplY3Q6IGNhbGxlZU9iamVjdCwgcHJvcGVydHk6IGNhbGxlZVByb3BlcnR5IH0gPSBjYWxsZWU7XG4gICAgICAgIG9wdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIC8vIGNvZGUgbGlrZSBgTWF0aC5tYXgoKWAgb3IgYG5ldyBGb28uQmFyKClgLCB0aGUgY2FsbGVlT2JqZWN0IGlzIGBNYXRoYCBvciBgRm9vYFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBcIm5hbWVcIiBpbiBjYWxsZWVPYmplY3QgJiZcbiAgICAgICAgICAgICAgb3B0aW9uLnJlZ2V4LnRlc3QoXG4gICAgICAgICAgICAgICAgYCR7cHJlZml4fSR7Y2FsbGVlT2JqZWN0Lm5hbWV9LiR7Y2FsbGVlUHJvcGVydHkubmFtZX1gLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb2RlIGxpa2UgYFtdLnJlZHVjZSgpYCBvciBgbmV3ICh7Rm9vOiBjbGFzc3t9fSkuRm9vKClgLCB0aGUgY2FsbGVlT2JqZWN0IGlzIGBbXWAgb3IgYHtGb286IGNsYXNze319YFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAhKFwibmFtZVwiIGluIGNhbGxlZU9iamVjdCkgJiZcbiAgICAgICAgICAgICAgb3B0aW9uLnJlZ2V4LnRlc3QoYCR7cHJlZml4fS4ke2NhbGxlZVByb3BlcnR5Lm5hbWV9YClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5mb3JFYWNoKCh7IHBhdHRlcm4sIGV4cGVjdGVkTGVuZ3RoIH0pID0+IHtcbiAgICAgICAgICAgIHJlcG9ydChub2RlLCBwYXR0ZXJuLCBleHBlY3RlZExlbmd0aCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbjogaGFuZGxlLFxuICAgICAgTmV3RXhwcmVzc2lvbjogaGFuZGxlLFxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgY2FsbEFyZ3VtZW50c0xlbmd0aCA9IHsgbmFtZSwgcnVsZSB9O1xuIl19
|
|
@@ -38,4 +38,4 @@ const rule = {
|
|
|
38
38
|
},
|
|
39
39
|
};
|
|
40
40
|
export const noInstanceofBuiltin = { name, rule };
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8taW5zdGFuY2VvZi1idWlsdGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLWluc3RhbmNlb2YtYnVpbHRpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLHVJQUF1STtBQUN2SSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUFFLHNEQUFzRDtTQUNwRTtRQUNELFFBQVEsRUFBRTtZQUNSLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUFFLHNEQUFzRDtTQUMxRTtLQUNGO0lBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDbEIsSUFBSSxRQUFRLEdBQTRCLFNBQVMsQ0FBQztRQUNsRCxPQUFPO1lBQ0wseUVBQXlFO1lBQ3pFLDZEQUE2RDtZQUM3RCwyREFBMkQ7WUFDM0QsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2hCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7b0JBQ2pCLGtDQUFrQztvQkFDbEMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDckMsZ0NBQWdDO29CQUNoQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztpQkFDbkQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELGdCQUFnQixFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3pCLElBQ0UsSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZO29CQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLEVBQ2hDLENBQUM7b0JBQ0QsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUMzQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHsgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMudHNcIjtcblxuLy8gVE9ETzogSWYgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9lc2xpbnQtcGx1Z2luLXVuaWNvcm4vaXNzdWVzLzI0NTIgaXMgYWNjZXB0ZWQsIG1pZ3JhdGUgdGhpcyBydWxlIHRvIGBlc2xpbnQtcGx1Z2luLXVuaWNvcm5gXG5jb25zdCBuYW1lID0gZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJpZ2h0IGhhbmQgb2YgYGluc3RhbmNlb2ZgIGNhbid0IGJlIGEgYnVpbHRpbiBjbGFzcy5cIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbYCR7bmFtZX0vZXJyb3JgXTogXCJSaWdodCBoYW5kIG9mIGBpbnN0YW5jZW9mYCBjYW4ndCBiZSBhIGJ1aWx0aW4gY2xhc3MuXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGxldCBidWlsdGluczogU2V0PHN0cmluZz4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIEVTTGludCB2aXNpdCB0aGUgTm9kZSBmcm9tIHJvb3QgdG8gbGVhZi4gVGhlIFByb2dyYW0gTm9kZSBpcyB0aGUgcm9vdC5cbiAgICAgIC8vIFRoZXJlZm9yZSwgUHJvZ3JhbSB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgQmluYXJ5RXhwcmVzc2lvbi5cbiAgICAgIC8vIGh0dHBzOi8vZXNsaW50Lm9yZy9kb2NzL2xhdGVzdC9leHRlbmQvY29kZS1wYXRoLWFuYWx5c2lzXG4gICAgICBQcm9ncmFtOiAobm9kZSkgPT4ge1xuICAgICAgICBjb25zdCBzY29wZSA9IGNvbnRleHQuc291cmNlQ29kZS5nZXRTY29wZShub2RlKTtcbiAgICAgICAgYnVpbHRpbnMgPSBuZXcgU2V0KFtcbiAgICAgICAgICAvLyBWYXJpYWJsZXMgZGVjbGFyZWQgaW4gYGdsb2JhbHNgXG4gICAgICAgICAgLi4uc2NvcGUudmFyaWFibGVzLm1hcCgodikgPT4gdi5uYW1lKSxcbiAgICAgICAgICAvLyBWYXJpYWJsZXMgbm90IGRlY2xhcmVkIGF0IGFsbFxuICAgICAgICAgIC4uLnNjb3BlLnRocm91Z2gubWFwKChyZWYpID0+IHJlZi5pZGVudGlmaWVyLm5hbWUpLFxuICAgICAgICBdKTtcbiAgICAgIH0sXG4gICAgICBCaW5hcnlFeHByZXNzaW9uOiAobm9kZSkgPT4ge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgbm9kZS5vcGVyYXRvciAhPT0gXCJpbnN0YW5jZW9mXCIgfHxcbiAgICAgICAgICBub2RlLnJpZ2h0LnR5cGUgIT09IFwiSWRlbnRpZmllclwiXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChidWlsdGlucz8uaGFzKG5vZGUucmlnaHQubmFtZSkgPz8gdHJ1ZSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZTogbm9kZS5yaWdodCwgbWVzc2FnZUlkOiBgJHtuYW1lfS9lcnJvcmAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBub0luc3RhbmNlb2ZCdWlsdGluID0geyBuYW1lLCBydWxlIH07XG4iXX0=
|
|
@@ -20,4 +20,4 @@ const rule = {
|
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
22
|
export const noNestedClass = { name, rule };
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tbmVzdGVkLWNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLW5lc3RlZC1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsb0VBQW9FO1NBQ3ZFO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQ2Ysb0VBQW9FO1NBQ3ZFO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQzVCLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU87WUFDTCxzSUFBc0k7WUFDdEksMEhBQTBILEVBQ3hILE1BQU07WUFDUiwrR0FBK0c7WUFDL0csaUdBQWlHLEVBQy9GLE1BQU07U0FDVCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tIFwiZXN0cmVlXCI7XG5pbXBvcnQgeyBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi91dGlscy50c1wiO1xuXG5jb25zdCBuYW1lID0gZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpc2FsbG93IG5lc3RlZCBjbGFzcy4gQ2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gcGxhY2UgYXQgdG9wIGxldmVsLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOlxuICAgICAgICBcIkRpc2FsbG93IG5lc3RlZCBjbGFzcy4gQ2xhc3NlcyBhcmUgZXhwZWN0ZWQgdG8gcGxhY2UgYXQgdG9wIGxldmVsLlwiLFxuICAgIH0sXG4gIH0sXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+IHtcbiAgICBjb25zdCBoYW5kbGUgPSAobm9kZTogTm9kZSkgPT5cbiAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZUlkOiBgJHtuYW1lfS9lcnJvcmAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIENsYXNzRGVjbGFyYXRpb24gaXMgb25seSBhbGxvd2VkIHdoZW4gcGFyZW50IGlzIFByb2dyYW0sIG9yIHBhcmVudCBpcyBFeHBvcnROYW1lZERlY2xhcmF0aW9uLCBvciBwYXJlbnQgaXMgRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXG4gICAgICBcIkNsYXNzRGVjbGFyYXRpb25bcGFyZW50LnR5cGUhPSdQcm9ncmFtJ11bcGFyZW50LnR5cGUhPSdFeHBvcnROYW1lZERlY2xhcmF0aW9uJ11bcGFyZW50LnR5cGUhPSdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nXVwiOlxuICAgICAgICBoYW5kbGUsXG4gICAgICAvLyBDbGFzc0V4cHJlc3Npb24gaXMgb25seSBhbGxvd2VkIHdoZW4gcGFyZW50IGlzIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24sIG9yIHBhcmVudCBpcyBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cbiAgICAgIFwiQ2xhc3NFeHByZXNzaW9uW3BhcmVudC50eXBlIT0nRXhwb3J0TmFtZWREZWNsYXJhdGlvbiddW3BhcmVudC50eXBlIT0nRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uJ11cIjpcbiAgICAgICAgaGFuZGxlLFxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgbm9OZXN0ZWRDbGFzcyA9IHsgbmFtZSwgcnVsZSB9O1xuIl19
|
|
@@ -10,18 +10,16 @@ const rule = {
|
|
|
10
10
|
},
|
|
11
11
|
},
|
|
12
12
|
create: (context) => {
|
|
13
|
-
const
|
|
13
|
+
const handle = (node) => context.report({ node, messageId: `${name}/error` });
|
|
14
|
+
return {
|
|
14
15
|
// FunctionDeclaration is only allowed when parent is Program, or parent is ExportNamedDeclaration, or parent is ExportDefaultDeclaration
|
|
15
|
-
|
|
16
|
+
// function foo(){}
|
|
17
|
+
"FunctionDeclaration[parent.type!='Program'][parent.type!='ExportNamedDeclaration'][parent.type!='ExportDefaultDeclaration']": handle,
|
|
16
18
|
// FunctionExpression is only allowed when parent is MethodDefinition
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return {
|
|
20
|
-
[`:matches(${selectors.join(", ")})`]: (node) => {
|
|
21
|
-
context.report({ node, messageId: `${name}/error` });
|
|
22
|
-
},
|
|
19
|
+
// function (){}
|
|
20
|
+
"FunctionExpression[parent.type!='MethodDefinition']": handle,
|
|
23
21
|
};
|
|
24
22
|
},
|
|
25
23
|
};
|
|
26
24
|
export const noNestedFunction = { name, rule };
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tbmVzdGVkLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLW5lc3RlZC1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1QsOEZBQThGO1NBQ2pHO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQ2YsOEZBQThGO1NBQ2pHO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQzVCLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU87WUFDTCx5SUFBeUk7WUFDekksbUJBQW1CO1lBQ25CLDZIQUE2SCxFQUMzSCxNQUFNO1lBQ1IscUVBQXFFO1lBQ3JFLGdCQUFnQjtZQUNoQixxREFBcUQsRUFBRSxNQUFNO1NBQzlELENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlIH0gZnJvbSBcImVzdHJlZVwiO1xuaW1wb3J0IHsgZ2V0UnVsZU5hbWUgfSBmcm9tIFwiLi4vdXRpbHMudHNcIjtcblxuY29uc3QgbmFtZSA9IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCk7XG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJOb24gdG9wLWxldmVsIGZ1bmN0aW9ucyBhcmUgZXhwZWN0ZWQgdG8gYmUgYXJyb3cgZnVuY3Rpb25zIGluc3RlYWQgb2YgZnVuY3Rpb24gZGVjbGFyYXRpb25zLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOlxuICAgICAgICBcIk5vbiB0b3AtbGV2ZWwgZnVuY3Rpb25zIGFyZSBleHBlY3RlZCB0byBiZSBhcnJvdyBmdW5jdGlvbnMgaW5zdGVhZCBvZiBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZSA9IChub2RlOiBOb2RlKSA9PlxuICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IGAke25hbWV9L2Vycm9yYCB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gRnVuY3Rpb25EZWNsYXJhdGlvbiBpcyBvbmx5IGFsbG93ZWQgd2hlbiBwYXJlbnQgaXMgUHJvZ3JhbSwgb3IgcGFyZW50IGlzIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24sIG9yIHBhcmVudCBpcyBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cbiAgICAgIC8vIGZ1bmN0aW9uIGZvbygpe31cbiAgICAgIFwiRnVuY3Rpb25EZWNsYXJhdGlvbltwYXJlbnQudHlwZSE9J1Byb2dyYW0nXVtwYXJlbnQudHlwZSE9J0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nXVtwYXJlbnQudHlwZSE9J0V4cG9ydERlZmF1bHREZWNsYXJhdGlvbiddXCI6XG4gICAgICAgIGhhbmRsZSxcbiAgICAgIC8vIEZ1bmN0aW9uRXhwcmVzc2lvbiBpcyBvbmx5IGFsbG93ZWQgd2hlbiBwYXJlbnQgaXMgTWV0aG9kRGVmaW5pdGlvblxuICAgICAgLy8gZnVuY3Rpb24gKCl7fVxuICAgICAgXCJGdW5jdGlvbkV4cHJlc3Npb25bcGFyZW50LnR5cGUhPSdNZXRob2REZWZpbml0aW9uJ11cIjogaGFuZGxlLFxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgbm9OZXN0ZWRGdW5jdGlvbiA9IHsgbmFtZSwgcnVsZSB9O1xuIl19
|
|
@@ -21,4 +21,4 @@ const rule = {
|
|
|
21
21
|
}),
|
|
22
22
|
};
|
|
23
23
|
export const noRestrictedLoops = { name, rule };
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcmVzdHJpY3RlZC1sb29wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1yZXN0cmljdGVkLWxvb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsdUlBQXVJO0FBQ3ZJLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDOzs7R0FHRztBQUNILE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1QsNkdBQTZHO1NBQ2hIO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQ2YsNkdBQTZHO1NBQ2hIO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDcEIsc0ZBQXNGLEVBQ3BGLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDYixPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0tBQ0osQ0FBQztDQUNILENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlIHsgTm9kZSB9IGZyb20gXCJlc3RyZWVcIjtcbmltcG9ydCB7IGdldFJ1bGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxzLnRzXCI7XG5cbi8vIFRPRE86IElmIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvZXNsaW50LXBsdWdpbi11bmljb3JuL2lzc3Vlcy8yNDUzIGlzIGFjY2VwdGVkLCBtaWdyYXRlIHRoaXMgcnVsZSB0byBgZXNsaW50LXBsdWdpbi11bmljb3JuYFxuY29uc3QgbmFtZSA9IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCk7XG4vKipcbiAqIE9ubHkgYWxsb3cgYHdoaWxlYCBhbmQgYGZvci1vZmAgbG9vcHMuIGBmb3JgLCBgZm9yLWluYCwgYGRvLXdoaWxlYCBhbmQgYGZvci1hd2FpdC1vZmAgbG9vcHMgYXJlIGRpc2FsbG93ZWQuXG4gKiBWaXNpdCBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2VzbGludC1wbHVnaW4tdW5pY29ybi9pc3N1ZXMvMjQ1MyBmb3IgbW9yZSBkZXRhaWxzLlxuICovXG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJPbmx5IGFsbG93IGB3aGlsZWAgYW5kIGBmb3Itb2ZgIGxvb3BzLiBgZm9yYCwgYGZvci1pbmAsIGBkby13aGlsZWAgYW5kIGBmb3ItYXdhaXQtb2ZgIGxvb3BzIGFyZSBkaXNhbGxvd2VkLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOlxuICAgICAgICBcIk9ubHkgYWxsb3cgYHdoaWxlYCBhbmQgYGZvci1vZmAgbG9vcHMuIGBmb3JgLCBgZm9yLWluYCwgYGRvLXdoaWxlYCBhbmQgYGZvci1hd2FpdC1vZmAgbG9vcHMgYXJlIGRpc2FsbG93ZWQuXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4gKHtcbiAgICBcIjptYXRjaGVzKEZvclN0YXRlbWVudCwgRm9ySW5TdGF0ZW1lbnQsIERvV2hpbGVTdGF0ZW1lbnQsIEZvck9mU3RhdGVtZW50W2F3YWl0PXRydWVdKVwiOlxuICAgICAgKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IGAke25hbWV9L2Vycm9yYCB9KTtcbiAgICAgIH0sXG4gIH0pLFxufTtcblxuZXhwb3J0IGNvbnN0IG5vUmVzdHJpY3RlZExvb3BzID0geyBuYW1lLCBydWxlIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-top-level-arrow-function.d.ts","sourceRoot":"","sources":["../../src/rules/no-top-level-arrow-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"no-top-level-arrow-function.d.ts","sourceRoot":"","sources":["../../src/rules/no-top-level-arrow-function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkCnC,eAAO,MAAM,uBAAuB;;;CAAiB,CAAC"}
|
|
@@ -11,9 +11,9 @@ const rule = {
|
|
|
11
11
|
},
|
|
12
12
|
create: (context) => {
|
|
13
13
|
const handle = (node) => {
|
|
14
|
-
if (node.
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
if (node.body.type === "BlockStatement") {
|
|
15
|
+
context.report({ node, messageId: `${name}/error` });
|
|
16
|
+
}
|
|
17
17
|
};
|
|
18
18
|
return {
|
|
19
19
|
"VariableDeclaration[parent.type='Program'] > VariableDeclarator > ArrowFunctionExpression": handle,
|
|
@@ -24,4 +24,4 @@ const rule = {
|
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
export const noTopLevelArrowFunction = { name, rule };
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdG9wLWxldmVsLWFycm93LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLXRvcC1sZXZlbC1hcnJvdy1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLE1BQU0sSUFBSSxHQUFvQjtJQUM1QixJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1QsMEZBQTBGO1NBQzdGO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLEVBQ2YsMEZBQTBGO1NBQzdGO0tBQ0Y7SUFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQTZCLEVBQUUsRUFBRTtZQUMvQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixPQUFPO1lBQ0wsMkZBQTJGLEVBQ3pGLE1BQU07WUFDUiw2RkFBNkYsRUFDM0YsTUFBTTtZQUNSLDZGQUE2RixFQUMzRixNQUFNO1lBQ1Isb0RBQW9ELEVBQUUsTUFBTTtTQUM3RCxDQUFDO0lBQ0osQ0FBQztDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gfSBmcm9tIFwiZXN0cmVlXCI7XG5pbXBvcnQgeyBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi91dGlscy50c1wiO1xuXG5jb25zdCBuYW1lID0gZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlRvcC1sZXZlbCBmdW5jdGlvbnMgYXJlIGV4cGVjdGVkIHRvIGJlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBpbnN0ZWFkIG9mIGFycm93IGZ1bmN0aW9ucy5cIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbYCR7bmFtZX0vZXJyb3JgXTpcbiAgICAgICAgXCJUb3AtbGV2ZWwgZnVuY3Rpb25zIGFyZSBleHBlY3RlZCB0byBiZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW5zdGVhZCBvZiBhcnJvdyBmdW5jdGlvbnMuXCIsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZSA9IChub2RlOiBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbikgPT4ge1xuICAgICAgaWYgKG5vZGUuYm9keS50eXBlID09PSBcIkJsb2NrU3RhdGVtZW50XCIpIHtcbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IGAke25hbWV9L2Vycm9yYCB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICBcIlZhcmlhYmxlRGVjbGFyYXRpb25bcGFyZW50LnR5cGU9J1Byb2dyYW0nXSA+IFZhcmlhYmxlRGVjbGFyYXRvciA+IEFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI6XG4gICAgICAgIGhhbmRsZSxcbiAgICAgIFwiRXhwcmVzc2lvblN0YXRlbWVudFtwYXJlbnQudHlwZT0nUHJvZ3JhbSddID4gQXNzaWdubWVudEV4cHJlc3Npb24gPiBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiOlxuICAgICAgICBoYW5kbGUsXG4gICAgICBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gPiBWYXJpYWJsZURlY2xhcmF0aW9uID4gVmFyaWFibGVEZWNsYXJhdG9yID4gQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIjpcbiAgICAgICAgaGFuZGxlLFxuICAgICAgXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24gPiBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiOiBoYW5kbGUsXG4gICAgfTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBub1RvcExldmVsQXJyb3dGdW5jdGlvbiA9IHsgbmFtZSwgcnVsZSB9O1xuIl19
|
|
@@ -21,4 +21,4 @@ const rule = {
|
|
|
21
21
|
}),
|
|
22
22
|
};
|
|
23
23
|
export const noUnnecessaryTemplateString = { name, rule };
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdW5uZWNlc3NhcnktdGVtcGxhdGUtc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bGVzL25vLXVubmVjZXNzYXJ5LXRlbXBsYXRlLXN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLDhHQUE4RztBQUM5RyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQyxNQUFNLElBQUksR0FBb0I7SUFDNUIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULHFHQUFxRztTQUN4RztRQUNELFFBQVEsRUFBRTtZQUNSLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxFQUNmLHFHQUFxRztTQUN4RztLQUNGO0lBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLGVBQWUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hCLElBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksRUFDM0MsQ0FBQztnQkFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7Q0FDSCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgeyBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi91dGlscy50c1wiO1xuXG4vLyBUT0RPIGRlcHJlY2F0ZSB0aGlzIHJ1bGUgaWYgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9lc2xpbnQtcGx1Z2luLXVuaWNvcm4vaXNzdWVzLzcxIGlzIGltcGxlbWVudGVkLlxuY29uc3QgbmFtZSA9IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCk7XG5jb25zdCBydWxlOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJEaXNhbGxvdyB1c2luZyB0ZW1wbGF0ZSBzdHJpbmcgd2hlbiBpdCdzIHVubmVjZXNzYXJ5LiBVc2Ugbm9ybWFsIGxpdGVyYWwgc3RyaW5nIGV4cHJlc3Npb24gaW5zdGVhZC5cIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbYCR7bmFtZX0vZXJyb3JgXTpcbiAgICAgICAgXCJEaXNhbGxvdyB1c2luZyB0ZW1wbGF0ZSBzdHJpbmcgd2hlbiBpdCdzIHVubmVjZXNzYXJ5LiBVc2Ugbm9ybWFsIGxpdGVyYWwgc3RyaW5nIGV4cHJlc3Npb24gaW5zdGVhZC5cIixcbiAgICB9LFxuICB9LFxuICBjcmVhdGU6IChjb250ZXh0KSA9PiAoe1xuICAgIFRlbXBsYXRlTGl0ZXJhbDogKG5vZGUpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgbm9kZS5xdWFzaXMubGVuZ3RoID09PSAxICYmXG4gICAgICAgIG5vZGUuZXhwcmVzc2lvbnMubGVuZ3RoID09PSAwICYmXG4gICAgICAgIG5vZGUubG9jPy5zdGFydC5saW5lID09PSBub2RlLmxvYz8uZW5kLmxpbmVcbiAgICAgICkge1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7IG5vZGUsIG1lc3NhZ2VJZDogYCR7bmFtZX0vZXJyb3JgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gIH0pLFxufTtcbmV4cG9ydCBjb25zdCBub1VubmVjZXNzYXJ5VGVtcGxhdGVTdHJpbmcgPSB7IG5hbWUsIHJ1bGUgfTtcbiJdfQ==
|
|
@@ -8,6 +8,8 @@ Non top-level functions are expected to be arrow functions instead of function d
|
|
|
8
8
|
### Fail
|
|
9
9
|
|
|
10
10
|
```ts
|
|
11
|
+
Foo.prototype.bar = function(){}
|
|
12
|
+
Foo.prototype.bar = function bar(){}
|
|
11
13
|
const foo = function(){}
|
|
12
14
|
const foo = function foo(){}
|
|
13
15
|
let foo; foo = function(){}
|
|
@@ -8,6 +8,8 @@ Top-level functions are expected to be function declarations instead of arrow fu
|
|
|
8
8
|
### Fail
|
|
9
9
|
|
|
10
10
|
```ts
|
|
11
|
+
let foo = () => {}
|
|
12
|
+
const foo = () => {}
|
|
11
13
|
let foo = () => {
|
|
12
14
|
}
|
|
13
15
|
const foo = () => {
|
|
@@ -31,11 +33,13 @@ const foo = function foo(){}
|
|
|
31
33
|
if(true) const foo = () => {
|
|
32
34
|
}
|
|
33
35
|
let foo = () => ''
|
|
34
|
-
let foo = () =>
|
|
35
|
-
|
|
36
|
-
let foo
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export
|
|
36
|
+
let foo = () => [
|
|
37
|
+
]
|
|
38
|
+
let foo = () => ({})
|
|
39
|
+
const foo = () => ({})
|
|
40
|
+
let foo; foo = () => ({})
|
|
41
|
+
export const foo = () => ({})
|
|
42
|
+
export let foo = () => ({})
|
|
43
|
+
export default () => ({})
|
|
40
44
|
```
|
|
41
45
|
<!-- prettier-ignore-end -->
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fenge/eslint-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "ESLint plugin for JavaScript.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"opinionated",
|
|
@@ -21,14 +21,13 @@
|
|
|
21
21
|
"type": "module",
|
|
22
22
|
"exports": "./dist/index.js",
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@types/eslint": "8.56.11",
|
|
25
24
|
"@types/estree": "1.0.6",
|
|
26
|
-
"@types/node": "22.10
|
|
27
|
-
"
|
|
25
|
+
"@types/node": "22.13.10",
|
|
26
|
+
"eslint": "9.22.0",
|
|
28
27
|
"@fenge/dev-utils": "0.0.0"
|
|
29
28
|
},
|
|
30
29
|
"scripts": {
|
|
31
30
|
"build": "tsc",
|
|
32
|
-
"test": "node --test --
|
|
31
|
+
"test": "node --test --experimental-strip-types \"**/*.spec.ts\""
|
|
33
32
|
}
|
|
34
33
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { callArgumentsLength } from "./rules/call-arguments-length.
|
|
2
|
-
import { noInstanceofBuiltin } from "./rules/no-instanceof-builtin.
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { noUnnecessaryTemplateString } from "./rules/no-unnecessary-template-string.js";
|
|
1
|
+
import { callArgumentsLength } from "./rules/call-arguments-length.ts";
|
|
2
|
+
import { noInstanceofBuiltin } from "./rules/no-instanceof-builtin.ts";
|
|
3
|
+
import { noNestedClass } from "./rules/no-nested-class.ts";
|
|
4
|
+
import { noNestedFunction } from "./rules/no-nested-function.ts";
|
|
5
|
+
import { noRestrictedLoops } from "./rules/no-restricted-loops.ts";
|
|
6
|
+
import { noTopLevelArrowFunction } from "./rules/no-top-level-arrow-function.ts";
|
|
7
|
+
import { noUnnecessaryTemplateString } from "./rules/no-unnecessary-template-string.ts";
|
|
9
8
|
|
|
10
9
|
export const rules = {
|
|
11
10
|
[callArgumentsLength.name]: callArgumentsLength.rule,
|
|
12
11
|
[noInstanceofBuiltin.name]: noInstanceofBuiltin.rule,
|
|
13
|
-
[noJsxInNonJsxFile.name]: noJsxInNonJsxFile.rule,
|
|
14
12
|
[noNestedClass.name]: noNestedClass.rule,
|
|
15
13
|
[noNestedFunction.name]: noNestedFunction.rule,
|
|
16
14
|
[noRestrictedLoops.name]: noRestrictedLoops.rule,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Rule } from "eslint";
|
|
2
2
|
import type { CallExpression, NewExpression } from "estree";
|
|
3
|
-
import { getRuleName } from "../utils.
|
|
3
|
+
import { getRuleName } from "../utils.ts";
|
|
4
4
|
|
|
5
5
|
// TODO: If https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1356 is implemented, migrate this rule to `eslint-plugin-unicorn`
|
|
6
6
|
const name = getRuleName(import.meta.url);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Rule } from "eslint";
|
|
2
|
-
import { getRuleName } from "../utils.
|
|
2
|
+
import { getRuleName } from "../utils.ts";
|
|
3
3
|
|
|
4
4
|
// TODO: If https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2452 is accepted, migrate this rule to `eslint-plugin-unicorn`
|
|
5
5
|
const name = getRuleName(import.meta.url);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { test } from "@fenge/dev-utils";
|
|
2
|
-
import { noNestedFunction } from "./no-nested-function.
|
|
2
|
+
import { noNestedFunction } from "./no-nested-function.ts";
|
|
3
3
|
|
|
4
4
|
const valid = [
|
|
5
5
|
// normal
|
|
@@ -17,6 +17,8 @@ const valid = [
|
|
|
17
17
|
|
|
18
18
|
const invalid = [
|
|
19
19
|
// normal
|
|
20
|
+
"Foo.prototype.bar = function(){}",
|
|
21
|
+
"Foo.prototype.bar = function bar(){}",
|
|
20
22
|
"const foo = function(){}",
|
|
21
23
|
"const foo = function foo(){}",
|
|
22
24
|
"let foo; foo = function(){}",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Rule } from "eslint";
|
|
2
2
|
import type { Node } from "estree";
|
|
3
|
-
import { getRuleName } from "../utils.
|
|
3
|
+
import { getRuleName } from "../utils.ts";
|
|
4
4
|
|
|
5
5
|
const name = getRuleName(import.meta.url);
|
|
6
6
|
const rule: Rule.RuleModule = {
|
|
@@ -15,16 +15,16 @@ const rule: Rule.RuleModule = {
|
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
17
|
create: (context) => {
|
|
18
|
-
const
|
|
18
|
+
const handle = (node: Node) =>
|
|
19
|
+
context.report({ node, messageId: `${name}/error` });
|
|
20
|
+
return {
|
|
19
21
|
// FunctionDeclaration is only allowed when parent is Program, or parent is ExportNamedDeclaration, or parent is ExportDefaultDeclaration
|
|
20
|
-
|
|
22
|
+
// function foo(){}
|
|
23
|
+
"FunctionDeclaration[parent.type!='Program'][parent.type!='ExportNamedDeclaration'][parent.type!='ExportDefaultDeclaration']":
|
|
24
|
+
handle,
|
|
21
25
|
// FunctionExpression is only allowed when parent is MethodDefinition
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return {
|
|
25
|
-
[`:matches(${selectors.join(", ")})`]: (node: Node) => {
|
|
26
|
-
context.report({ node, messageId: `${name}/error` });
|
|
27
|
-
},
|
|
26
|
+
// function (){}
|
|
27
|
+
"FunctionExpression[parent.type!='MethodDefinition']": handle,
|
|
28
28
|
};
|
|
29
29
|
},
|
|
30
30
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Rule } from "eslint";
|
|
2
2
|
import type { Node } from "estree";
|
|
3
|
-
import { getRuleName } from "../utils.
|
|
3
|
+
import { getRuleName } from "../utils.ts";
|
|
4
4
|
|
|
5
5
|
// TODO: If https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2453 is accepted, migrate this rule to `eslint-plugin-unicorn`
|
|
6
6
|
const name = getRuleName(import.meta.url);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { test } from "@fenge/dev-utils";
|
|
2
|
-
import { noTopLevelArrowFunction } from "./no-top-level-arrow-function.
|
|
2
|
+
import { noTopLevelArrowFunction } from "./no-top-level-arrow-function.ts";
|
|
3
3
|
|
|
4
4
|
const valid = [
|
|
5
5
|
"function foo(){}",
|
|
@@ -9,15 +9,18 @@ const valid = [
|
|
|
9
9
|
|
|
10
10
|
// allow one-line function
|
|
11
11
|
"let foo = () => ''",
|
|
12
|
-
"let foo = () =>
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"export
|
|
17
|
-
"export
|
|
12
|
+
"let foo = () => [\n]",
|
|
13
|
+
"let foo = () => ({})",
|
|
14
|
+
"const foo = () => ({})",
|
|
15
|
+
"let foo; foo = () => ({})",
|
|
16
|
+
"export const foo = () => ({})",
|
|
17
|
+
"export let foo = () => ({})",
|
|
18
|
+
"export default () => ({})",
|
|
18
19
|
];
|
|
19
20
|
|
|
20
21
|
const invalid = [
|
|
22
|
+
"let foo = () => {}",
|
|
23
|
+
"const foo = () => {}",
|
|
21
24
|
"let foo = () => {\n}",
|
|
22
25
|
"const foo = () => {\n}",
|
|
23
26
|
"let foo; foo = () => {\n}",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Rule } from "eslint";
|
|
2
|
-
import type {
|
|
3
|
-
import { getRuleName } from "../utils.
|
|
2
|
+
import type { ArrowFunctionExpression } from "estree";
|
|
3
|
+
import { getRuleName } from "../utils.ts";
|
|
4
4
|
|
|
5
5
|
const name = getRuleName(import.meta.url);
|
|
6
6
|
const rule: Rule.RuleModule = {
|
|
@@ -15,9 +15,10 @@ const rule: Rule.RuleModule = {
|
|
|
15
15
|
},
|
|
16
16
|
},
|
|
17
17
|
create: (context) => {
|
|
18
|
-
const handle = (node:
|
|
19
|
-
if (node.
|
|
20
|
-
|
|
18
|
+
const handle = (node: ArrowFunctionExpression) => {
|
|
19
|
+
if (node.body.type === "BlockStatement") {
|
|
20
|
+
context.report({ node, messageId: `${name}/error` });
|
|
21
|
+
}
|
|
21
22
|
};
|
|
22
23
|
return {
|
|
23
24
|
"VariableDeclaration[parent.type='Program'] > VariableDeclarator > ArrowFunctionExpression":
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Rule } from "eslint";
|
|
2
|
-
import { getRuleName } from "../utils.
|
|
2
|
+
import { getRuleName } from "../utils.ts";
|
|
3
3
|
|
|
4
4
|
// TODO deprecate this rule if https://github.com/sindresorhus/eslint-plugin-unicorn/issues/71 is implemented.
|
|
5
5
|
const name = getRuleName(import.meta.url);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"no-jsx-in-non-jsx-file.d.ts","sourceRoot":"","sources":["../../src/rules/no-jsx-in-non-jsx-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAyBnC,eAAO,MAAM,iBAAiB;;;CAAiB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { getRuleName } from "../utils.js";
|
|
2
|
-
const name = getRuleName(import.meta.url);
|
|
3
|
-
const rule = {
|
|
4
|
-
meta: {
|
|
5
|
-
docs: {
|
|
6
|
-
description: "Only allow JSX syntax in `.jsx` and `.tsx` file.",
|
|
7
|
-
},
|
|
8
|
-
messages: {
|
|
9
|
-
[`${name}/error`]: "Only allow JSX syntax in `.jsx` and `.tsx` file.",
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
create: (context) => {
|
|
13
|
-
// ignore jsx files
|
|
14
|
-
if (/\.[tj]sx$/.test(context.filename))
|
|
15
|
-
return {};
|
|
16
|
-
return {
|
|
17
|
-
":matches(JSXElement, JSXFragment)": (node) => {
|
|
18
|
-
context.report({ node, messageId: `${name}/error` });
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
export const noJsxInNonJsxFile = { name, rule };
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tanN4LWluLW5vbi1qc3gtZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1qc3gtaW4tbm9uLWpzeC1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUMsTUFBTSxJQUFJLEdBQW9CO0lBQzVCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFdBQVcsRUFBRSxrREFBa0Q7U0FDaEU7UUFDRCxRQUFRLEVBQUU7WUFDUixDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsRUFBRSxrREFBa0Q7U0FDdEU7S0FDRjtJQUNELE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ2xCLG1CQUFtQjtRQUNuQixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2xELE9BQU87WUFDTCxtQ0FBbUMsRUFBRSxDQUFDLElBQVUsRUFBRSxFQUFFO2dCQUNsRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5pbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tIFwiZXN0cmVlXCI7XG5pbXBvcnQgeyBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi91dGlscy5qc1wiO1xuXG5jb25zdCBuYW1lID0gZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk9ubHkgYWxsb3cgSlNYIHN5bnRheCBpbiBgLmpzeGAgYW5kIGAudHN4YCBmaWxlLlwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtgJHtuYW1lfS9lcnJvcmBdOiBcIk9ubHkgYWxsb3cgSlNYIHN5bnRheCBpbiBgLmpzeGAgYW5kIGAudHN4YCBmaWxlLlwiLFxuICAgIH0sXG4gIH0sXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+IHtcbiAgICAvLyBpZ25vcmUganN4IGZpbGVzXG4gICAgaWYgKC9cXC5bdGpdc3gkLy50ZXN0KGNvbnRleHQuZmlsZW5hbWUpKSByZXR1cm4ge307XG4gICAgcmV0dXJuIHtcbiAgICAgIFwiOm1hdGNoZXMoSlNYRWxlbWVudCwgSlNYRnJhZ21lbnQpXCI6IChub2RlOiBOb2RlKSA9PiB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHsgbm9kZSwgbWVzc2FnZUlkOiBgJHtuYW1lfS9lcnJvcmAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3Qgbm9Kc3hJbk5vbkpzeEZpbGUgPSB7IG5hbWUsIHJ1bGUgfTtcbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
<!-- prettier-ignore-start -->
|
|
2
|
-
# no-jsx-in-non-jsx-file
|
|
3
|
-
|
|
4
|
-
Only allow JSX syntax in `.jsx` and `.tsx` file.
|
|
5
|
-
|
|
6
|
-
## Rule Details
|
|
7
|
-
|
|
8
|
-
### Fail
|
|
9
|
-
|
|
10
|
-
```ts
|
|
11
|
-
const Foo = () => <div></div> // filename: foo.js
|
|
12
|
-
const Foo = () => <></> // filename: foo.js
|
|
13
|
-
function Foo(){const x = <div>foo</div>} // filename: foo.js
|
|
14
|
-
function Foo(){const x = <>foo</>} // filename: foo.js
|
|
15
|
-
const Foo = () => <div></div> // filename: foo.cjs
|
|
16
|
-
const Foo = () => <></> // filename: foo.cjs
|
|
17
|
-
function Foo(){const x = <div>foo</div>} // filename: foo.cjs
|
|
18
|
-
function Foo(){const x = <>foo</>} // filename: foo.cjs
|
|
19
|
-
const Foo = () => <div></div> // filename: foo.mjs
|
|
20
|
-
const Foo = () => <></> // filename: foo.mjs
|
|
21
|
-
function Foo(){const x = <div>foo</div>} // filename: foo.mjs
|
|
22
|
-
function Foo(){const x = <>foo</>} // filename: foo.mjs
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### Pass
|
|
26
|
-
|
|
27
|
-
```ts
|
|
28
|
-
const Foo = () => <div></div> // filename: foo.jsx
|
|
29
|
-
const Foo = () => <></> // filename: foo.jsx
|
|
30
|
-
function Foo(){const x = <div>foo</div>} // filename: foo.jsx
|
|
31
|
-
function Foo(){const x = <>foo</>} // filename: foo.jsx
|
|
32
|
-
const Foo = () => <div></div> // filename: foo.tsx
|
|
33
|
-
const Foo = () => <></> // filename: foo.tsx
|
|
34
|
-
function Foo(){const x = <div>foo</div>} // filename: foo.tsx
|
|
35
|
-
function Foo(){const x = <>foo</>} // filename: foo.tsx
|
|
36
|
-
```
|
|
37
|
-
<!-- prettier-ignore-end -->
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { test } from "@fenge/dev-utils";
|
|
2
|
-
import { noJsxInNonJsxFile } from "./no-jsx-in-non-jsx-file.js";
|
|
3
|
-
|
|
4
|
-
const codes = [
|
|
5
|
-
"const Foo = () => <div></div>",
|
|
6
|
-
"const Foo = () => <></>",
|
|
7
|
-
"function Foo(){const x = <div>foo</div>}",
|
|
8
|
-
"function Foo(){const x = <>foo</>}",
|
|
9
|
-
];
|
|
10
|
-
|
|
11
|
-
const valid = [
|
|
12
|
-
...codes.map((code) => ({ code, filename: "foo.jsx" })),
|
|
13
|
-
...codes.map((code) => ({ code, filename: "foo.tsx" })),
|
|
14
|
-
];
|
|
15
|
-
|
|
16
|
-
const invalid = [
|
|
17
|
-
...codes.map((code) => ({ code, filename: "foo.js" })),
|
|
18
|
-
...codes.map((code) => ({ code, filename: "foo.cjs" })),
|
|
19
|
-
...codes.map((code) => ({ code, filename: "foo.mjs" })),
|
|
20
|
-
];
|
|
21
|
-
|
|
22
|
-
test({ valid, invalid, ...noJsxInNonJsxFile });
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { Rule } from "eslint";
|
|
2
|
-
import type { Node } from "estree";
|
|
3
|
-
import { getRuleName } from "../utils.js";
|
|
4
|
-
|
|
5
|
-
const name = getRuleName(import.meta.url);
|
|
6
|
-
const rule: Rule.RuleModule = {
|
|
7
|
-
meta: {
|
|
8
|
-
docs: {
|
|
9
|
-
description: "Only allow JSX syntax in `.jsx` and `.tsx` file.",
|
|
10
|
-
},
|
|
11
|
-
messages: {
|
|
12
|
-
[`${name}/error`]: "Only allow JSX syntax in `.jsx` and `.tsx` file.",
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
create: (context) => {
|
|
16
|
-
// ignore jsx files
|
|
17
|
-
if (/\.[tj]sx$/.test(context.filename)) return {};
|
|
18
|
-
return {
|
|
19
|
-
":matches(JSXElement, JSXFragment)": (node: Node) => {
|
|
20
|
-
context.report({ node, messageId: `${name}/error` });
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export const noJsxInNonJsxFile = { name, rule };
|