New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

eslint-plugin-wdio

Package Overview
Dependencies
Maintainers
5
Versions
144
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eslint-plugin-wdio - npm Package Compare versions

Comparing version 7.17.3 to 7.17.4

build/constants.d.ts

6

build/index.d.ts

@@ -16,3 +16,7 @@ declare const rules: {

};
rules: {};
rules: {
'await-expect': import("eslint").Rule.RuleModule;
'no-debug': import("eslint").Rule.RuleModule;
'no-pause': import("eslint").Rule.RuleModule;
};
};

@@ -19,0 +23,0 @@ };

3

build/index.js

@@ -26,6 +26,5 @@ "use strict";

},
rules: {}
rules
}
};
exports.configs = configs;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0VBQThDO0FBQzlDLGdFQUEwQztBQUMxQyxnRUFBMEM7QUFFMUMsTUFBTSxLQUFLLEdBQUc7SUFDVixjQUFjLEVBQUcsc0JBQVc7SUFDNUIsVUFBVSxFQUFPLGtCQUFPO0lBQ3hCLFVBQVUsRUFBTyxrQkFBTztDQUMzQixDQUFBO0FBaUJHLHNCQUFLO0FBZlQsTUFBTSxPQUFPLEdBQUc7SUFDWixXQUFXLEVBQUU7UUFDVCxPQUFPLEVBQUU7WUFDTCxDQUFDLEVBQW9CLEtBQUs7WUFDMUIsRUFBRSxFQUFtQixLQUFLO1lBQzFCLE9BQU8sRUFBYyxLQUFLO1lBQzFCLE1BQU0sRUFBZSxLQUFLO1lBQzFCLE1BQU0sRUFBZSxLQUFLO1lBQzFCLGtCQUFrQixFQUFHLEtBQUs7U0FDN0I7UUFDRCxLQUFLLEVBQUcsRUFBRTtLQUNiO0NBQ0osQ0FBQTtBQUlHLDBCQUFPIn0=

@@ -1,4 +0,4 @@

import { Rule } from 'eslint';
import type { Rule } from 'eslint';
declare const rule: Rule.RuleModule;
export default rule;
//# sourceMappingURL=await-expect.d.ts.map
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const glob_1 = __importDefault(require("glob"));
// Get all the matches in the expect-webdriverio package based on filenames
const expectPath = require.resolve('expect-webdriverio');
const matchesGlob = path_1.default.resolve(expectPath, '../../lib/matchers/**');
const matchers = glob_1.default.sync(matchesGlob, { nodir: true, }).map(file => path_1.default.basename(file).replace(/(\.js|\.ts)/, ''));
const constants_1 = require("../constants");
const rule = {

@@ -28,13 +20,24 @@ meta: {

return {
MemberExpression(node) {
var _a, _b, _c, _d, _e, _f;
const object = (_b = (_a = node.object) === null || _a === void 0 ? void 0 : _a.callee) === null || _b === void 0 ? void 0 : _b.name;
const property = (_c = node.property) === null || _c === void 0 ? void 0 : _c.name;
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;
if (object === 'expect' && matchers.includes(property) && parentType !== 'AwaitExpression') {
context.report({
node,
messageId: 'missingAwait',
});
CallExpression(node) {
/**
* validate we have an expect statement that
* calls some of the WebdriverIO matchers
*/
if (node.callee.type !== 'MemberExpression' ||
node.callee.object.type !== 'CallExpression' ||
node.callee.object.callee.name !== 'expect' ||
!constants_1.MATCHERS.includes(node.callee.property.name)) {
return;
}
/**
* fail rule if:
*/
if (
/**
* expect is called without an `await` and as part of an
* expression
*/
node.parent.type === 'ExpressionStatement') {
context.report({ node, messageId: 'missingAwait' });
}
}

@@ -45,2 +48,1 @@ };

exports.default = rule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdhaXQtZXhwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3J1bGVzL2F3YWl0LWV4cGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUF1QjtBQUN2QixnREFBdUI7QUFHdkIsMkVBQTJFO0FBQzNFLE1BQU0sVUFBVSxHQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUN6RCxNQUFNLFdBQVcsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFBO0FBQ3JFLE1BQU0sUUFBUSxHQUFNLGNBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFekgsTUFBTSxJQUFJLEdBQW9CO0lBQzFCLElBQUksRUFBRztRQUNILElBQUksRUFBRyxTQUFTO1FBQ2hCLElBQUksRUFBRztZQUNILFdBQVcsRUFBRyxvQ0FBb0M7WUFDbEQsUUFBUSxFQUFNLGlCQUFpQjtZQUMvQixHQUFHLEVBQVcsdUZBQXVGO1lBQ3JHLFdBQVcsRUFBRyxLQUFLO1NBQ3RCO1FBQ0QsUUFBUSxFQUFHO1lBQ1AsWUFBWSxFQUFHLDBDQUEwQztTQUM1RDtRQUNELGNBQWMsRUFBRyxJQUFJO0tBQ3hCO0lBRUQsTUFBTSxFQUFHLFVBQVMsT0FBeUI7UUFDdkMsT0FBTztZQUNILGdCQUFnQixDQUFDLElBQVM7O2dCQUN0QixNQUFNLE1BQU0sR0FBTyxNQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsTUFBTSwwQ0FBRSxJQUFJLENBQUE7Z0JBQzVDLE1BQU0sUUFBUSxHQUFLLE1BQUEsSUFBSSxDQUFDLFFBQVEsMENBQUUsSUFBSSxDQUFBO2dCQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFBLE1BQUEsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSwwQ0FBRSxNQUFNLDBDQUFFLElBQUksbUNBQUksS0FBSyxDQUFBO2dCQUV0RCxJQUFJLE1BQU0sS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLEtBQUssaUJBQWlCLEVBQUU7b0JBQ3hGLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSTt3QkFDSixTQUFTLEVBQUcsY0FBYztxQkFDN0IsQ0FBQyxDQUFBO2lCQUNMO1lBQ0wsQ0FBQztTQUNKLENBQUE7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQSJ9

@@ -23,6 +23,3 @@ "use strict";

if ((0, helpers_1.isCommand)(node, 'debug')) {
context.report({
node,
messageId: 'unexpectedDebug'
});
context.report({ node, messageId: 'unexpectedDebug' });
}

@@ -34,2 +31,1 @@ }

exports.default = rule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVsZXMvbm8tZGVidWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw4Q0FBNEM7QUFFNUMsTUFBTSxJQUFJLEdBQW9CO0lBQzFCLElBQUksRUFBRztRQUNILElBQUksRUFBRyxTQUFTO1FBQ2hCLElBQUksRUFBRztZQUNILFdBQVcsRUFBRyxtQ0FBbUM7WUFDakQsUUFBUSxFQUFNLGlCQUFpQjtZQUMvQixHQUFHLEVBQVcsbUZBQW1GO1lBQ2pHLFdBQVcsRUFBRyxLQUFLO1NBQ3RCO1FBQ0QsUUFBUSxFQUFHO1lBQ1AsZUFBZSxFQUFHLHdDQUF3QztTQUM3RDtRQUNELGNBQWMsRUFBRyxJQUFJO1FBQ3JCLE1BQU0sRUFBRyxFQUFFO0tBQ2Q7SUFFRCxNQUFNLEVBQUcsVUFBUyxPQUF5QjtRQUN2QyxPQUFPO1lBQ0gsY0FBYyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxJQUFBLG1CQUFTLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUk7d0JBQ0osU0FBUyxFQUFHLGlCQUFpQjtxQkFDaEMsQ0FBQyxDQUFBO2lCQUNMO1lBQ0wsQ0FBQztTQUNKLENBQUE7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQSJ9

@@ -23,6 +23,3 @@ "use strict";

if ((0, helpers_1.isCommand)(node, 'pause')) {
context.report({
node,
messageId: 'unexpectedPause'
});
context.report({ node, messageId: 'unexpectedPause' });
}

@@ -34,2 +31,1 @@ }

exports.default = rule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcGF1c2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvcnVsZXMvbm8tcGF1c2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSw4Q0FBNEM7QUFFNUMsTUFBTSxJQUFJLEdBQW9CO0lBQzFCLElBQUksRUFBRztRQUNILElBQUksRUFBRyxTQUFTO1FBQ2hCLElBQUksRUFBRztZQUNILFdBQVcsRUFBRyxtQ0FBbUM7WUFDakQsUUFBUSxFQUFNLGlCQUFpQjtZQUMvQixHQUFHLEVBQVcsbUZBQW1GO1lBQ2pHLFdBQVcsRUFBRyxLQUFLO1NBQ3RCO1FBQ0QsUUFBUSxFQUFHO1lBQ1AsZUFBZSxFQUFHLHdDQUF3QztTQUM3RDtRQUNELGNBQWMsRUFBRyxJQUFJO1FBQ3JCLE1BQU0sRUFBRyxFQUFFO0tBQ2Q7SUFFRCxNQUFNLEVBQUcsVUFBUyxPQUF5QjtRQUN2QyxPQUFPO1lBQ0gsY0FBYyxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxJQUFBLG1CQUFTLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNYLElBQUk7d0JBQ0osU0FBUyxFQUFHLGlCQUFpQjtxQkFDaEMsQ0FBQyxDQUFBO2lCQUNMO1lBQ0wsQ0FBQztTQUNKLENBQUE7SUFDTCxDQUFDO0NBQ0osQ0FBQTtBQUVELGtCQUFlLElBQUksQ0FBQSJ9

@@ -13,2 +13,1 @@ "use strict";

exports.isCommand = isCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwyREFBMkQ7OztBQUVwRCxNQUFNLFNBQVMsR0FBRyxVQUFTLFVBQWUsRUFBRSxPQUEwQjs7SUFDekUsTUFBTSxNQUFNLEdBQUcsVUFBVSxhQUFWLFVBQVUsdUJBQVYsVUFBVSxDQUFFLE1BQU0sQ0FBQTtJQUVqQyxPQUFPLENBQ0gsTUFBTTtRQUNOLENBQUEsTUFBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSwwQ0FBRSxJQUFJLE1BQUssU0FBUztRQUNsQyxDQUFBLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFFBQVEsMENBQUUsSUFBSSxNQUFLLE9BQU8sQ0FDckMsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQVJZLFFBQUEsU0FBUyxhQVFyQiJ9
{
"name": "eslint-plugin-wdio",
"version": "7.17.3",
"version": "7.17.4",
"description": "Eslint rules for WebdriverIO",

@@ -26,7 +26,7 @@ "author": "Christian Bromann <christian@saucelabs.com>",

},
"dependencies": {
"expect-webdriverio": "^3.1.4",
"glob": "^7.2.0"
"devDependencies": {
"@types/estree": "^0.0.51",
"eslint": "^8.10.0"
},
"gitHead": "2bcb589dbdd10ca181f301a269b4dd158faab257"
"gitHead": "7243b24766d60a8b4c7d92aec757238c96590172"
}

@@ -25,10 +25,10 @@ # eslint-plugin-wdio

To enable this configuration use the extends property in your .eslintrc config file:
To enable this configuration use the extends property in your `.eslintrc` config file:
```json
{
"plugins": [
"wdio"
],
"extends": "plugin:wdio/recommended"
"extends": [
"eslint:recommended",
"plugin:wdio/recommended"
]
}

@@ -38,1 +38,9 @@ ```

See [ESLint documentation](https://eslint.org/docs/user-guide/configuring#extending-configuration-files) for more information about extending configuration files.
## List of supported rules
| Rule | Description |
| :--- | :--- |
| [wdio/await-expect](docs/rules/await-expect.md) | `expect` calls must be prefixed with an `await` |
| [wdio/no-debug](docs/rules/no-debug.md) | Don't allow `browser.debug()` statements |
| [wdio/no-pause](docs/rules/no-pause.md) | Don't allow `browser.pause(<number>)` statements |

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc