eslint-plugin-wdio 7.17.0 → 7.17.1

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.
@@ -0,0 +1,20 @@
1
+ declare const rules: {
2
+ 'await-expect': import("eslint").Rule.RuleModule;
3
+ 'no-debug': import("eslint").Rule.RuleModule;
4
+ 'no-pause': import("eslint").Rule.RuleModule;
5
+ };
6
+ declare const configs: {
7
+ recommended: {
8
+ globals: {
9
+ $: boolean;
10
+ $$: boolean;
11
+ browser: boolean;
12
+ driver: boolean;
13
+ expect: boolean;
14
+ multiremotebrowser: boolean;
15
+ };
16
+ rules: {};
17
+ };
18
+ };
19
+ export { rules, configs, };
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,KAAK;;;;CAIV,CAAA;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;CAYZ,CAAA;AAED,OAAO,EACH,KAAK,EACL,OAAO,GACV,CAAA"}
package/build/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.configs = exports.rules = void 0;
7
+ const await_expect_1 = __importDefault(require("./rules/await-expect"));
8
+ const no_debug_1 = __importDefault(require("./rules/no-debug"));
9
+ const no_pause_1 = __importDefault(require("./rules/no-pause"));
10
+ const rules = {
11
+ 'await-expect': await_expect_1.default,
12
+ 'no-debug': no_debug_1.default,
13
+ 'no-pause': no_pause_1.default
14
+ };
15
+ exports.rules = rules;
16
+ const configs = {
17
+ recommended: {
18
+ globals: {
19
+ $: false,
20
+ $$: false,
21
+ browser: false,
22
+ driver: false,
23
+ expect: false,
24
+ multiremotebrowser: false,
25
+ },
26
+ rules: {}
27
+ }
28
+ };
29
+ exports.configs = configs;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0VBQThDO0FBQzlDLGdFQUEwQztBQUMxQyxnRUFBMEM7QUFFMUMsTUFBTSxLQUFLLEdBQUc7SUFDVixjQUFjLEVBQUcsc0JBQVc7SUFDNUIsVUFBVSxFQUFPLGtCQUFPO0lBQ3hCLFVBQVUsRUFBTyxrQkFBTztDQUMzQixDQUFBO0FBaUJHLHNCQUFLO0FBZlQsTUFBTSxPQUFPLEdBQUc7SUFDWixXQUFXLEVBQUU7UUFDVCxPQUFPLEVBQUU7WUFDTCxDQUFDLEVBQW9CLEtBQUs7WUFDMUIsRUFBRSxFQUFtQixLQUFLO1lBQzFCLE9BQU8sRUFBYyxLQUFLO1lBQzFCLE1BQU0sRUFBZSxLQUFLO1lBQzFCLE1BQU0sRUFBZSxLQUFLO1lBQzFCLGtCQUFrQixFQUFHLEtBQUs7U0FDN0I7UUFDRCxLQUFLLEVBQUcsRUFBRTtLQUNiO0NBQ0osQ0FBQTtBQUlHLDBCQUFPIn0=
@@ -0,0 +1,4 @@
1
+ import { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
4
+ //# sourceMappingURL=await-expect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"await-expect.d.ts","sourceRoot":"","sources":["../../lib/rules/await-expect.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAO7B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UA+BhB,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = __importDefault(require("path"));
7
+ const glob_1 = __importDefault(require("glob"));
8
+ // Get all the matches in the expect-webdriverio package based on filenames
9
+ const expectPath = require.resolve('expect-webdriverio');
10
+ const matchesGlob = path_1.default.resolve(expectPath, '../../lib/matchers/**');
11
+ const matchers = glob_1.default.sync(matchesGlob, { nodir: true, }).map(file => path_1.default.basename(file).replace(/(\.js|\.ts)/, ''));
12
+ const rule = {
13
+ meta: {
14
+ type: 'problem',
15
+ docs: {
16
+ description: 'expect must be prefixed with await',
17
+ category: 'Possible Errors',
18
+ url: 'https://github.com/webdriverio/packages/eslint-plugin-wdio/docs/rules/await-expect.md',
19
+ recommended: false,
20
+ },
21
+ messages: {
22
+ missingAwait: 'Missing await before an expect statement'
23
+ },
24
+ hasSuggestions: true
25
+ },
26
+ create: function (context) {
27
+ return {
28
+ MemberExpression(node) {
29
+ var _a, _b, _c, _d, _e, _f;
30
+ const object = (_b = (_a = node.object) === null || _a === void 0 ? void 0 : _a.callee) === null || _b === void 0 ? void 0 : _b.name;
31
+ const property = (_c = node.property) === null || _c === void 0 ? void 0 : _c.name;
32
+ const parentType = (_f = (_e = (_d = node === null || node === void 0 ? void 0 : node.parent) === null || _d === void 0 ? void 0 : _d.parent) === null || _e === void 0 ? void 0 : _e.type) !== null && _f !== void 0 ? _f : false;
33
+ if (object === 'expect' && matchers.includes(property) && parentType !== 'AwaitExpression') {
34
+ context.report({
35
+ node,
36
+ messageId: 'missingAwait',
37
+ });
38
+ }
39
+ }
40
+ };
41
+ }
42
+ };
43
+ exports.default = rule;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQtZXhwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3J1bGVzL2F3YWl0LWV4cGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF1QjtBQUN2QixnREFBdUI7QUFHdkIsMkVBQTJFO0FBQzNFLE1BQU0sVUFBVSxHQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUN6RCxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ3JFLE1BQU0sUUFBUSxHQUFNLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFekgsTUFBTSxJQUFJLEdBQW9CO0lBQzFCLElBQUksRUFBRztRQUNILElBQUksRUFBRyxTQUFTO1FBQ2hCLElBQUksRUFBRztZQUNILFdBQVcsRUFBRyxvQ0FBb0M7WUFDbEQsUUFBUSxFQUFNLGlCQUFpQjtZQUMvQixHQUFHLEVBQVcsdUZBQXVGO1lBQ3JHLFdBQVcsRUFBRyxLQUFLO1NBQ3RCO1FBQ0QsUUFBUSxFQUFHO1lBQ1AsWUFBWSxFQUFHLDBDQUEwQztTQUM1RDtRQUNELGNBQWMsRUFBRyxJQUFJO0tBQ3hCO0lBRUQsTUFBTSxFQUFHLFVBQVMsT0FBeUI7UUFDdkMsT0FBTztZQUNILGdCQUFnQixDQUFDLElBQVM7O2dCQUN0QixNQUFNLE1BQU0sR0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsTUFBTSwwQ0FBRSxJQUFJLENBQUE7Z0JBQzVDLE1BQU0sUUFBUSxHQUFLLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsSUFBSSxDQUFBO2dCQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFBLE1BQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSwwQ0FBRSxNQUFNLDBDQUFFLElBQUksbUNBQUksS0FBSyxDQUFBO2dCQUV0RCxJQUFJLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLEtBQUssaUJBQWlCLEVBQUU7b0JBQ3hGLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSTt3QkFDSixTQUFTLEVBQUcsY0FBYztxQkFDN0IsQ0FBQyxDQUFBO2lCQUNMO1lBQ0wsQ0FBQztTQUNKLENBQUE7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQSJ9
@@ -0,0 +1,4 @@
1
+ import { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
4
+ //# sourceMappingURL=no-debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-debug.d.ts","sourceRoot":"","sources":["../../lib/rules/no-debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UA4BhB,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helpers_1 = require("../utils/helpers");
4
+ const rule = {
5
+ meta: {
6
+ type: 'problem',
7
+ docs: {
8
+ description: 'Disallow browser.debug() in tests',
9
+ category: 'Possible Errors',
10
+ url: 'https://github.com/webdriverio/packages/eslint-plugin-wdio/docs/rules/no-debug.md',
11
+ recommended: false,
12
+ },
13
+ messages: {
14
+ unexpectedDebug: 'Unexpected browser.debug() not allowed'
15
+ },
16
+ hasSuggestions: true,
17
+ schema: [],
18
+ },
19
+ create: function (context) {
20
+ return {
21
+ CallExpression(node) {
22
+ if ((0, helpers_1.isCommand)(node, 'debug')) {
23
+ context.report({
24
+ node,
25
+ messageId: 'unexpectedDebug'
26
+ });
27
+ }
28
+ }
29
+ };
30
+ }
31
+ };
32
+ exports.default = rule;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVsZXMvbm8tZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw4Q0FBNEM7QUFFNUMsTUFBTSxJQUFJLEdBQW9CO0lBQzFCLElBQUksRUFBRztRQUNILElBQUksRUFBRyxTQUFTO1FBQ2hCLElBQUksRUFBRztZQUNILFdBQVcsRUFBRyxtQ0FBbUM7WUFDakQsUUFBUSxFQUFNLGlCQUFpQjtZQUMvQixHQUFHLEVBQVcsbUZBQW1GO1lBQ2pHLFdBQVcsRUFBRyxLQUFLO1NBQ3RCO1FBQ0QsUUFBUSxFQUFHO1lBQ1AsZUFBZSxFQUFHLHdDQUF3QztTQUM3RDtRQUNELGNBQWMsRUFBRyxJQUFJO1FBQ3JCLE1BQU0sRUFBRyxFQUFFO0tBQ2Q7SUFFRCxNQUFNLEVBQUcsVUFBUyxPQUF5QjtRQUN2QyxPQUFPO1lBQ0gsY0FBYyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxJQUFBLG1CQUFTLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUk7d0JBQ0osU0FBUyxFQUFHLGlCQUFpQjtxQkFDaEMsQ0FBQyxDQUFBO2lCQUNMO1lBQ0wsQ0FBQztTQUNKLENBQUE7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQSJ9
@@ -0,0 +1,4 @@
1
+ import { Rule } from 'eslint';
2
+ declare const rule: Rule.RuleModule;
3
+ export default rule;
4
+ //# sourceMappingURL=no-pause.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-pause.d.ts","sourceRoot":"","sources":["../../lib/rules/no-pause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UA4BhB,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helpers_1 = require("../utils/helpers");
4
+ const rule = {
5
+ meta: {
6
+ type: 'problem',
7
+ docs: {
8
+ description: 'Disallow browser.pause() in tests',
9
+ category: 'Possible Errors',
10
+ url: 'https://github.com/webdriverio/packages/eslint-plugin-wdio/docs/rules/no-pause.md',
11
+ recommended: false,
12
+ },
13
+ messages: {
14
+ unexpectedPause: 'Unexpected browser.pause() not allowed'
15
+ },
16
+ hasSuggestions: true,
17
+ schema: [],
18
+ },
19
+ create: function (context) {
20
+ return {
21
+ CallExpression(node) {
22
+ if ((0, helpers_1.isCommand)(node, 'pause')) {
23
+ context.report({
24
+ node,
25
+ messageId: 'unexpectedPause'
26
+ });
27
+ }
28
+ }
29
+ };
30
+ }
31
+ };
32
+ exports.default = rule;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcGF1c2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVsZXMvbm8tcGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw4Q0FBNEM7QUFFNUMsTUFBTSxJQUFJLEdBQW9CO0lBQzFCLElBQUksRUFBRztRQUNILElBQUksRUFBRyxTQUFTO1FBQ2hCLElBQUksRUFBRztZQUNILFdBQVcsRUFBRyxtQ0FBbUM7WUFDakQsUUFBUSxFQUFNLGlCQUFpQjtZQUMvQixHQUFHLEVBQVcsbUZBQW1GO1lBQ2pHLFdBQVcsRUFBRyxLQUFLO1NBQ3RCO1FBQ0QsUUFBUSxFQUFHO1lBQ1AsZUFBZSxFQUFHLHdDQUF3QztTQUM3RDtRQUNELGNBQWMsRUFBRyxJQUFJO1FBQ3JCLE1BQU0sRUFBRyxFQUFFO0tBQ2Q7SUFFRCxNQUFNLEVBQUcsVUFBUyxPQUF5QjtRQUN2QyxPQUFPO1lBQ0gsY0FBYyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxJQUFBLG1CQUFTLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUk7d0JBQ0osU0FBUyxFQUFHLGlCQUFpQjtxQkFDaEMsQ0FBQyxDQUFBO2lCQUNMO1lBQ0wsQ0FBQztTQUNKLENBQUE7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQSJ9
@@ -0,0 +1,2 @@
1
+ export declare const isCommand: (expression: any, command: 'pause' | 'debug') => boolean;
2
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../lib/utils/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAwB,GAAG,WAAW,OAAO,GAAG,OAAO,KAAG,OAQ/E,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ // import type { TSESTree } from '@typescript-eslint/utils'
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isCommand = void 0;
5
+ const isCommand = function (expression, command) {
6
+ var _a, _b;
7
+ const callee = expression === null || expression === void 0 ? void 0 : expression.callee;
8
+ return (callee &&
9
+ ((_a = callee === null || callee === void 0 ? void 0 : callee.object) === null || _a === void 0 ? void 0 : _a.name) === 'browser' &&
10
+ ((_b = callee === null || callee === void 0 ? void 0 : callee.property) === null || _b === void 0 ? void 0 : _b.name) === command);
11
+ };
12
+ exports.isCommand = isCommand;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwyREFBMkQ7OztBQUVwRCxNQUFNLFNBQVMsR0FBRyxVQUFTLFVBQWUsRUFBRSxPQUEwQjs7SUFDekUsTUFBTSxNQUFNLEdBQUcsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE1BQU0sQ0FBQTtJQUVqQyxPQUFPLENBQ0gsTUFBTTtRQUNOLENBQUEsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSwwQ0FBRSxJQUFJLE1BQUssU0FBUztRQUNsQyxDQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsMENBQUUsSUFBSSxNQUFLLE9BQU8sQ0FDckMsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQVJZLFFBQUEsU0FBUyxhQVFyQiJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-wdio",
3
- "version": "7.17.0",
3
+ "version": "7.17.1",
4
4
  "description": "Eslint rules for WebdriverIO",
5
5
  "author": "Christian Bromann <christian@saucelabs.com>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/eslint-plugin-wdio",
@@ -24,11 +24,8 @@
24
24
  "url": "https://github.com/webdriverio/webdriverio/issues"
25
25
  },
26
26
  "devDependencies": {
27
- "@types/eslint": "^8.4.1",
28
- "@typescript-eslint/utils": "^5.11.0",
29
- "eslint": "^8.8.0",
30
27
  "expect-webdriverio": "^3.1.4",
31
28
  "glob": "^7.2.0"
32
29
  },
33
- "gitHead": "e18d2cde6ff979758830bdff4c3bc82ca9818b24"
30
+ "gitHead": "f3c98139ae93aaafc2421980a26dbb382e971af4"
34
31
  }