Compare commits
	
		
			8 Commits
		
	
	
		
			version/20
			...
			web/bug/fi
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 1c9e4652f9 | |||
| 079ed7bf4c | |||
| 430278712f | |||
| 2aad79b5db | |||
| 0fcf1ebf94 | |||
| ed7c1b9b3e | |||
| e71e875056 | |||
| 705f096e3f | 
							
								
								
									
										10389
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										10389
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -75,10 +75,10 @@ | |||||||
|         "@types/showdown": "^2.0.6", |         "@types/showdown": "^2.0.6", | ||||||
|         "@typescript-eslint/eslint-plugin": "^8.7.0", |         "@typescript-eslint/eslint-plugin": "^8.7.0", | ||||||
|         "@typescript-eslint/parser": "^8.7.0", |         "@typescript-eslint/parser": "^8.7.0", | ||||||
|         "@wdio/browser-runner": "^9.1.2", |         "@wdio/browser-runner": "^8.40.5", | ||||||
|         "@wdio/cli": "^9.1.2", |         "@wdio/cli": "^8.40.5", | ||||||
|         "@wdio/mocha-framework": "^9.1.2", |         "@wdio/mocha-framework": "^9.1.0", | ||||||
|         "@wdio/spec-reporter": "^9.1.2", |         "@wdio/spec-reporter": "^9.1.0", | ||||||
|         "babel-plugin-macros": "^3.1.0", |         "babel-plugin-macros": "^3.1.0", | ||||||
|         "babel-plugin-tsconfig-paths": "^1.0.3", |         "babel-plugin-tsconfig-paths": "^1.0.3", | ||||||
|         "chokidar": "^4.0.1", |         "chokidar": "^4.0.1", | ||||||
| @ -86,7 +86,6 @@ | |||||||
|         "esbuild": "^0.24.0", |         "esbuild": "^0.24.0", | ||||||
|         "eslint": "^9.11.1", |         "eslint": "^9.11.1", | ||||||
|         "eslint-plugin-lit": "^1.14.0", |         "eslint-plugin-lit": "^1.14.0", | ||||||
|         "eslint-plugin-sonarjs": "^2.0.2", |  | ||||||
|         "eslint-plugin-wc": "^2.1.0", |         "eslint-plugin-wc": "^2.1.0", | ||||||
|         "github-slugger": "^2.0.0", |         "github-slugger": "^2.0.0", | ||||||
|         "glob": "^11.0.0", |         "glob": "^11.0.0", | ||||||
| @ -330,14 +329,14 @@ | |||||||
|             "command": "node scripts/build-storybook-import-maps.mjs" |             "command": "node scripts/build-storybook-import-maps.mjs" | ||||||
|         }, |         }, | ||||||
|         "test": { |         "test": { | ||||||
|             "command": "wdio run ./wdio.conf.ts --logLevel=warn", |             "command": "wdio ./wdio.conf.ts --logLevel=info", | ||||||
|             "env": { |             "env": { | ||||||
|                 "CI": "true", |                 "CI": "true", | ||||||
|                 "TS_NODE_PROJECT": "tsconfig.test.json" |                 "TS_NODE_PROJECT": "tsconfig.test.json" | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         "test-watch": { |         "test-watch": { | ||||||
|             "command": "wdio run ./wdio.conf.ts", |             "command": "wdio ./wdio.conf.ts", | ||||||
|             "env": { |             "env": { | ||||||
|                 "TS_NODE_PROJECT": "tsconfig.test.json" |                 "TS_NODE_PROJECT": "tsconfig.test.json" | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -1,67 +0,0 @@ | |||||||
| import { execFileSync } from "child_process"; |  | ||||||
| import { ESLint } from "eslint"; |  | ||||||
| import path from "path"; |  | ||||||
| import process from "process"; |  | ||||||
|  |  | ||||||
| // Code assumes this script is in the './web/scripts' folder. |  | ||||||
| const projectRoot = execFileSync("git", ["rev-parse", "--show-toplevel"], { |  | ||||||
|     encoding: "utf8", |  | ||||||
| }).replace("\n", ""); |  | ||||||
| process.chdir(path.join(projectRoot, "./web")); |  | ||||||
|  |  | ||||||
| const eslintConfig = { |  | ||||||
|     fix: true, |  | ||||||
|     overrideConfig: { |  | ||||||
|         env: { |  | ||||||
|             browser: true, |  | ||||||
|             es2021: true, |  | ||||||
|         }, |  | ||||||
|         extends: [ |  | ||||||
|             "eslint:recommended", |  | ||||||
|             "plugin:@typescript-eslint/recommended", |  | ||||||
|             "plugin:lit/recommended", |  | ||||||
|             "plugin:custom-elements/recommended", |  | ||||||
|             "plugin:storybook/recommended", |  | ||||||
|             "plugin:sonarjs/recommended", |  | ||||||
|         ], |  | ||||||
|         parser: "@typescript-eslint/parser", |  | ||||||
|         parserOptions: { |  | ||||||
|             ecmaVersion: 12, |  | ||||||
|             sourceType: "module", |  | ||||||
|             project: true, |  | ||||||
|         }, |  | ||||||
|         plugins: ["@typescript-eslint", "lit", "custom-elements", "sonarjs"], |  | ||||||
|         ignorePatterns: ["authentik-live-tests/**", "./.storybook/**/*.ts"], |  | ||||||
|         rules: { |  | ||||||
|             "indent": "off", |  | ||||||
|             "linebreak-style": ["error", "unix"], |  | ||||||
|             "quotes": ["error", "double", { avoidEscape: true }], |  | ||||||
|             "semi": ["error", "always"], |  | ||||||
|             "@typescript-eslint/ban-ts-comment": "off", |  | ||||||
|             "no-unused-vars": "off", |  | ||||||
|             "sonarjs/cognitive-complexity": ["warn", 9], |  | ||||||
|             "sonarjs/no-duplicate-string": "off", |  | ||||||
|             "sonarjs/no-nested-template-literals": "off", |  | ||||||
|             "@typescript-eslint/no-unused-vars": [ |  | ||||||
|                 "error", |  | ||||||
|                 { |  | ||||||
|                     argsIgnorePattern: "^_", |  | ||||||
|                     varsIgnorePattern: "^_", |  | ||||||
|                     caughtErrorsIgnorePattern: "^_", |  | ||||||
|                 }, |  | ||||||
|             ], |  | ||||||
|             "no-console": ["error", { allow: ["debug", "warn", "error"] }], |  | ||||||
|         }, |  | ||||||
|     }, |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const updated = ["./src/", "./build.mjs", "./scripts/*.mjs"]; |  | ||||||
|  |  | ||||||
| const eslint = new ESLint(eslintConfig); |  | ||||||
| const results = await eslint.lintFiles(updated); |  | ||||||
| const formatter = await eslint.loadFormatter("stylish"); |  | ||||||
| const resultText = formatter.format(results); |  | ||||||
| const errors = results.reduce((acc, result) => acc + result.errorCount, 0); |  | ||||||
|  |  | ||||||
| console.log(resultText); |  | ||||||
| process.exit(errors > 1 ? 1 : 0); |  | ||||||
| @ -1,94 +0,0 @@ | |||||||
| import { execFileSync } from "child_process"; |  | ||||||
| import { ESLint } from "eslint"; |  | ||||||
| import path from "path"; |  | ||||||
| import process from "process"; |  | ||||||
|  |  | ||||||
| // Code assumes this script is in the './web/scripts' folder. |  | ||||||
| const projectRoot = execFileSync("git", ["rev-parse", "--show-toplevel"], { |  | ||||||
|     encoding: "utf8", |  | ||||||
| }).replace("\n", ""); |  | ||||||
| process.chdir(path.join(projectRoot, "./web")); |  | ||||||
|  |  | ||||||
| const eslintConfig = { |  | ||||||
|     fix: true, |  | ||||||
|     overrideConfig: { |  | ||||||
|         env: { |  | ||||||
|             browser: true, |  | ||||||
|             es2021: true, |  | ||||||
|         }, |  | ||||||
|         extends: [ |  | ||||||
|             "eslint:recommended", |  | ||||||
|             "plugin:@typescript-eslint/recommended", |  | ||||||
|             "plugin:lit/recommended", |  | ||||||
|             "plugin:custom-elements/recommended", |  | ||||||
|             "plugin:storybook/recommended", |  | ||||||
|             "plugin:sonarjs/recommended", |  | ||||||
|         ], |  | ||||||
|         parser: "@typescript-eslint/parser", |  | ||||||
|         parserOptions: { |  | ||||||
|             ecmaVersion: 12, |  | ||||||
|             sourceType: "module", |  | ||||||
|             project: true, |  | ||||||
|         }, |  | ||||||
|         plugins: ["@typescript-eslint", "lit", "custom-elements", "sonarjs"], |  | ||||||
|         ignorePatterns: ["authentik-live-tests/**", "./.storybook/**/*.ts"], |  | ||||||
|         rules: { |  | ||||||
|             "indent": "off", |  | ||||||
|             "linebreak-style": ["error", "unix"], |  | ||||||
|             "quotes": ["error", "double", { avoidEscape: true }], |  | ||||||
|             "semi": ["error", "always"], |  | ||||||
|             "@typescript-eslint/ban-ts-comment": "off", |  | ||||||
|             "no-unused-vars": "off", |  | ||||||
|             "sonarjs/cognitive-complexity": ["warn", 9], |  | ||||||
|             "sonarjs/no-duplicate-string": "off", |  | ||||||
|             "sonarjs/no-nested-template-literals": "off", |  | ||||||
|             "@typescript-eslint/no-unused-vars": [ |  | ||||||
|                 "error", |  | ||||||
|                 { |  | ||||||
|                     argsIgnorePattern: "^_", |  | ||||||
|                     varsIgnorePattern: "^_", |  | ||||||
|                     caughtErrorsIgnorePattern: "^_", |  | ||||||
|                 }, |  | ||||||
|             ], |  | ||||||
|             "no-console": ["error", { allow: ["debug", "warn", "error"] }], |  | ||||||
|         }, |  | ||||||
|     }, |  | ||||||
| }; |  | ||||||
|  |  | ||||||
| const porcelainV1 = /^(..)\s+(.*$)/; |  | ||||||
| const gitStatus = execFileSync("git", ["status", "--porcelain", "."], { encoding: "utf8" }); |  | ||||||
|  |  | ||||||
| const statuses = gitStatus.split("\n").reduce((acc, line) => { |  | ||||||
|     const match = porcelainV1.exec(line.replace("\n")); |  | ||||||
|     if (!match) { |  | ||||||
|         return acc; |  | ||||||
|     } |  | ||||||
|     const [status, path] = Array.from(match).slice(1, 3); |  | ||||||
|     return [...acc, [status, path.split("\x00")[0]]]; |  | ||||||
| }, []); |  | ||||||
|  |  | ||||||
| const isModified = /^(M|\?|\s)(M|\?|\s)/; |  | ||||||
| const modified = (s) => isModified.test(s); |  | ||||||
|  |  | ||||||
| const isCheckable = /\.(ts|js|mjs)$/; |  | ||||||
| const checkable = (s) => isCheckable.test(s); |  | ||||||
|  |  | ||||||
| const ignored = /\/\.storybook\//; |  | ||||||
| const notIgnored = (s) => !ignored.test(s); |  | ||||||
|  |  | ||||||
| const updated = statuses.reduce( |  | ||||||
|     (acc, [status, filename]) => |  | ||||||
|         modified(status) && checkable(filename) && notIgnored(filename) |  | ||||||
|             ? [...acc, path.join(projectRoot, filename)] |  | ||||||
|             : acc, |  | ||||||
|     [], |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| const eslint = new ESLint(eslintConfig); |  | ||||||
| const results = await eslint.lintFiles(updated); |  | ||||||
| const formatter = await eslint.loadFormatter("stylish"); |  | ||||||
| const resultText = formatter.format(results); |  | ||||||
| const errors = results.reduce((acc, result) => acc + result.errorCount, 0); |  | ||||||
|  |  | ||||||
| console.log(resultText); |  | ||||||
| process.exit(errors > 1 ? 1 : 0); |  | ||||||
| @ -1,7 +1,6 @@ | |||||||
| import eslint from "@eslint/js"; | import eslint from "@eslint/js"; | ||||||
| import tsparser from "@typescript-eslint/parser"; | import tsparser from "@typescript-eslint/parser"; | ||||||
| import litconf from "eslint-plugin-lit"; | import litconf from "eslint-plugin-lit"; | ||||||
| import sonar from "eslint-plugin-sonarjs"; |  | ||||||
| import wcconf from "eslint-plugin-wc"; | import wcconf from "eslint-plugin-wc"; | ||||||
| import globals from "globals"; | import globals from "globals"; | ||||||
| import tseslint from "typescript-eslint"; | import tseslint from "typescript-eslint"; | ||||||
| @ -9,7 +8,9 @@ import tseslint from "typescript-eslint"; | |||||||
| const MAX_DEPTH = 4; | const MAX_DEPTH = 4; | ||||||
| const MAX_NESTED_CALLBACKS = 4; | const MAX_NESTED_CALLBACKS = 4; | ||||||
| const MAX_PARAMS = 5; | const MAX_PARAMS = 5; | ||||||
| const MAX_COGNITIVE_COMPLEXITY = 9; |  | ||||||
|  | // Waiting for SonarJS to be compatible | ||||||
|  | // const MAX_COGNITIVE_COMPLEXITY = 9; | ||||||
|  |  | ||||||
| const rules = { | const rules = { | ||||||
|     "accessor-pairs": "error", |     "accessor-pairs": "error", | ||||||
| @ -128,9 +129,11 @@ const rules = { | |||||||
|  |  | ||||||
|     "no-unused-vars": "off", |     "no-unused-vars": "off", | ||||||
|     "no-console": ["error", { allow: ["debug", "warn", "error"] }], |     "no-console": ["error", { allow: ["debug", "warn", "error"] }], | ||||||
|     "sonarjs/cognitive-complexity": ["off", MAX_COGNITIVE_COMPLEXITY], |     // SonarJS is not yet compatible with ESLint 9.  Commenting these out | ||||||
|     "sonarjs/no-duplicate-string": "off", |     // until it is. | ||||||
|     "sonarjs/no-nested-template-literals": "off", |     //    "sonarjs/cognitive-complexity": ["off", MAX_COGNITIVE_COMPLEXITY], | ||||||
|  |     //    "sonarjs/no-duplicate-string": "off", | ||||||
|  |     //    "sonarjs/no-nested-template-literals": "off", | ||||||
|     "@typescript-eslint/ban-ts-comment": "off", |     "@typescript-eslint/ban-ts-comment": "off", | ||||||
|     "@typescript-eslint/no-unused-vars": [ |     "@typescript-eslint/no-unused-vars": [ | ||||||
|         "error", |         "error", | ||||||
| @ -167,7 +170,7 @@ export default [ | |||||||
|     wcconf.configs["flat/recommended"], |     wcconf.configs["flat/recommended"], | ||||||
|     litconf.configs["flat/recommended"], |     litconf.configs["flat/recommended"], | ||||||
|     ...tseslint.configs.recommended, |     ...tseslint.configs.recommended, | ||||||
|     sonar.configs.recommended, |     //     sonar.configs.recommended, | ||||||
|     { |     { | ||||||
|         languageOptions: { |         languageOptions: { | ||||||
|             parser: tsparser, |             parser: tsparser, | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| import eslint from "@eslint/js"; | import eslint from "@eslint/js"; | ||||||
| import tsparser from "@typescript-eslint/parser"; | import tsparser from "@typescript-eslint/parser"; | ||||||
| import litconf from "eslint-plugin-lit"; | import litconf from "eslint-plugin-lit"; | ||||||
| import sonar from "eslint-plugin-sonarjs"; |  | ||||||
| import wcconf from "eslint-plugin-wc"; | import wcconf from "eslint-plugin-wc"; | ||||||
| import globals from "globals"; | import globals from "globals"; | ||||||
| import tseslint from "typescript-eslint"; | import tseslint from "typescript-eslint"; | ||||||
| @ -30,7 +29,7 @@ export default [ | |||||||
|     wcconf.configs["flat/recommended"], |     wcconf.configs["flat/recommended"], | ||||||
|     litconf.configs["flat/recommended"], |     litconf.configs["flat/recommended"], | ||||||
|     ...tseslint.configs.recommended, |     ...tseslint.configs.recommended, | ||||||
|     sonar.configs.recommended, |     //    sonar.configs.recommended, | ||||||
|     { |     { | ||||||
|         languageOptions: { |         languageOptions: { | ||||||
|             parser: tsparser, |             parser: tsparser, | ||||||
| @ -43,9 +42,11 @@ export default [ | |||||||
|         rules: { |         rules: { | ||||||
|             "no-unused-vars": "off", |             "no-unused-vars": "off", | ||||||
|             "no-console": ["error", { allow: ["debug", "warn", "error"] }], |             "no-console": ["error", { allow: ["debug", "warn", "error"] }], | ||||||
|             "sonarjs/cognitive-complexity": ["off", 9], |             // SonarJS is not yet compatible with ESLint 9.  Commenting these out | ||||||
|             "sonarjs/no-duplicate-string": "off", |             // until it is. | ||||||
|             "sonarjs/no-nested-template-literals": "off", |             //    "sonarjs/cognitive-complexity": ["off", 9], | ||||||
|  |             //    "sonarjs/no-duplicate-string": "off", | ||||||
|  |             //    "sonarjs/no-nested-template-literals": "off", | ||||||
|             "@typescript-eslint/ban-ts-comment": "off", |             "@typescript-eslint/ban-ts-comment": "off", | ||||||
|             "@typescript-eslint/no-unused-vars": [ |             "@typescript-eslint/no-unused-vars": [ | ||||||
|                 "error", |                 "error", | ||||||
|  | |||||||
| @ -4,7 +4,7 @@ | |||||||
|     "private": true, |     "private": true, | ||||||
|     "license": "MIT", |     "license": "MIT", | ||||||
|     "dependencies": { |     "dependencies": { | ||||||
|         "@goauthentik/api": "^2024.6.3-1724414734", |         "@goauthentik/api": "^2024.8.3-1727449099", | ||||||
|         "base64-js": "^1.5.1", |         "base64-js": "^1.5.1", | ||||||
|         "bootstrap": "^4.6.1", |         "bootstrap": "^4.6.1", | ||||||
|         "formdata-polyfill": "^4.0.10", |         "formdata-polyfill": "^4.0.10", | ||||||
|  | |||||||
| @ -35,7 +35,7 @@ describe("ak-quick-actions-card", () => { | |||||||
|             ></ak-quick-actions-card>`, |             ></ak-quick-actions-card>`, | ||||||
|         ); |         ); | ||||||
|         const component = await $("ak-quick-actions-card"); |         const component = await $("ak-quick-actions-card"); | ||||||
|         const items = await component.$$(">>>.pf-c-list li").getElements(); |         const items = await component.$$(">>>.pf-c-list li"); | ||||||
|         await expect(Array.from(items).length).toEqual(5); |         await expect(Array.from(items).length).toEqual(5); | ||||||
|         await expect(await component.$(">>>.pf-c-list li:nth-of-type(4)")).toHaveText( |         await expect(await component.$(">>>.pf-c-list li:nth-of-type(4)")).toHaveText( | ||||||
|             "Manage users", |             "Manage users", | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ export class AkSearchSelectViewDriver { | |||||||
|             ); |             ); | ||||||
|         } |         } | ||||||
|         const id = await element.getAttribute("data-ouia-component-id"); |         const id = await element.getAttribute("data-ouia-component-id"); | ||||||
|         const menu = await $(`[data-ouia-component-id="menu-${id}"]`).getElement(); |         const menu = await $(`[data-ouia-component-id="menu-${id}"]`); | ||||||
|         return new AkSearchSelectViewDriver(element, menu); |         return new AkSearchSelectViewDriver(element, menu); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -52,7 +52,7 @@ export class AkSearchSelectViewDriver { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     async listElements() { |     async listElements() { | ||||||
|         return await this.menu.$$(">>>li").getElements(); |         return await this.menu.$$(">>>li"); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     async focusOnInput() { |     async focusOnInput() { | ||||||
|  | |||||||
| @ -21,9 +21,7 @@ describe("Search select: Test Input Field", () => { | |||||||
|             html`<ak-search-select-view .options=${longGoodForYouPairs}> </ak-search-select-view>`, |             html`<ak-search-select-view .options=${longGoodForYouPairs}> </ak-search-select-view>`, | ||||||
|             document.body, |             document.body, | ||||||
|         ); |         ); | ||||||
|         select = await AkSearchSelectViewDriver.build( |         select = await AkSearchSelectViewDriver.build(await $("ak-search-select-view")); | ||||||
|             await $("ak-search-select-view").getElement(), |  | ||||||
|         ); |  | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|     it("should open the menu when the input is clicked", async () => { |     it("should open the menu when the input is clicked", async () => { | ||||||
| @ -58,9 +56,7 @@ describe("Search select: Test Input Field", () => { | |||||||
|         expect(await select.open).toBe(false); |         expect(await select.open).toBe(false); | ||||||
|         expect(await select.menuIsVisible()).toBe(false); |         expect(await select.menuIsVisible()).toBe(false); | ||||||
|         await browser.keys("A"); |         await browser.keys("A"); | ||||||
|         select = await AkSearchSelectViewDriver.build( |         select = await AkSearchSelectViewDriver.build(await $("ak-search-select-view")); | ||||||
|             await $("ak-search-select-view").getElement(), |  | ||||||
|         ); |  | ||||||
|         expect(await select.open).toBe(true); |         expect(await select.open).toBe(true); | ||||||
|         expect(await select.menuIsVisible()).toBe(true); |         expect(await select.menuIsVisible()).toBe(true); | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -97,9 +97,7 @@ describe("Search select: event driven startup", () => { | |||||||
|             mock?.dispatchEvent(new Event("resolve")); |             mock?.dispatchEvent(new Event("resolve")); | ||||||
|         }); |         }); | ||||||
|         expect(await $(">>>ak-search-select-loading-indicator")).not.toBeDisplayed(); |         expect(await $(">>>ak-search-select-loading-indicator")).not.toBeDisplayed(); | ||||||
|         select = await AkSearchSelectViewDriver.build( |         select = await AkSearchSelectViewDriver.build(await $(">>>ak-search-select-view")); | ||||||
|             await $(">>>ak-search-select-view").getElement(), |  | ||||||
|         ); |  | ||||||
|         expect(await select).toBeExisting(); |         expect(await select).toBeExisting(); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,4 +1,5 @@ | |||||||
| import replace from "@rollup/plugin-replace"; | import replace from "@rollup/plugin-replace"; | ||||||
|  | import type { Options } from "@wdio/types"; | ||||||
| import { cwd } from "process"; | import { cwd } from "process"; | ||||||
| import postcssLit from "rollup-plugin-postcss-lit"; | import postcssLit from "rollup-plugin-postcss-lit"; | ||||||
| import type { UserConfig } from "vite"; | import type { UserConfig } from "vite"; | ||||||
| @ -14,7 +15,7 @@ const maxInstances = | |||||||
|           ? 10 |           ? 10 | ||||||
|           : 1; |           : 1; | ||||||
|  |  | ||||||
| export const config: WebdriverIO.Config = { | export const config: Options.Testrunner = { | ||||||
|     // |     // | ||||||
|     // ==================== |     // ==================== | ||||||
|     // Runner Configuration |     // Runner Configuration | ||||||
| @ -42,7 +43,13 @@ export const config: WebdriverIO.Config = { | |||||||
|         }, |         }, | ||||||
|     ], |     ], | ||||||
|  |  | ||||||
|     tsConfigPath: "./tsconfig.json", |     autoCompileOpts: { | ||||||
|  |         autoCompile: true, | ||||||
|  |         tsNodeOpts: { | ||||||
|  |             project: "./tsconfig.json", | ||||||
|  |             transpileOnly: true, | ||||||
|  |         }, | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     // |     // | ||||||
|     // ================== |     // ================== | ||||||
| @ -133,11 +140,11 @@ export const config: WebdriverIO.Config = { | |||||||
|     // baseUrl: 'http://localhost:8080', |     // baseUrl: 'http://localhost:8080', | ||||||
|     // |     // | ||||||
|     // Default timeout for all waitFor* commands. |     // Default timeout for all waitFor* commands. | ||||||
|     waitforTimeout: 10000, |     waitforTimeout: 12000, | ||||||
|     // |     // | ||||||
|     // Default timeout in milliseconds for request |     // Default timeout in milliseconds for request | ||||||
|     // if browser driver or grid doesn't send response |     // if browser driver or grid doesn't send response | ||||||
|     connectionRetryTimeout: 120000, |     connectionRetryTimeout: 12000, | ||||||
|     // |     // | ||||||
|     // Default request retries count |     // Default request retries count | ||||||
|     connectionRetryCount: 3, |     connectionRetryCount: 3, | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	