Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@wdio/config

Package Overview
Dependencies
Maintainers
2
Versions
333
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wdio/config - npm Package Compare versions

Comparing version 6.9.0 to 6.10.0

57

build/constants.d.ts

@@ -1,58 +0,5 @@

import type { Hooks } from './types';
export declare const DEFAULT_CONFIGS: () => {
specs: never[];
suites: {};
exclude: never[];
outputDir: undefined;
logLevel: "info";
logLevels: {};
excludeDriverLogs: never[];
bail: number;
waitforInterval: number;
waitforTimeout: number;
framework: "mocha";
reporters: never[];
services: never[];
maxInstances: number;
maxInstancesPerCapability: number;
filesToWatch: never[];
connectionRetryTimeout: number;
connectionRetryCount: number;
execArgv: never[];
runnerEnv: {};
runner: "local";
mochaOpts: {
timeout: number;
};
jasmineNodeOpts: {
defaultTimeoutInterval: number;
};
cucumberOpts: {
timeout: number;
};
onPrepare: never[];
onWorkerStart: never[];
before: never[];
beforeSession: never[];
beforeSuite: never[];
beforeHook: never[];
beforeTest: never[];
beforeCommand: never[];
afterCommand: never[];
afterTest: never[];
afterHook: never[];
afterSuite: never[];
afterSession: never[];
after: never[];
onComplete: never[];
onReload: never[];
beforeFeature: never[];
beforeScenario: never[];
beforeStep: never[];
afterStep: never[];
afterScenario: never[];
afterFeature: never[];
};
import type { ConfigOptions, Hooks } from './types';
export declare const DEFAULT_CONFIGS: () => ConfigOptions;
export declare const SUPPORTED_HOOKS: (keyof Hooks)[];
export declare const SUPPORTED_FILE_EXTENSIONS: string[];
//# sourceMappingURL=constants.d.ts.map

@@ -0,119 +1,18 @@

/// <reference types="webdriver" />
/// <reference types="webdriverio/webdriverio-core" />
/// <reference types="webdriverio" />
/// <reference types="@wdio/cucumber-framework" />
import type { ConfigOptions, Hooks } from '../types';
export default class ConfigParser {
static getFilePaths(patterns: any, omitWarnings: any): string[];
_config: {
specs: never[];
suites: {};
exclude: never[];
outputDir: undefined;
logLevel: "info";
logLevels: {};
excludeDriverLogs: never[];
bail: number;
waitforInterval: number;
waitforTimeout: number;
framework: "mocha";
reporters: never[];
services: never[];
maxInstances: number;
maxInstancesPerCapability: number;
filesToWatch: never[];
connectionRetryTimeout: number;
connectionRetryCount: number;
execArgv: never[];
runnerEnv: {};
runner: "local";
mochaOpts: {
timeout: number;
};
jasmineNodeOpts: {
defaultTimeoutInterval: number;
};
cucumberOpts: {
timeout: number;
};
onPrepare: never[];
onWorkerStart: never[];
before: never[];
beforeSession: never[];
beforeSuite: never[];
beforeHook: never[];
beforeTest: never[];
beforeCommand: never[];
afterCommand: never[];
afterTest: never[];
afterHook: never[];
afterSuite: never[];
afterSession: never[];
after: never[];
onComplete: never[];
onReload: never[];
beforeFeature: never[];
beforeScenario: never[];
beforeStep: never[];
afterStep: never[];
afterScenario: never[];
afterFeature: never[];
};
_capabilities: any[];
private _config;
private _capabilities;
addConfigFile(filename: string): void;
merge(object?: Object): void;
addService(service: Object): void;
getSpecs(capSpecs: any, capExclude: any): string[];
setFilePathToFilterOptions(cliArgFileList: string, config: Object): string[];
getConfig(): {
specs: never[];
suites: {};
exclude: never[];
outputDir: undefined;
logLevel: "info";
logLevels: {};
excludeDriverLogs: never[];
bail: number;
waitforInterval: number;
waitforTimeout: number;
framework: "mocha";
reporters: never[];
services: never[];
maxInstances: number;
maxInstancesPerCapability: number;
filesToWatch: never[];
connectionRetryTimeout: number;
connectionRetryCount: number;
execArgv: never[];
runnerEnv: {};
runner: "local";
mochaOpts: {
timeout: number;
};
jasmineNodeOpts: {
defaultTimeoutInterval: number;
};
cucumberOpts: {
timeout: number;
};
onPrepare: never[];
onWorkerStart: never[];
before: never[];
beforeSession: never[];
beforeSuite: never[];
beforeHook: never[];
beforeTest: never[];
beforeCommand: never[];
afterCommand: never[];
afterTest: never[];
afterHook: never[];
afterSuite: never[];
afterSession: never[];
after: never[];
onComplete: never[];
onReload: never[];
beforeFeature: never[];
beforeScenario: never[];
beforeStep: never[];
afterStep: never[];
afterScenario: never[];
afterFeature: never[];
};
getCapabilities(i: any): any;
merge(object?: ConfigOptions): void;
addService(service: Hooks): void;
getSpecs(capSpecs?: string[], capExclude?: string[]): string[];
setFilePathToFilterOptions(cliArgFileList: string[], config: string[]): string[];
getConfig(): ConfigOptions;
getCapabilities(i?: number): WebDriver.DesiredCapabilities | WebDriver.W3CCapabilities | import("webdriverio").MultiRemoteCapabilities | (WebDriver.DesiredCapabilities | WebDriver.W3CCapabilities)[];
static getFilePaths(patterns: string[], omitWarnings?: boolean): string[];
}
//# sourceMappingURL=ConfigParser.d.ts.map

60

build/lib/ConfigParser.js

@@ -59,31 +59,34 @@ "use strict";

if (spec.length > 0) {
this._config.specs = [...this.setFilePathToFilterOptions(spec, this._config.specs)];
this._config.specs = this.setFilePathToFilterOptions(spec, this._config.specs);
}
if (exclude.length > 0) {
this._config.exclude = [...this.setFilePathToFilterOptions(exclude, this._config.exclude)];
this._config.exclude = this.setFilePathToFilterOptions(exclude, this._config.exclude);
}
let defaultBackend = utils_1.detectBackend({});
if ((this._config.protocol === defaultBackend.protocol) &&
(this._config.hostname === defaultBackend.hostname) &&
(this._config.port === defaultBackend.port) &&
(this._config.path === defaultBackend.path)) {
delete this._config.protocol;
delete this._config.hostname;
delete this._config.port;
delete this._config.path;
}
this._config = deepmerge_1.default(utils_1.detectBackend(this._config), this._config, MERGE_OPTIONS);
}
addService(service) {
for (let hookName of constants_1.SUPPORTED_HOOKS) {
if (!service[hookName]) {
const addHook = (hookName, hook) => {
const existingHooks = this._config[hookName];
if (!existingHooks) {
this._config[hookName] = hook.bind(service);
}
else if (typeof existingHooks === 'function') {
this._config[hookName] = [existingHooks, hook.bind(service)];
}
else {
this._config[hookName] = [...existingHooks, hook.bind(service)];
}
};
for (const hookName of constants_1.SUPPORTED_HOOKS) {
const hooksToBeAdded = service[hookName];
if (!hooksToBeAdded) {
continue;
}
if (typeof service[hookName] === 'function') {
this._config[hookName].push(service[hookName].bind(service));
if (typeof hooksToBeAdded === 'function') {
addHook(hookName, hooksToBeAdded);
}
else if (Array.isArray(service[hookName])) {
for (let hook of service[hookName]) {
if (typeof hook === 'function') {
this._config[hookName].push(hook.bind(service));
else if (Array.isArray(hooksToBeAdded)) {
for (const hookToAdd of hooksToBeAdded) {
if (typeof hookToAdd === 'function') {
addHook(hookName, hookToAdd);
}

@@ -95,2 +98,3 @@ }

getSpecs(capSpecs, capExclude) {
var _a;
let specs = ConfigParser.getFilePaths(this._config.specs);

@@ -103,4 +107,7 @@ let spec = Array.isArray(this._config.spec) ? this._config.spec : [];

for (let suiteName of suites) {
let suite = this._config.suites[suiteName];
if (suite && Array.isArray(suite)) {
let suite = (_a = this._config.suites) === null || _a === void 0 ? void 0 : _a[suiteName];
if (!suite) {
log.warn(`No suite was found with name "${suiteName}"`);
}
if (Array.isArray(suite)) {
suiteSpecs = suiteSpecs.concat(ConfigParser.getFilePaths(suite));

@@ -154,3 +161,3 @@ }

}
return filesToFilter;
return [...filesToFilter];
}

@@ -161,3 +168,3 @@ getConfig() {

getCapabilities(i) {
if (typeof i === 'number' && this._capabilities[i]) {
if (typeof i === 'number' && Array.isArray(this._capabilities) && this._capabilities[i]) {
return this._capabilities[i];

@@ -170,11 +177,8 @@ }

if (typeof patterns === 'string') {
patterns = utils_1.removeLineNumbers(patterns);
patterns = [patterns];
}
else {
patterns = patterns.map(pattern => utils_1.removeLineNumbers(pattern));
}
if (!Array.isArray(patterns)) {
throw new Error('specs or exclude property should be an array of strings');
}
patterns = patterns.map(pattern => utils_1.removeLineNumbers(pattern));
for (let pattern of patterns) {

@@ -181,0 +185,0 @@ let filenames = glob_1.default.sync(pattern);

@@ -9,11 +9,14 @@ /// <reference types="webdriverio/webdriverio-core" />

export interface ConfigOptions extends Omit<WebdriverIO.Config, 'capabilities' | keyof WebdriverIO.Hooks>, Hooks {
spec?: string[];
suite?: string[];
capabilities?: Capabilities;
specFileRetryAttempts?: number;
cucumberFeaturesWithLineNumbers?: string[];
}
export declare type DefaultOptions<T> = {
[k in keyof T]: {
[k in keyof T]?: {
type: 'string' | 'number' | 'object' | 'boolean' | 'function';
default?: T[k];
required?: boolean;
validate?: (option: k) => void;
validate?: (option: T[k]) => void;
match?: RegExp;

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

{
"name": "@wdio/config",
"version": "6.9.0",
"version": "6.10.0",
"description": "A helper utility to parse and validate WebdriverIO options",

@@ -33,3 +33,3 @@ "author": "Christian Bromann <christian@saucelabs.com>",

},
"gitHead": "b933815152731bba96cdb85843b37d896cfd42d4"
"gitHead": "f7968c4d925835a2a971bbf9c0f4fdb3911ec8d9"
}

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