diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
index 8c7962a665..ea94c9f698 100644
--- a/.github/workflows/pull_request.yml
+++ b/.github/workflows/pull_request.yml
@@ -150,7 +150,6 @@ jobs:
timeout-minutes: 35
env:
EQ_RUN_FUNCTIONAL_TESTS_HEADLESS: True
- # :TODO: Revisit & update when 2 instances can be used without adverse effects
EQ_FUNCTIONAL_TEST_MAX_INSTANCES: 2
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
@@ -173,8 +172,10 @@ jobs:
run: npm install
- name: Docker compose
run: docker compose --version && RUNNER_ENV_FILE=.functional-tests.env docker compose up --build -d
- - name: Functional tests
- run: make test-functional
+ - name: Functional tests (supplementary data)
+ run: make test-functional-sds
+ - name: Functional tests (main suite)
+ run: make test-functional-main
- name: Docker compose shutdown
run: RUNNER_ENV_FILE=.functional-tests.env docker compose kill
docker-push:
diff --git a/Makefile b/Makefile
index bb9da1f6f6..42f101a58f 100644
--- a/Makefile
+++ b/Makefile
@@ -45,8 +45,15 @@ test:
test-unit:
poetry run ./scripts/run_tests_unit.sh
+test-functional-main: generate-pages
+ npm run test_functional_main
+
+test-functional-sds: generate-pages
+ EQ_FUNCTIONAL_TEST_MAX_INSTANCES=1 npm run test_functional_sds
+
test-functional: generate-pages
- npm run test_functional
+ $(MAKE) test-functional-main
+ $(MAKE) test-functional-sds
test-functional-headless: generate-pages
EQ_RUN_FUNCTIONAL_TESTS_HEADLESS='True' make test-functional
diff --git a/package-lock.json b/package-lock.json
index 173c5ca40b..cee3d58b19 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,15 +8,15 @@
"name": "eq-questionnaire-runner",
"version": "1.0.0",
"devDependencies": {
- "@babel/core": "7.28.0",
- "@babel/plugin-transform-runtime": "7.28.0",
- "@babel/preset-env": "7.28.0",
- "@babel/register": "7.27.1",
- "@babel/runtime": "7.28.2",
- "@wdio/cli": "9.18.4",
- "@wdio/local-runner": "8.45.0",
- "@wdio/mocha-framework": "9.18.0",
- "@wdio/spec-reporter": "9.18.0",
+ "@babel/core": "7.28.5 ",
+ "@babel/plugin-transform-runtime": "7.28.5",
+ "@babel/preset-env": "7.28.5",
+ "@babel/register": "7.28.3",
+ "@babel/runtime": "7.28.4",
+ "@wdio/cli": "9.20.0",
+ "@wdio/local-runner": "9.20.0",
+ "@wdio/mocha-framework": "9.20.0",
+ "@wdio/spec-reporter": "9.20.0",
"eslint": "8.57.1",
"eslint-cli": "1.1.1",
"eslint-config-standard": "17.1.0",
@@ -33,20 +33,7 @@
"prettier": "3.6.2",
"typescript": "5.9.2",
"uuid": "11.1.0",
- "webdriverio": "9.18.4"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
+ "webdriverio": "9.20.0"
}
},
"node_modules/@babel/code-frame": {
@@ -65,9 +52,9 @@
}
},
"node_modules/@babel/compat-data": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz",
- "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
+ "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -75,23 +62,23 @@
}
},
"node_modules/@babel/core": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz",
- "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
- "@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.0",
+ "@babel/generator": "^7.28.5",
"@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-module-transforms": "^7.27.3",
- "@babel/helpers": "^7.27.6",
- "@babel/parser": "^7.28.0",
+ "@babel/helper-module-transforms": "^7.28.3",
+ "@babel/helpers": "^7.28.4",
+ "@babel/parser": "^7.28.5",
"@babel/template": "^7.27.2",
- "@babel/traverse": "^7.28.0",
- "@babel/types": "^7.28.0",
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5",
+ "@jridgewell/remapping": "^2.3.5",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -107,14 +94,14 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz",
- "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz",
+ "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/parser": "^7.28.0",
- "@babel/types": "^7.28.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/types": "^7.28.5",
"@jridgewell/gen-mapping": "^0.3.12",
"@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
@@ -154,18 +141,18 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz",
- "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz",
+ "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-member-expression-to-functions": "^7.27.1",
+ "@babel/helper-annotate-as-pure": "^7.27.3",
+ "@babel/helper-member-expression-to-functions": "^7.28.5",
"@babel/helper-optimise-call-expression": "^7.27.1",
"@babel/helper-replace-supers": "^7.27.1",
"@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/traverse": "^7.27.1",
+ "@babel/traverse": "^7.28.5",
"semver": "^6.3.1"
},
"engines": {
@@ -221,14 +208,14 @@
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
- "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz",
+ "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
+ "@babel/traverse": "^7.28.5",
+ "@babel/types": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -249,15 +236,15 @@
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
- "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+ "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
"@babel/helper-validator-identifier": "^7.27.1",
- "@babel/traverse": "^7.27.3"
+ "@babel/traverse": "^7.28.3"
},
"engines": {
"node": ">=6.9.0"
@@ -350,9 +337,9 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
- "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -385,27 +372,27 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.28.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.2.tgz",
- "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
+ "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/template": "^7.27.2",
- "@babel/types": "^7.28.2"
+ "@babel/types": "^7.28.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz",
- "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+ "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.28.0"
+ "@babel/types": "^7.28.5"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -415,14 +402,14 @@
}
},
"node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz",
- "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz",
+ "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -482,14 +469,14 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz",
- "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==",
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz",
+ "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/traverse": "^7.28.3"
},
"engines": {
"node": ">=6.9.0"
@@ -627,9 +614,9 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz",
- "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz",
+ "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -660,13 +647,13 @@
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz",
- "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==",
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz",
+ "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.27.1",
+ "@babel/helper-create-class-features-plugin": "^7.28.3",
"@babel/helper-plugin-utils": "^7.27.1"
},
"engines": {
@@ -677,9 +664,9 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.0.tgz",
- "integrity": "sha512-IjM1IoJNw72AZFlj33Cu8X0q2XK/6AaVC3jQu+cgQ5lThWD5ajnuUAml80dqRmOhmPkTH8uAwnpMu9Rvj0LTRA==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz",
+ "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -688,7 +675,7 @@
"@babel/helper-globals": "^7.28.0",
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/helper-replace-supers": "^7.27.1",
- "@babel/traverse": "^7.28.0"
+ "@babel/traverse": "^7.28.4"
},
"engines": {
"node": ">=6.9.0"
@@ -715,14 +702,14 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz",
- "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz",
+ "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.0"
+ "@babel/traverse": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -815,9 +802,9 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
- "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz",
+ "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -914,9 +901,9 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
- "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz",
+ "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -980,16 +967,16 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz",
- "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz",
+ "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
+ "@babel/helper-module-transforms": "^7.28.3",
"@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1",
- "@babel/traverse": "^7.27.1"
+ "@babel/helper-validator-identifier": "^7.28.5",
+ "@babel/traverse": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1081,9 +1068,9 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz",
- "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz",
+ "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1091,7 +1078,7 @@
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/plugin-transform-destructuring": "^7.28.0",
"@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/traverse": "^7.28.0"
+ "@babel/traverse": "^7.28.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1134,9 +1121,9 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz",
+ "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1218,9 +1205,9 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.28.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.1.tgz",
- "integrity": "sha512-P0QiV/taaa3kXpLY+sXla5zec4E+4t4Aqc9ggHlfZ7a2cp8/x/Gv08jfwEtn9gnnYIMvHx6aoOZ8XJL8eU71Dg==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz",
+ "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1267,9 +1254,9 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.0.tgz",
- "integrity": "sha512-dGopk9nZrtCs2+nfIem25UuHyt5moSJamArzIoh9/vezUQPmYDOzjaHDCkAzuGJibCIkPup8rMT2+wYB6S73cA==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz",
+ "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1436,21 +1423,21 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.0.tgz",
- "integrity": "sha512-VmaxeGOwuDqzLl5JUkIRM1X2Qu2uKGxHEQWh+cvvbl7JuJRgKGJSfsEF/bUaxFhJl/XAyxBe7q7qSuTbKFuCyg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz",
+ "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.28.0",
+ "@babel/compat-data": "^7.28.5",
"@babel/helper-compilation-targets": "^7.27.2",
"@babel/helper-plugin-utils": "^7.27.1",
"@babel/helper-validator-option": "^7.27.1",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
"@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.27.1",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
"@babel/plugin-syntax-import-assertions": "^7.27.1",
"@babel/plugin-syntax-import-attributes": "^7.27.1",
@@ -1459,42 +1446,42 @@
"@babel/plugin-transform-async-generator-functions": "^7.28.0",
"@babel/plugin-transform-async-to-generator": "^7.27.1",
"@babel/plugin-transform-block-scoped-functions": "^7.27.1",
- "@babel/plugin-transform-block-scoping": "^7.28.0",
+ "@babel/plugin-transform-block-scoping": "^7.28.5",
"@babel/plugin-transform-class-properties": "^7.27.1",
- "@babel/plugin-transform-class-static-block": "^7.27.1",
- "@babel/plugin-transform-classes": "^7.28.0",
+ "@babel/plugin-transform-class-static-block": "^7.28.3",
+ "@babel/plugin-transform-classes": "^7.28.4",
"@babel/plugin-transform-computed-properties": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.0",
+ "@babel/plugin-transform-destructuring": "^7.28.5",
"@babel/plugin-transform-dotall-regex": "^7.27.1",
"@babel/plugin-transform-duplicate-keys": "^7.27.1",
"@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
"@babel/plugin-transform-dynamic-import": "^7.27.1",
"@babel/plugin-transform-explicit-resource-management": "^7.28.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
+ "@babel/plugin-transform-exponentiation-operator": "^7.28.5",
"@babel/plugin-transform-export-namespace-from": "^7.27.1",
"@babel/plugin-transform-for-of": "^7.27.1",
"@babel/plugin-transform-function-name": "^7.27.1",
"@babel/plugin-transform-json-strings": "^7.27.1",
"@babel/plugin-transform-literals": "^7.27.1",
- "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.28.5",
"@babel/plugin-transform-member-expression-literals": "^7.27.1",
"@babel/plugin-transform-modules-amd": "^7.27.1",
"@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-modules-systemjs": "^7.27.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.28.5",
"@babel/plugin-transform-modules-umd": "^7.27.1",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
"@babel/plugin-transform-new-target": "^7.27.1",
"@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
"@babel/plugin-transform-numeric-separator": "^7.27.1",
- "@babel/plugin-transform-object-rest-spread": "^7.28.0",
+ "@babel/plugin-transform-object-rest-spread": "^7.28.4",
"@babel/plugin-transform-object-super": "^7.27.1",
"@babel/plugin-transform-optional-catch-binding": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.27.1",
+ "@babel/plugin-transform-optional-chaining": "^7.28.5",
"@babel/plugin-transform-parameters": "^7.27.7",
"@babel/plugin-transform-private-methods": "^7.27.1",
"@babel/plugin-transform-private-property-in-object": "^7.27.1",
"@babel/plugin-transform-property-literals": "^7.27.1",
- "@babel/plugin-transform-regenerator": "^7.28.0",
+ "@babel/plugin-transform-regenerator": "^7.28.4",
"@babel/plugin-transform-regexp-modifiers": "^7.27.1",
"@babel/plugin-transform-reserved-words": "^7.27.1",
"@babel/plugin-transform-shorthand-properties": "^7.27.1",
@@ -1535,9 +1522,9 @@
}
},
"node_modules/@babel/register": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.27.1.tgz",
- "integrity": "sha512-K13lQpoV54LATKkzBpBAEu1GGSIRzxR9f4IN4V8DCDgiUMo2UDGagEZr3lPeVNJPLkWUi5JE4hCHKneVTwQlYQ==",
+ "version": "7.28.3",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.28.3.tgz",
+ "integrity": "sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1555,9 +1542,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.28.2",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz",
- "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==",
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1580,18 +1567,18 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz",
- "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+ "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.0",
+ "@babel/generator": "^7.28.5",
"@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.0",
+ "@babel/parser": "^7.28.5",
"@babel/template": "^7.27.2",
- "@babel/types": "^7.28.0",
+ "@babel/types": "^7.28.5",
"debug": "^4.3.1"
},
"engines": {
@@ -1599,14 +1586,14 @@
}
},
"node_modules/@babel/types": {
- "version": "7.28.2",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
- "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.27.1"
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
@@ -2792,6 +2779,17 @@
"@jridgewell/trace-mapping": "^0.3.24"
}
},
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
@@ -2939,19 +2937,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@sindresorhus/is": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz",
- "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/is?sponsor=1"
- }
- },
"node_modules/@sindresorhus/merge-streams": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
@@ -2965,19 +2950,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@szmarczak/http-timer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
- "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "defer-to-connect": "^2.0.1"
- },
- "engines": {
- "node": ">=14.16"
- }
- },
"node_modules/@tootallnate/quickjs-emscripten": {
"version": "0.23.0",
"resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
@@ -2985,13 +2957,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/http-cache-semantics": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
- "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/istanbul-lib-coverage": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
@@ -3139,19 +3104,19 @@
}
},
"node_modules/@wdio/cli": {
- "version": "9.18.4",
- "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.18.4.tgz",
- "integrity": "sha512-nSCMxko+g91KvUhIvUBp3ULnCDTBD8D5ma7LbPBDr7j72mQyXlQoNamKRCNsNVaFEXA/FtCmPXc1m/ynQDgeaA==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.20.0.tgz",
+ "integrity": "sha512-dGkZFp09aIyoN6HlJah7zJApG/FzN0O/HaTfTkWrOM5GBli9th/9VIfbsT3vx4I9mBdETiYPmgfl4LqDP2p0VQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@vitest/snapshot": "^2.1.1",
- "@wdio/config": "9.18.0",
+ "@wdio/config": "9.20.0",
"@wdio/globals": "9.17.0",
"@wdio/logger": "9.18.0",
"@wdio/protocols": "9.16.2",
- "@wdio/types": "9.16.2",
- "@wdio/utils": "9.18.0",
+ "@wdio/types": "9.20.0",
+ "@wdio/utils": "9.20.0",
"async-exit-hook": "^2.0.1",
"chalk": "^5.4.1",
"chokidar": "^4.0.0",
@@ -3163,7 +3128,7 @@
"lodash.union": "^4.6.0",
"read-pkg-up": "^10.0.0",
"tsx": "^4.7.2",
- "webdriverio": "9.18.4",
+ "webdriverio": "9.20.0",
"yargs": "^17.7.2"
},
"bin": {
@@ -3187,23 +3152,52 @@
}
},
"node_modules/@wdio/config": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.18.0.tgz",
- "integrity": "sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.20.0.tgz",
+ "integrity": "sha512-ggwd3EMsVj/LTcbYw2h+hma+/7fQ1cTXMuy9B5WTkLjDlOtbLjsqs9QLt4BLIo1cdsxvAw/UVpRVUuYy7rTmtQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@wdio/logger": "9.18.0",
- "@wdio/types": "9.16.2",
- "@wdio/utils": "9.18.0",
+ "@wdio/types": "9.20.0",
+ "@wdio/utils": "9.20.0",
"deepmerge-ts": "^7.0.3",
"glob": "^10.2.2",
- "import-meta-resolve": "^4.0.0"
+ "import-meta-resolve": "^4.0.0",
+ "jiti": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=18.20.0"
+ }
+ },
+ "node_modules/@wdio/dot-reporter": {
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/dot-reporter/-/dot-reporter-9.20.0.tgz",
+ "integrity": "sha512-lRhihDQ56dApJcKOIEkVHThl8t2e5h7f3FW3JVmMLcGgbbkkLgXqVWPpbEGJcLld3wL4CipAPojVE/YEWp80hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@wdio/reporter": "9.20.0",
+ "@wdio/types": "9.20.0",
+ "chalk": "^5.0.1"
},
"engines": {
"node": ">=18.20.0"
}
},
+ "node_modules/@wdio/dot-reporter/node_modules/chalk": {
+ "version": "5.6.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+ "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
"node_modules/@wdio/globals": {
"version": "9.17.0",
"resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.17.0.tgz",
@@ -3228,84 +3222,27 @@
}
},
"node_modules/@wdio/local-runner": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-8.45.0.tgz",
- "integrity": "sha512-KT8vzsNPcdo4r0JQYfUMm+tkU2o3+Sa5u7hkENyAbxKXhgCDrCdtokaPDwAwqUlhwrw89AEVVnwhHo3VS8R55w==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-9.20.0.tgz",
+ "integrity": "sha512-Q2zuSlWVf/GEuzV1c5xGHSH8Y/l9GXZQBZgXeNLp9unVMP4dqQToHgadMihW+8owdva7LVMjoGa2dxcdE6m8HQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/node": "^22.2.0",
- "@wdio/logger": "8.38.0",
- "@wdio/repl": "8.40.3",
- "@wdio/runner": "8.45.0",
- "@wdio/types": "8.41.0",
- "async-exit-hook": "^2.0.1",
+ "@types/node": "^20.1.0",
+ "@wdio/logger": "9.18.0",
+ "@wdio/repl": "9.16.2",
+ "@wdio/runner": "9.20.0",
+ "@wdio/types": "9.20.0",
+ "@wdio/xvfb": "9.20.0",
+ "exit-hook": "^4.0.0",
+ "expect-webdriverio": "^5.3.4",
"split2": "^4.1.0",
"stream-buffers": "^3.0.2"
},
"engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/local-runner/node_modules/@types/node": {
- "version": "22.18.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.6.tgz",
- "integrity": "sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.21.0"
- }
- },
- "node_modules/@wdio/local-runner/node_modules/@wdio/logger": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.38.0.tgz",
- "integrity": "sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^5.1.2",
- "loglevel": "^1.6.0",
- "loglevel-plugin-prefix": "^0.8.4",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/local-runner/node_modules/@wdio/types": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.41.0.tgz",
- "integrity": "sha512-t4NaNTvJZci3Xv/yUZPH4eTL0hxrVTf5wdwNnYIBrzMnlRDbNefjQ0P7FM7ZjQCLaH92AEH6t/XanUId7Webug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^22.2.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/local-runner/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">=18.20.0"
}
},
- "node_modules/@wdio/local-runner/node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@wdio/logger": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-9.18.0.tgz",
@@ -3338,17 +3275,17 @@
}
},
"node_modules/@wdio/mocha-framework": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-9.18.0.tgz",
- "integrity": "sha512-foycDp9DFpW1z4+GJMPitn69V7CJ8FK86Z1C/6JHJlvGfNpz5Kpfn22NYX6+ph1mpW4bvK2BeWCNMm1EgOl4mw==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-9.20.0.tgz",
+ "integrity": "sha512-kqLaGJ2okdNyOjBsTJcmZ9fvl2nrcdbgaXHk9V1znhAzuHiTEPicaIRPG5T0Itb/vOKb72rp0BdisuJ/PBfs7g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/mocha": "^10.0.6",
"@types/node": "^20.11.28",
"@wdio/logger": "9.18.0",
- "@wdio/types": "9.16.2",
- "@wdio/utils": "9.18.0",
+ "@wdio/types": "9.20.0",
+ "@wdio/utils": "9.20.0",
"mocha": "^10.3.0"
},
"engines": {
@@ -3363,45 +3300,28 @@
"license": "MIT"
},
"node_modules/@wdio/repl": {
- "version": "8.40.3",
- "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-8.40.3.tgz",
- "integrity": "sha512-mWEiBbaC7CgxvSd2/ozpbZWebnRIc8KRu/J81Hlw/txUWio27S7IpXBlZGVvhEsNzq0+cuxB/8gDkkXvMPbesw==",
+ "version": "9.16.2",
+ "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-9.16.2.tgz",
+ "integrity": "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/node": "^22.2.0"
+ "@types/node": "^20.1.0"
},
"engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/repl/node_modules/@types/node": {
- "version": "22.18.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.6.tgz",
- "integrity": "sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.21.0"
+ "node": ">=18.20.0"
}
},
- "node_modules/@wdio/repl/node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@wdio/reporter": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-9.18.0.tgz",
- "integrity": "sha512-AaGfyOkypHjCO2Igo/36NloNYi2Mq+yHY80Z6OlM2MjTwUC/upieKzn4H7qPAeOtxCgbLgcsaDuUXqH36wsM2w==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-9.20.0.tgz",
+ "integrity": "sha512-HjKJzm8o0MCcnwGVGprzaCAyau0OB8mWHwH1ZI/ka+z1nmVBr2tsr7H53SdHsGIhAg/XuZObobqdzeVF63ApeA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "^20.1.0",
"@wdio/logger": "9.18.0",
- "@wdio/types": "9.16.2",
+ "@wdio/types": "9.20.0",
"diff": "^8.0.2",
"object-inspect": "^1.12.0"
},
@@ -3410,1000 +3330,149 @@
}
},
"node_modules/@wdio/runner": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-8.45.0.tgz",
- "integrity": "sha512-AGiatfrDk4aO8uqHEJjJiwOE8IgNjTb/OIWcQPjt/LgFgw51+/4bhl9amhnL9lSOT6rli6emqqWTTnnLxN72EQ==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-9.20.0.tgz",
+ "integrity": "sha512-z6CFANs5F02ww5mDTF1WUc1DA2mqJiCPKGr+xNXhpd3YH+537aFSsjww/S5SO4gFlAwf0cQiQZTKWUY3uJUGJQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/node": "^22.2.0",
- "@wdio/config": "8.45.0",
- "@wdio/globals": "8.45.0",
- "@wdio/logger": "8.38.0",
- "@wdio/types": "8.41.0",
- "@wdio/utils": "8.45.0",
- "deepmerge-ts": "^5.1.0",
- "expect-webdriverio": "^4.12.0",
- "gaze": "^1.1.3",
- "webdriver": "8.45.0",
- "webdriverio": "8.45.0"
+ "@types/node": "^20.11.28",
+ "@wdio/config": "9.20.0",
+ "@wdio/dot-reporter": "9.20.0",
+ "@wdio/globals": "9.17.0",
+ "@wdio/logger": "9.18.0",
+ "@wdio/types": "9.20.0",
+ "@wdio/utils": "9.20.0",
+ "deepmerge-ts": "^7.0.3",
+ "webdriver": "9.20.0",
+ "webdriverio": "9.20.0"
},
"engines": {
- "node": "^16.13 || >=18"
+ "node": ">=18.20.0"
+ },
+ "peerDependencies": {
+ "expect-webdriverio": "^5.3.4",
+ "webdriverio": "^9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "expect-webdriverio": {
+ "optional": false
+ },
+ "webdriverio": {
+ "optional": false
+ }
}
},
- "node_modules/@wdio/runner/node_modules/@jest/expect-utils": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
- "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+ "node_modules/@wdio/spec-reporter": {
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-9.20.0.tgz",
+ "integrity": "sha512-YHj3kF86RoOVVR+k3eb+e/Fki6Mq1FIrJQ380Cz5SSWbIc9gL8HXG3ydReldY6/80KLFOuHn9ZHvDHrCIXRjiw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "jest-get-type": "^29.6.3"
+ "@wdio/reporter": "9.20.0",
+ "@wdio/types": "9.20.0",
+ "chalk": "^5.1.2",
+ "easy-table": "^1.2.0",
+ "pretty-ms": "^9.0.0"
},
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ "node": ">=18.20.0"
}
},
- "node_modules/@wdio/runner/node_modules/@jest/schemas": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
- "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "node_modules/@wdio/spec-reporter/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@sinclair/typebox": "^0.27.8"
- },
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/@wdio/runner/node_modules/@jest/types": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
- "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "node_modules/@wdio/types": {
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.20.0.tgz",
+ "integrity": "sha512-zMmAtse2UMCSOW76mvK3OejauAdcFGuKopNRH7crI0gwKTZtvV89yXWRziz9cVXpFgfmJCjf9edxKFWdhuF5yw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/schemas": "^29.6.3",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^17.0.8",
- "chalk": "^4.0.0"
+ "@types/node": "^20.1.0"
},
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ "node": ">=18.20.0"
}
},
- "node_modules/@wdio/runner/node_modules/@jest/types/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "node_modules/@wdio/utils": {
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.20.0.tgz",
+ "integrity": "sha512-T1ze005kncUTocYImSBQc/FAVcOwP/vOU4MDJFgzz/RTcps600qcKX98sVdWM5/ukXCVkjOufWteDHIbX5/tEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "color-convert": "^2.0.1"
+ "@puppeteer/browsers": "^2.2.0",
+ "@wdio/logger": "9.18.0",
+ "@wdio/types": "9.20.0",
+ "decamelize": "^6.0.0",
+ "deepmerge-ts": "^7.0.3",
+ "edgedriver": "^6.1.2",
+ "geckodriver": "^5.0.0",
+ "get-port": "^7.0.0",
+ "import-meta-resolve": "^4.0.0",
+ "locate-app": "^2.2.24",
+ "mitt": "^3.0.1",
+ "safaridriver": "^1.0.0",
+ "split2": "^4.2.0",
+ "wait-port": "^1.1.0"
},
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": ">=18.20.0"
}
},
- "node_modules/@wdio/runner/node_modules/@jest/types/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "node_modules/@wdio/xvfb": {
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/@wdio/xvfb/-/xvfb-9.20.0.tgz",
+ "integrity": "sha512-shllZH9CsLiZqTXkqBTJrwi6k/ajBE7/78fQgvafMUIQU1Hpb2RdsmydKfPFZ5NDoA+LNm67PD2cPkvkXy4pSw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "@wdio/logger": "9.18.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">=18"
}
},
- "node_modules/@wdio/runner/node_modules/@puppeteer/browsers": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz",
- "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==",
+ "node_modules/@zip.js/zip.js": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.2.tgz",
+ "integrity": "sha512-PI6UdgpSeVoGvzguKHmy2bwOqI3UYkntLZOCpyJSKIi7234c5aJmQYkJB/P4P2YUJkqhbqvu7iM2/0eJZ178nA==",
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.1",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.2"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
+ "license": "BSD-3-Clause",
"engines": {
- "node": ">=16.3.0"
+ "bun": ">=0.7.0",
+ "deno": ">=1.0.0",
+ "node": ">=16.5.0"
}
},
- "node_modules/@wdio/runner/node_modules/@sinclair/typebox": {
- "version": "0.27.8",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
- "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@wdio/runner/node_modules/@types/node": {
- "version": "22.18.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.6.tgz",
- "integrity": "sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==",
+ "node_modules/abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "undici-types": "~6.21.0"
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
}
},
- "node_modules/@wdio/runner/node_modules/@wdio/config": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.45.0.tgz",
- "integrity": "sha512-rxnTEe7UKFSGMWMHaGUtrGoFOYqqw2t8UjtidDAyJVHUUkAhKGPbk88qpq6tON4mwaI1yuMiR41qci+ZaAmf4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@wdio/logger": "8.38.0",
- "@wdio/types": "8.41.0",
- "@wdio/utils": "8.45.0",
- "decamelize": "^6.0.0",
- "deepmerge-ts": "^5.0.0",
- "glob": "^10.2.2",
- "import-meta-resolve": "^4.0.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/runner/node_modules/@wdio/globals": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-8.45.0.tgz",
- "integrity": "sha512-T5DOh4pqqItZLwG+xIwvsHtRW5ttVu1oia++vmY6BN2Eq4P1LxdxwJOngoY+wWVX+jD917ioD9uq+bfYvo7XAg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^16.13 || >=18"
- },
- "optionalDependencies": {
- "expect-webdriverio": "^4.11.2",
- "webdriverio": "8.45.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/@wdio/logger": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.38.0.tgz",
- "integrity": "sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^5.1.2",
- "loglevel": "^1.6.0",
- "loglevel-plugin-prefix": "^0.8.4",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/runner/node_modules/@wdio/protocols": {
- "version": "8.44.0",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.44.0.tgz",
- "integrity": "sha512-Do+AW3xuDUHWkrX++LeMBSrX2yRILlDqunRHPMv4adGFEA45m7r4WP8wGCDb+chrHGhXq5TwB9Ne4J7x1dHGng==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@wdio/runner/node_modules/@wdio/types": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.41.0.tgz",
- "integrity": "sha512-t4NaNTvJZci3Xv/yUZPH4eTL0hxrVTf5wdwNnYIBrzMnlRDbNefjQ0P7FM7ZjQCLaH92AEH6t/XanUId7Webug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^22.2.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/runner/node_modules/@wdio/utils": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.45.0.tgz",
- "integrity": "sha512-jLJ8eafbo3VrKE3fxumcWh/oiYq77MR+JSyIarGipZpxxMYUWhleba/Pqphc1J8LkDg/WRRVUdvOManP6BLAoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@puppeteer/browsers": "^1.6.0",
- "@wdio/logger": "8.38.0",
- "@wdio/types": "8.41.0",
- "decamelize": "^6.0.0",
- "deepmerge-ts": "^5.1.0",
- "edgedriver": "^5.5.0",
- "geckodriver": "~4.2.0",
- "get-port": "^7.0.0",
- "import-meta-resolve": "^4.0.0",
- "locate-app": "^2.1.0",
- "safaridriver": "^0.1.0",
- "split2": "^4.2.0",
- "wait-port": "^1.0.4"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/@wdio/runner/node_modules/ansi-styles": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
- "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/ci-info": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
- "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@wdio/runner/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/runner/node_modules/deepmerge-ts": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-5.1.0.tgz",
- "integrity": "sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/expect": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
- "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/expect-utils": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "jest-matcher-utils": "^29.7.0",
- "jest-message-util": "^29.7.0",
- "jest-util": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/expect-webdriverio": {
- "version": "4.15.4",
- "resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-4.15.4.tgz",
- "integrity": "sha512-Op1xZoevlv1pohCq7g2Og5Gr3xP2NhY7MQueOApmopVxgweoJ/BqJxyvMNP0A//QsMg8v0WsN/1j81Sx2er9Wg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/snapshot": "^2.0.3",
- "expect": "^29.7.0",
- "jest-matcher-utils": "^29.7.0",
- "lodash.isequal": "^4.5.0"
- },
- "engines": {
- "node": ">=16 || >=18 || >=20"
- },
- "optionalDependencies": {
- "@wdio/globals": "^8.29.3",
- "@wdio/logger": "^8.28.0",
- "webdriverio": "^8.29.3"
- }
- },
- "node_modules/@wdio/runner/node_modules/geckodriver": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-4.2.1.tgz",
- "integrity": "sha512-4m/CRk0OI8MaANRuFIahvOxYTSjlNAO2p9JmE14zxueknq6cdtB5M9UGRQ8R9aMV0bLGNVHHDnDXmoXdOwJfWg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MPL-2.0",
- "dependencies": {
- "@wdio/logger": "^8.11.0",
- "decamelize": "^6.0.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.1",
- "node-fetch": "^3.3.1",
- "tar-fs": "^3.0.4",
- "unzipper": "^0.10.14",
- "which": "^4.0.0"
- },
- "bin": {
- "geckodriver": "bin/geckodriver.js"
- },
- "engines": {
- "node": "^16.13 || >=18 || >=20"
- }
- },
- "node_modules/@wdio/runner/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-diff": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
- "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "diff-sequences": "^29.6.3",
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-diff/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-diff/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-matcher-utils": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
- "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.0.0",
- "jest-diff": "^29.7.0",
- "jest-get-type": "^29.6.3",
- "pretty-format": "^29.7.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-matcher-utils/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-matcher-utils/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-message-util": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
- "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.12.13",
- "@jest/types": "^29.6.3",
- "@types/stack-utils": "^2.0.0",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.9",
- "micromatch": "^4.0.4",
- "pretty-format": "^29.7.0",
- "slash": "^3.0.0",
- "stack-utils": "^2.0.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-message-util/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-message-util/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-util": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
- "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^29.6.3",
- "@types/node": "*",
- "chalk": "^4.0.0",
- "ci-info": "^3.2.0",
- "graceful-fs": "^4.2.9",
- "picomatch": "^2.2.3"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-util/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/jest-util/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@wdio/runner/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@wdio/runner/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@wdio/runner/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@wdio/runner/node_modules/pretty-format": {
- "version": "29.7.0",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
- "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/schemas": "^29.6.3",
- "ansi-styles": "^5.0.0",
- "react-is": "^18.0.0"
- },
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
- "node_modules/@wdio/runner/node_modules/proxy-agent": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz",
- "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "^4.3.4",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.2",
- "lru-cache": "^7.14.1",
- "pac-proxy-agent": "^7.0.1",
- "proxy-from-env": "^1.1.0",
- "socks-proxy-agent": "^8.0.2"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@wdio/runner/node_modules/puppeteer-core": {
- "version": "21.11.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.11.0.tgz",
- "integrity": "sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@puppeteer/browsers": "1.9.1",
- "chromium-bidi": "0.5.8",
- "cross-fetch": "4.0.0",
- "debug": "4.3.4",
- "devtools-protocol": "0.0.1232444",
- "ws": "8.16.0"
- },
- "engines": {
- "node": ">=16.13.2"
- }
- },
- "node_modules/@wdio/runner/node_modules/puppeteer-core/node_modules/chromium-bidi": {
- "version": "0.5.8",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.8.tgz",
- "integrity": "sha512-blqh+1cEQbHBKmok3rVJkBlBxt9beKBgOsxbFgs7UJcoVbbeZ+K7+6liAsjgpc8l1Xd55cQUy14fXZdGSb4zIw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "mitt": "3.0.1",
- "urlpattern-polyfill": "10.0.0"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/@wdio/runner/node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1232444",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1232444.tgz",
- "integrity": "sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true
- },
- "node_modules/@wdio/runner/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@wdio/runner/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
- }
- },
- "node_modules/@wdio/runner/node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@wdio/runner/node_modules/urlpattern-polyfill": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz",
- "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@wdio/runner/node_modules/webdriverio": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-8.45.0.tgz",
- "integrity": "sha512-eLmEVLnBpnLdVr6vgCuNDU6XitPontbSORy7RbCHNykPqjpa2vQL4YigsV7K9YnPspGR1qhCe1uxsjAN5QGhCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^22.2.0",
- "@wdio/config": "8.45.0",
- "@wdio/logger": "8.38.0",
- "@wdio/protocols": "8.44.0",
- "@wdio/repl": "8.40.3",
- "@wdio/types": "8.41.0",
- "@wdio/utils": "8.45.0",
- "archiver": "^7.0.0",
- "aria-query": "^5.0.0",
- "css-shorthand-properties": "^1.1.1",
- "css-value": "^0.0.1",
- "devtools-protocol": "^0.0.1400418",
- "grapheme-splitter": "^1.0.2",
- "import-meta-resolve": "^4.0.0",
- "is-plain-obj": "^4.1.0",
- "jszip": "^3.10.1",
- "lodash.clonedeep": "^4.5.0",
- "lodash.zip": "^4.2.0",
- "minimatch": "^9.0.0",
- "puppeteer-core": "^21.11.0",
- "query-selector-shadow-dom": "^1.0.0",
- "resq": "^1.9.1",
- "rgb2hex": "0.2.5",
- "serialize-error": "^11.0.1",
- "webdriver": "8.45.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- },
- "peerDependencies": {
- "devtools": "^8.14.0"
- },
- "peerDependenciesMeta": {
- "devtools": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/runner/node_modules/ws": {
- "version": "8.16.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
- "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/@wdio/spec-reporter": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-9.18.0.tgz",
- "integrity": "sha512-rLol+LTsJCh2WIpKHrRdIohe7LqYlJJfFVZWSAtcjR7fpkR22lNp4l8DW7i4sVZeKhVfllhnqMOI63b1qRgAjA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@wdio/reporter": "9.18.0",
- "@wdio/types": "9.16.2",
- "chalk": "^5.1.2",
- "easy-table": "^1.2.0",
- "pretty-ms": "^9.0.0"
- },
- "engines": {
- "node": ">=18.20.0"
- }
- },
- "node_modules/@wdio/spec-reporter/node_modules/chalk": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
- "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
- "dev": true,
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/@wdio/types": {
- "version": "9.16.2",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.16.2.tgz",
- "integrity": "sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^20.1.0"
- },
- "engines": {
- "node": ">=18.20.0"
- }
- },
- "node_modules/@wdio/utils": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.18.0.tgz",
- "integrity": "sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@puppeteer/browsers": "^2.2.0",
- "@wdio/logger": "9.18.0",
- "@wdio/types": "9.16.2",
- "decamelize": "^6.0.0",
- "deepmerge-ts": "^7.0.3",
- "edgedriver": "^6.1.2",
- "geckodriver": "^5.0.0",
- "get-port": "^7.0.0",
- "import-meta-resolve": "^4.0.0",
- "locate-app": "^2.2.24",
- "mitt": "^3.0.1",
- "safaridriver": "^1.0.0",
- "split2": "^4.2.0",
- "wait-port": "^1.1.0"
- },
- "engines": {
- "node": ">=18.20.0"
- }
- },
- "node_modules/@wdio/utils/node_modules/edgedriver": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.2.tgz",
- "integrity": "sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "@wdio/logger": "^9.1.3",
- "@zip.js/zip.js": "^2.7.53",
- "decamelize": "^6.0.0",
- "edge-paths": "^3.0.5",
- "fast-xml-parser": "^5.0.8",
- "http-proxy-agent": "^7.0.2",
- "https-proxy-agent": "^7.0.5",
- "node-fetch": "^3.3.2",
- "which": "^5.0.0"
- },
- "bin": {
- "edgedriver": "bin/edgedriver.js"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@wdio/utils/node_modules/fast-xml-parser": {
- "version": "5.2.5",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
- "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "strnum": "^2.1.0"
- },
- "bin": {
- "fxparser": "src/cli/cli.js"
- }
- },
- "node_modules/@wdio/utils/node_modules/safaridriver": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/safaridriver/-/safaridriver-1.0.0.tgz",
- "integrity": "sha512-J92IFbskyo7OYB3Dt4aTdyhag1GlInrfbPCmMteb7aBK7PwlnGz1HI0+oyNN97j7pV9DqUAVoVgkNRMrfY47mQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@wdio/utils/node_modules/strnum": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
- "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT"
- },
- "node_modules/@wdio/utils/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@zip.js/zip.js": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.8.2.tgz",
- "integrity": "sha512-PI6UdgpSeVoGvzguKHmy2bwOqI3UYkntLZOCpyJSKIi7234c5aJmQYkJB/P4P2YUJkqhbqvu7iM2/0eJZ178nA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "bun": ">=0.7.0",
- "deno": ">=1.0.0",
- "node": ">=16.5.0"
- }
- },
- "node_modules/abort-controller": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
- "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "event-target-shim": "^5.0.0"
- },
- "engines": {
- "node": ">=6.5"
- }
- },
- "node_modules/acorn": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz",
- "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==",
+ "node_modules/acorn": {
+ "version": "8.13.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz",
+ "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==",
"dev": true,
"peer": true,
"bin": {
@@ -4931,9 +4000,9 @@
}
},
"node_modules/baseline-browser-mapping": {
- "version": "2.8.6",
- "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.6.tgz",
- "integrity": "sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==",
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.0.tgz",
+ "integrity": "sha512-Mh++g+2LPfzZToywfE1BUzvZbfOY52Nil0rn9H1CPC5DJ7fX+Vir7nToBeoiSbB1zTNeGYbELEvJESujgGrzXw==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -4950,30 +4019,6 @@
"node": ">=10.0.0"
}
},
- "node_modules/big-integer": {
- "version": "1.6.52",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
- "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
- "dev": true,
- "license": "Unlicense",
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/binary": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
- "integrity": "sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffers": "~0.1.1",
- "chainsaw": "~0.1.0"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
@@ -4986,13 +4031,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/bluebird": {
- "version": "3.4.7",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
- "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/bn.js": {
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
@@ -5110,25 +4148,6 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
- "node_modules/buffer-indexof-polyfill": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz",
- "integrity": "sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/buffers": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
- "integrity": "sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==",
- "dev": true,
- "engines": {
- "node": ">=0.2.0"
- }
- },
"node_modules/builtin-modules": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
@@ -5162,48 +4181,6 @@
"node": ">=10"
}
},
- "node_modules/cacheable-lookup": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
- "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- }
- },
- "node_modules/cacheable-request": {
- "version": "10.2.14",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz",
- "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-cache-semantics": "^4.0.2",
- "get-stream": "^6.0.1",
- "http-cache-semantics": "^4.1.1",
- "keyv": "^4.5.3",
- "mimic-response": "^4.0.0",
- "normalize-url": "^8.0.0",
- "responselike": "^3.0.0"
- },
- "engines": {
- "node": ">=14.16"
- }
- },
- "node_modules/cacheable-request/node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/call-bind": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
@@ -5296,19 +4273,6 @@
],
"license": "CC-BY-4.0"
},
- "node_modules/chainsaw": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
- "integrity": "sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==",
- "dev": true,
- "license": "MIT/X11",
- "dependencies": {
- "traverse": ">=0.3.0 <0.4"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -5390,30 +4354,6 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/chromium-bidi": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.6.3.tgz",
- "integrity": "sha512-qXlsCmpCZJAnoTYI83Iu6EdYQpMYdVkCfq08KDh2pmlVqK5t5IA9mGs4/LwCwp4fqisSOMXZxP3HIh8w8aRn0A==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "mitt": "3.0.1",
- "urlpattern-polyfill": "10.0.0",
- "zod": "3.23.8"
- },
- "peerDependencies": {
- "devtools-protocol": "*"
- }
- },
- "node_modules/chromium-bidi/node_modules/urlpattern-polyfill": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.0.0.tgz",
- "integrity": "sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
"node_modules/ci-info": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
@@ -5740,37 +4680,6 @@
"node": ">=10"
}
},
- "node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/cross-fetch/node_modules/node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -5945,35 +4854,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/decompress-response": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-response": "^3.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/decompress-response/node_modules/mimic-response": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/deep-eql": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
@@ -6009,18 +4889,8 @@
"dependencies": {
"clone": "^1.0.2"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/defer-to-connect": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz",
- "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/define-data-property": {
@@ -6072,14 +4942,6 @@
"node": ">= 14"
}
},
- "node_modules/devtools-protocol": {
- "version": "0.0.1400418",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1400418.tgz",
- "integrity": "sha512-U8j75zDOXF8IP3o0Cgb7K4tFA9uUHEOru2Wx64+EUqL4LNOh9dRe1i8WKR1k3mSpjcCe3aIkTDvEwq0YkI4hfw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "peer": true
- },
"node_modules/diff": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz",
@@ -6090,16 +4952,6 @@
"node": ">=0.3.1"
}
},
- "node_modules/diff-sequences": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
- "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -6199,56 +5051,6 @@
"node": ">= 0.4"
}
},
- "node_modules/duplexer2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
- "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "readable-stream": "^2.0.2"
- }
- },
- "node_modules/duplexer2/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/duplexer2/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/duplexer2/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/duplexer2/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@@ -6309,52 +5111,28 @@
}
},
"node_modules/edgedriver": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-5.6.1.tgz",
- "integrity": "sha512-3Ve9cd5ziLByUdigw6zovVeWJjVs8QHVmqOB0sJ0WNeVPcwf4p18GnxMmVvlFmYRloUwf5suNuorea4QzwBIOA==",
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.2.tgz",
+ "integrity": "sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
- "@wdio/logger": "^8.38.0",
- "@zip.js/zip.js": "^2.7.48",
+ "@wdio/logger": "^9.1.3",
+ "@zip.js/zip.js": "^2.7.53",
"decamelize": "^6.0.0",
"edge-paths": "^3.0.5",
- "fast-xml-parser": "^4.4.1",
+ "fast-xml-parser": "^5.0.8",
+ "http-proxy-agent": "^7.0.2",
+ "https-proxy-agent": "^7.0.5",
"node-fetch": "^3.3.2",
- "which": "^4.0.0"
+ "which": "^5.0.0"
},
"bin": {
"edgedriver": "bin/edgedriver.js"
- }
- },
- "node_modules/edgedriver/node_modules/@wdio/logger": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.38.0.tgz",
- "integrity": "sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^5.1.2",
- "loglevel": "^1.6.0",
- "loglevel-plugin-prefix": "^0.8.4",
- "strip-ansi": "^7.1.0"
},
"engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/edgedriver/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">=18.0.0"
}
},
"node_modules/ejs": {
@@ -7392,6 +6170,19 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
+ "node_modules/exit-hook": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-4.0.0.tgz",
+ "integrity": "sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/expect": {
"version": "30.1.2",
"resolved": "https://registry.npmjs.org/expect/-/expect-30.1.2.tgz",
@@ -7550,9 +6341,9 @@
"dev": true
},
"node_modules/fast-xml-parser": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
- "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.1.tgz",
+ "integrity": "sha512-jbNkWiv2Ec1A7wuuxk0br0d0aTMUtQ4IkL+l/i1r9PRf6pLXjDgsBsWwO+UyczmQlnehi4Tbc8/KIvxGQe+I/A==",
"dev": true,
"funding": [
{
@@ -7562,7 +6353,7 @@
],
"license": "MIT",
"dependencies": {
- "strnum": "^1.1.1"
+ "strnum": "^2.1.0"
},
"bin": {
"fxparser": "src/cli/cli.js"
@@ -7776,16 +6567,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/form-data-encoder": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz",
- "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.17"
- }
- },
"node_modules/formdata-polyfill": {
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
@@ -7819,59 +6600,6 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
- "deprecated": "This package is no longer supported.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
- },
- "engines": {
- "node": ">=0.6"
- }
- },
- "node_modules/fstream/node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/fstream/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
@@ -7912,19 +6640,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "globule": "^1.0.0"
- },
- "engines": {
- "node": ">= 4.0.0"
- }
- },
"node_modules/geckodriver": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-5.0.0.tgz",
@@ -7949,22 +6664,6 @@
"node": ">=18.0.0"
}
},
- "node_modules/geckodriver/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@@ -8108,9 +6807,9 @@
}
},
"node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -8182,56 +6881,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/globule": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz",
- "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "glob": "~7.1.1",
- "lodash": "^4.17.21",
- "minimatch": "~3.0.2"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/globule/node_modules/glob": {
- "version": "7.1.7",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
- "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/globule/node_modules/minimatch": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
- "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -8245,45 +6894,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/got": {
- "version": "12.6.1",
- "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz",
- "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sindresorhus/is": "^5.2.0",
- "@szmarczak/http-timer": "^5.0.1",
- "cacheable-lookup": "^7.0.0",
- "cacheable-request": "^10.2.8",
- "decompress-response": "^6.0.0",
- "form-data-encoder": "^2.1.2",
- "get-stream": "^6.0.1",
- "http2-wrapper": "^2.1.10",
- "lowercase-keys": "^3.0.0",
- "p-cancelable": "^3.0.0",
- "responselike": "^3.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/got?sponsor=1"
- }
- },
- "node_modules/got/node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/graceful-fs": {
"version": "4.2.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -8464,13 +7074,6 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
- "node_modules/http-cache-semantics": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz",
- "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
"node_modules/http-proxy-agent": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
@@ -8485,20 +7088,6 @@
"node": ">= 14"
}
},
- "node_modules/http2-wrapper": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz",
- "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "quick-lru": "^5.1.1",
- "resolve-alpn": "^1.2.0"
- },
- "engines": {
- "node": ">=10.19.0"
- }
- },
"node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -9316,16 +7905,6 @@
"node": ">=8"
}
},
- "node_modules/jest-get-type": {
- "version": "29.6.3",
- "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
- "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- }
- },
"node_modules/jest-matcher-utils": {
"version": "30.1.2",
"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.1.2.tgz",
@@ -9626,6 +8205,16 @@
"node": ">=8"
}
},
+ "node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -9799,19 +8388,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/ky": {
- "version": "0.33.3",
- "resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz",
- "integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/ky?sponsor=1"
- }
- },
"node_modules/lazystream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
@@ -9898,13 +8474,6 @@
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
}
},
- "node_modules/listenercount": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
- "integrity": "sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==",
- "dev": true,
- "license": "ISC"
- },
"node_modules/livereload": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz",
@@ -10052,14 +8621,6 @@
"integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==",
"dev": true
},
- "node_modules/lodash.isequal": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
- "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
- "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.",
- "dev": true,
- "license": "MIT"
- },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -10208,19 +8769,6 @@
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==",
"dev": true
},
- "node_modules/lowercase-keys": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz",
- "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -10286,19 +8834,6 @@
"node": ">=8.6"
}
},
- "node_modules/mimic-response": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz",
- "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -10343,26 +8878,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/mkdirp": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.6"
- },
- "bin": {
- "mkdirp": "bin/cmd.js"
- }
- },
- "node_modules/mkdirp-classic": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/mocha": {
"version": "10.7.3",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz",
@@ -10751,19 +9266,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/normalize-url": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz",
- "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/npm-run-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
@@ -10951,16 +9453,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/p-cancelable": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz",
- "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12.20"
- }
- },
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -11498,93 +9990,6 @@
"node": ">=6"
}
},
- "node_modules/puppeteer-core": {
- "version": "22.15.0",
- "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.15.0.tgz",
- "integrity": "sha512-cHArnywCiAAVXa3t4GGL2vttNxh7GqXtIYGym99egkNJ3oG//wL9LkvO4WE8W1TJe95t1F1ocu9X4xWaGsOKOA==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "@puppeteer/browsers": "2.3.0",
- "chromium-bidi": "0.6.3",
- "debug": "^4.3.6",
- "devtools-protocol": "0.0.1312386",
- "ws": "^8.18.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/puppeteer-core/node_modules/@puppeteer/browsers": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.3.0.tgz",
- "integrity": "sha512-ioXoq9gPxkss4MYhD+SFaU9p1IHFUX0ILAWFPyjGaBdjLsYAlZw6j1iLA0N/m12uVHLFDfSYNF7EQccjinIMDA==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "debug": "^4.3.5",
- "extract-zip": "^2.0.1",
- "progress": "^2.0.3",
- "proxy-agent": "^6.4.0",
- "semver": "^7.6.3",
- "tar-fs": "^3.0.6",
- "unbzip2-stream": "^1.4.3",
- "yargs": "^17.7.2"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/puppeteer-core/node_modules/devtools-protocol": {
- "version": "0.0.1312386",
- "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1312386.tgz",
- "integrity": "sha512-DPnhUXvmvKT2dFA/j7B+riVLUt9Q6RKJlcppojL5CoRywJJKLDYnRlw0gTFKfgDPHP5E04UoB71SxoJlVZy8FA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true
- },
- "node_modules/puppeteer-core/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/puppeteer-core/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
"node_modules/query-selector-shadow-dom": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/query-selector-shadow-dom/-/query-selector-shadow-dom-1.0.1.tgz",
@@ -11612,19 +10017,6 @@
}
]
},
- "node_modules/quick-lru": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
- "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -11986,13 +10378,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/resolve-alpn": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz",
- "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -12011,22 +10396,6 @@
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
}
},
- "node_modules/responselike": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz",
- "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lowercase-keys": "^3.0.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/resq": {
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/resq/-/resq-1.11.0.tgz",
@@ -12152,11 +10521,14 @@
}
},
"node_modules/safaridriver": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/safaridriver/-/safaridriver-0.1.2.tgz",
- "integrity": "sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/safaridriver/-/safaridriver-1.0.0.tgz",
+ "integrity": "sha512-J92IFbskyo7OYB3Dt4aTdyhag1GlInrfbPCmMteb7aBK7PwlnGz1HI0+oyNN97j7pV9DqUAVoVgkNRMrfY47mQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
},
"node_modules/safe-array-concat": {
"version": "1.1.3",
@@ -12269,29 +10641,16 @@
}
},
"node_modules/serialize-error": {
- "version": "11.0.3",
- "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-11.0.3.tgz",
- "integrity": "sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz",
+ "integrity": "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "type-fest": "^2.12.2"
- },
- "engines": {
- "node": ">=14.16"
+ "type-fest": "^4.31.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/serialize-error/node_modules/type-fest": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
"engines": {
- "node": ">=12.20"
+ "node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -12873,9 +11232,9 @@
}
},
"node_modules/strnum": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
- "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+ "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
"dev": true,
"funding": [
{
@@ -12953,13 +11312,6 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "node_modules/through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/tinyrainbow": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz",
@@ -12981,23 +11333,6 @@
"node": ">=8.0"
}
},
- "node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/traverse": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
- "integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==",
- "dev": true,
- "license": "MIT/X11",
- "engines": {
- "node": "*"
- }
- },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -13185,42 +11520,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/unbzip2-stream": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
- "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer": "^5.2.1",
- "through": "^2.3.8"
- }
- },
- "node_modules/unbzip2-stream/node_modules/buffer": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.3.1",
- "ieee754": "^1.1.13"
- }
- },
"node_modules/undici": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz",
@@ -13272,85 +11571,26 @@
}
},
"node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicorn-magic": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
- "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/unzipper": {
- "version": "0.10.14",
- "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
- "integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "big-integer": "^1.6.17",
- "binary": "~0.3.0",
- "bluebird": "~3.4.1",
- "buffer-indexof-polyfill": "~1.0.0",
- "duplexer2": "~0.1.4",
- "fstream": "^1.0.12",
- "graceful-fs": "^4.2.2",
- "listenercount": "~1.0.1",
- "readable-stream": "~2.3.6",
- "setimmediate": "~1.0.4"
- }
- },
- "node_modules/unzipper/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/unzipper/node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/unzipper/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
},
- "node_modules/unzipper/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "node_modules/unicorn-magic": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
+ "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/update-browserslist-db": {
@@ -13587,261 +11827,38 @@
}
},
"node_modules/webdriver": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-8.45.0.tgz",
- "integrity": "sha512-guPEo1HeZ+4gvdvgMvnFpjTdqQ5SHkE7PKzWqhnDlSl6uhkFyiwSTt+77pgFLvjEPWesr3lpSTkvhyKQ8+Ov+g==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.20.0.tgz",
+ "integrity": "sha512-Kk+AGV1xWLNHVpzUynQJDULMzbcO3IjXo3s0BzfC30OpGxhpaNmoazMQodhtv0Lp242Mb1VYXD89dCb4oAHc4w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/node": "^22.2.0",
+ "@types/node": "^20.1.0",
"@types/ws": "^8.5.3",
- "@wdio/config": "8.45.0",
- "@wdio/logger": "8.38.0",
- "@wdio/protocols": "8.44.0",
- "@wdio/types": "8.41.0",
- "@wdio/utils": "8.45.0",
- "deepmerge-ts": "^5.1.0",
- "got": "^12.6.1",
- "ky": "^0.33.0",
+ "@wdio/config": "9.20.0",
+ "@wdio/logger": "9.18.0",
+ "@wdio/protocols": "9.16.2",
+ "@wdio/types": "9.20.0",
+ "@wdio/utils": "9.20.0",
+ "deepmerge-ts": "^7.0.3",
+ "https-proxy-agent": "^7.0.6",
+ "undici": "^6.21.3",
"ws": "^8.8.0"
},
"engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/webdriver/node_modules/@puppeteer/browsers": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.9.1.tgz",
- "integrity": "sha512-PuvK6xZzGhKPvlx3fpfdM2kYY3P/hB1URtK8wA7XUJ6prn6pp22zvJHu48th0SGcHL9SutbPHrFuQgfXTFobWA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "debug": "4.3.4",
- "extract-zip": "2.0.1",
- "progress": "2.0.3",
- "proxy-agent": "6.3.1",
- "tar-fs": "3.0.4",
- "unbzip2-stream": "1.4.3",
- "yargs": "17.7.2"
- },
- "bin": {
- "browsers": "lib/cjs/main-cli.js"
- },
- "engines": {
- "node": ">=16.3.0"
- }
- },
- "node_modules/webdriver/node_modules/@types/node": {
- "version": "22.18.6",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.6.tgz",
- "integrity": "sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.21.0"
- }
- },
- "node_modules/webdriver/node_modules/@wdio/config": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/config/-/config-8.45.0.tgz",
- "integrity": "sha512-rxnTEe7UKFSGMWMHaGUtrGoFOYqqw2t8UjtidDAyJVHUUkAhKGPbk88qpq6tON4mwaI1yuMiR41qci+ZaAmf4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@wdio/logger": "8.38.0",
- "@wdio/types": "8.41.0",
- "@wdio/utils": "8.45.0",
- "decamelize": "^6.0.0",
- "deepmerge-ts": "^5.0.0",
- "glob": "^10.2.2",
- "import-meta-resolve": "^4.0.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/webdriver/node_modules/@wdio/logger": {
- "version": "8.38.0",
- "resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-8.38.0.tgz",
- "integrity": "sha512-kcHL86RmNbcQP+Gq/vQUGlArfU6IIcbbnNp32rRIraitomZow+iEoc519rdQmSVusDozMS5DZthkgDdxK+vz6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^5.1.2",
- "loglevel": "^1.6.0",
- "loglevel-plugin-prefix": "^0.8.4",
- "strip-ansi": "^7.1.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/webdriver/node_modules/@wdio/protocols": {
- "version": "8.44.0",
- "resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-8.44.0.tgz",
- "integrity": "sha512-Do+AW3xuDUHWkrX++LeMBSrX2yRILlDqunRHPMv4adGFEA45m7r4WP8wGCDb+chrHGhXq5TwB9Ne4J7x1dHGng==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/webdriver/node_modules/@wdio/types": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/@wdio/types/-/types-8.41.0.tgz",
- "integrity": "sha512-t4NaNTvJZci3Xv/yUZPH4eTL0hxrVTf5wdwNnYIBrzMnlRDbNefjQ0P7FM7ZjQCLaH92AEH6t/XanUId7Webug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^22.2.0"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/webdriver/node_modules/@wdio/utils": {
- "version": "8.45.0",
- "resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-8.45.0.tgz",
- "integrity": "sha512-jLJ8eafbo3VrKE3fxumcWh/oiYq77MR+JSyIarGipZpxxMYUWhleba/Pqphc1J8LkDg/WRRVUdvOManP6BLAoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@puppeteer/browsers": "^1.6.0",
- "@wdio/logger": "8.38.0",
- "@wdio/types": "8.41.0",
- "decamelize": "^6.0.0",
- "deepmerge-ts": "^5.1.0",
- "edgedriver": "^5.5.0",
- "geckodriver": "~4.2.0",
- "get-port": "^7.0.0",
- "import-meta-resolve": "^4.0.0",
- "locate-app": "^2.1.0",
- "safaridriver": "^0.1.0",
- "split2": "^4.2.0",
- "wait-port": "^1.0.4"
- },
- "engines": {
- "node": "^16.13 || >=18"
- }
- },
- "node_modules/webdriver/node_modules/chalk": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
- "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.17.0 || ^14.13 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/webdriver/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/webdriver/node_modules/deepmerge-ts": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-5.1.0.tgz",
- "integrity": "sha512-eS8dRJOckyo9maw9Tu5O5RUi/4inFLrnoLkBe3cPfDMx3WZioXtmOew4TXQaxq7Rhl4xjDtR7c6x8nNTxOvbFw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/webdriver/node_modules/geckodriver": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/geckodriver/-/geckodriver-4.2.1.tgz",
- "integrity": "sha512-4m/CRk0OI8MaANRuFIahvOxYTSjlNAO2p9JmE14zxueknq6cdtB5M9UGRQ8R9aMV0bLGNVHHDnDXmoXdOwJfWg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MPL-2.0",
- "dependencies": {
- "@wdio/logger": "^8.11.0",
- "decamelize": "^6.0.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.1",
- "node-fetch": "^3.3.1",
- "tar-fs": "^3.0.4",
- "unzipper": "^0.10.14",
- "which": "^4.0.0"
- },
- "bin": {
- "geckodriver": "bin/geckodriver.js"
- },
- "engines": {
- "node": "^16.13 || >=18 || >=20"
- }
- },
- "node_modules/webdriver/node_modules/lru-cache": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
- "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
+ "node": ">=18.20.0"
}
},
- "node_modules/webdriver/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/webdriver/node_modules/proxy-agent": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.1.tgz",
- "integrity": "sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==",
+ "node_modules/webdriver/node_modules/undici": {
+ "version": "6.22.0",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz",
+ "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "^4.3.4",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.2",
- "lru-cache": "^7.14.1",
- "pac-proxy-agent": "^7.0.1",
- "proxy-from-env": "^1.1.0",
- "socks-proxy-agent": "^8.0.2"
- },
"engines": {
- "node": ">= 14"
- }
- },
- "node_modules/webdriver/node_modules/tar-fs": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
- "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mkdirp-classic": "^0.5.2",
- "pump": "^3.0.0",
- "tar-stream": "^3.1.5"
+ "node": ">=18.17"
}
},
- "node_modules/webdriver/node_modules/undici-types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
- "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/webdriver/node_modules/ws": {
"version": "8.18.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
@@ -13865,21 +11882,21 @@
}
},
"node_modules/webdriverio": {
- "version": "9.18.4",
- "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.18.4.tgz",
- "integrity": "sha512-Q/gghz/Zt7EhTnbDQfLb61WgSwCksXZE60lEzmDXe4fULCH/6Js5IWUsne3W+BRy6nXeVvFscHD/d7S77dbamw==",
+ "version": "9.20.0",
+ "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.20.0.tgz",
+ "integrity": "sha512-cqaXfahTzCFaQLlk++feZaze6tAsW8OSdaVRgmOGJRII1z2A4uh4YGHtusTpqOiZAST7OBPqycOwfh01G/Ktbg==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@types/node": "^20.11.30",
"@types/sinonjs__fake-timers": "^8.1.5",
- "@wdio/config": "9.18.0",
+ "@wdio/config": "9.20.0",
"@wdio/logger": "9.18.0",
"@wdio/protocols": "9.16.2",
"@wdio/repl": "9.16.2",
- "@wdio/types": "9.16.2",
- "@wdio/utils": "9.18.0",
+ "@wdio/types": "9.20.0",
+ "@wdio/utils": "9.20.0",
"archiver": "^7.0.1",
"aria-query": "^5.3.0",
"cheerio": "^1.0.0-rc.12",
@@ -13896,7 +11913,7 @@
"rgb2hex": "0.2.5",
"serialize-error": "^12.0.0",
"urlpattern-polyfill": "^10.0.0",
- "webdriver": "9.18.0"
+ "webdriver": "9.20.0"
},
"engines": {
"node": ">=18.20.0"
@@ -13910,97 +11927,6 @@
}
}
},
- "node_modules/webdriverio/node_modules/@wdio/repl": {
- "version": "9.16.2",
- "resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-9.16.2.tgz",
- "integrity": "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^20.1.0"
- },
- "engines": {
- "node": ">=18.20.0"
- }
- },
- "node_modules/webdriverio/node_modules/serialize-error": {
- "version": "12.0.0",
- "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz",
- "integrity": "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^4.31.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/webdriverio/node_modules/undici": {
- "version": "6.21.3",
- "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz",
- "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.17"
- }
- },
- "node_modules/webdriverio/node_modules/webdriver": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.18.0.tgz",
- "integrity": "sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "^20.1.0",
- "@types/ws": "^8.5.3",
- "@wdio/config": "9.18.0",
- "@wdio/logger": "9.18.0",
- "@wdio/protocols": "9.16.2",
- "@wdio/types": "9.16.2",
- "@wdio/utils": "9.18.0",
- "deepmerge-ts": "^7.0.3",
- "https-proxy-agent": "^7.0.6",
- "undici": "^6.21.3",
- "ws": "^8.8.0"
- },
- "engines": {
- "node": ">=18.20.0"
- }
- },
- "node_modules/webdriverio/node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
"node_modules/whatwg-encoding": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
@@ -14037,21 +11963,10 @@
"node": ">=18"
}
},
- "node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
"node_modules/which": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
- "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
+ "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -14061,7 +11976,7 @@
"node-which": "bin/which.js"
},
"engines": {
- "node": "^16.13.0 || >=18.0.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
"node_modules/which-boxed-primitive": {
@@ -14553,17 +12468,6 @@
"engines": {
"node": ">= 14"
}
- },
- "node_modules/zod": {
- "version": "3.23.8",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz",
- "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
}
}
}
diff --git a/package.json b/package.json
index ea772342e2..0a6e8cbded 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,8 @@
"lint:tests": "prettier --check \"tests/functional/**/*.js\" && eslint \"tests/functional/**/*.js\"",
"lint:test-schemas": "prettier --check \"schemas/test/*/*.json\" && eslint \"schemas/test/**/*.json\"",
"test_functional": "./node_modules/.bin/wdio tests/functional/wdio.conf.js",
+ "test_functional_main": "FUNCTIONAL_MODE=main npm run test_functional",
+ "test_functional_sds": "FUNCTIONAL_MODE=sds npm run test_functional",
"generate_pages": "rm -rf ./tests/functional/generated_pages && poetry run python -m tests.functional.generate_pages schemas/test/en/ ./tests/functional/generated_pages -r '../../base_pages'",
"format": "npm run format:tests && npm run format:test-schemas",
"format:tests": "prettier \"tests/functional/**/*.js\" --write && eslint --fix \"tests/functional/**/*.js\"",
@@ -24,15 +26,15 @@
"wdio": "wdio run ./tests/functional/wdio.conf.js"
},
"devDependencies": {
- "@babel/core": "7.28.0",
- "@babel/plugin-transform-runtime": "7.28.0",
- "@babel/preset-env": "7.28.0",
- "@babel/register": "7.27.1",
- "@babel/runtime": "7.28.2",
- "@wdio/cli": "9.18.4",
- "@wdio/local-runner": "8.45.0",
- "@wdio/mocha-framework": "9.18.0",
- "@wdio/spec-reporter": "9.18.0",
+ "@babel/core": "7.28.5 ",
+ "@babel/plugin-transform-runtime": "7.28.5",
+ "@babel/preset-env": "7.28.5",
+ "@babel/register": "7.28.3",
+ "@babel/runtime": "7.28.4",
+ "@wdio/cli": "9.20.0",
+ "@wdio/local-runner": "9.20.0",
+ "@wdio/mocha-framework": "9.20.0",
+ "@wdio/spec-reporter": "9.20.0",
"eslint": "8.57.1",
"eslint-cli": "1.1.1",
"eslint-config-standard": "17.1.0",
@@ -49,7 +51,7 @@
"prettier": "3.6.2",
"typescript": "5.9.2",
"uuid": "11.1.0",
- "webdriverio": "9.18.4"
+ "webdriverio": "9.20.0"
},
"prettier": {}
}
diff --git a/tests/functional/helpers.js b/tests/functional/helpers.js
index 9200b67e55..16593badab 100644
--- a/tests/functional/helpers.js
+++ b/tests/functional/helpers.js
@@ -67,3 +67,21 @@ export const verifyUrlContains = async (expectedUrlString) => {
export const verifyUrlContainsSyncMode = (expectedUrlString) => {
expect(browser).toHaveUrl(expect.stringContaining(expectedUrlString));
};
+
+export async function openQuestionnaireWithRetry(schema, options, maxRetries = 1) {
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
+ await browser.openQuestionnaire(schema, options);
+
+ const bodyText = await $("body").getText();
+ const isServiceError = bodyText.includes("Sorry, there is a problem with this service");
+
+ if (!isServiceError) {
+ return;
+ }
+
+ if (attempt === maxRetries) {
+ throw new Error(`Service error page after ${maxRetries + 1} attempt(s) for schema="${schema}" with options=${JSON.stringify(options)}`);
+ }
+ await browser.reloadSession();
+ }
+}
diff --git a/tests/functional/spec/checkbox.spec.js b/tests/functional/spec/checkbox.spec.js
index 141ba83afd..1d3f5b7d79 100644
--- a/tests/functional/spec/checkbox.spec.js
+++ b/tests/functional/spec/checkbox.spec.js
@@ -44,7 +44,7 @@ describe('Checkbox with "other" option', () => {
// When
await click(MandatoryCheckboxPage.submit());
// Then
- await expect(await $(MandatoryCheckboxPage.error()).getHTML()).toContain(
+ await expect(await $(MandatoryCheckboxPage.error()).getHTML({ prettify: false })).toContain(
'Select at least one answer to ‘Which pizza toppings would you like?’',
);
});
diff --git a/tests/functional/spec/components/address/address.spec.js b/tests/functional/spec/components/address/address.spec.js
index db27e65147..47fe243642 100644
--- a/tests/functional/spec/components/address/address.spec.js
+++ b/tests/functional/spec/components/address/address.spec.js
@@ -21,7 +21,7 @@ describe("Address Answer Type", () => {
await click(AddressConfirmation.submit());
await verifyUrlContains(SubmitPage.pageName);
await expect(await $(SubmitPage.addressMandatory()).getText()).toBe("Evelyn Street\nApt 7\nBarry\nCF63 4JG");
- await expect(await $(SubmitPage.addressMandatory()).getHTML()).toContain("Evelyn Street
Apt 7
Barry
CF63 4JG");
+ await expect(await $(SubmitPage.addressMandatory()).getHTML({ prettify: false })).toContain("Evelyn Street
Apt 7
Barry
CF63 4JG");
});
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_currency.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_currency.spec.js
index f570d6c5f3..a2c7fa6352 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_currency.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_currency.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Currency With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-currency");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_day_month_year_date.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_day_month_year_date.spec.js
index 5a8869797f..9ae7f16e21 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_day_month_year_date.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_day_month_year_date.spec.js
@@ -5,7 +5,6 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Day Month Year Date With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
await browser.url("/questionnaire/mutually-exclusive-date");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_duration.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_duration.spec.js
index acb887c4cc..8511b4010b 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_duration.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_duration.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Duration With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-duration");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_month_year_date.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_month_year_date.spec.js
index b089da7571..5c54eb6e0d 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_month_year_date.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_month_year_date.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Month Year Date With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-month-year-date");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_day_month_year_date.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_day_month_year_date.spec.js
index 036c53daa5..60030f6af4 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_day_month_year_date.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_day_month_year_date.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Day Month Year Date With Multiple Radio Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive_multiple.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-date");
});
describe("Given the user has entered a value for the non-exclusive month year date answer", () => {
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_textfield.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_textfield.spec.js
index 0ea9f981c9..eedefb9110 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_textfield.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_multiple_textfield.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Textfield With Multiple Radio Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive_multiple.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-textfield");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_number.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_number.spec.js
index a0295cb499..3c1c46e35b 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_number.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_number.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Number With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-number");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_percentage.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_percentage.spec.js
index c12e9413a9..943dbb1743 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_percentage.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_percentage.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Percentage With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-percentage");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textarea.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textarea.spec.js
index 08cb99c00c..85582991b7 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textarea.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textarea.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive TextArea With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-textarea");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textfield.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textfield.spec.js
index cf7c1a44ed..44447a2116 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textfield.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_textfield.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Textfield With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-textfield");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_unit.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_unit.spec.js
index b4e953a77c..768a2cf1b6 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_unit.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_unit.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Unit With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-unit");
});
diff --git a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_year_date.spec.js b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_year_date.spec.js
index 14a7d8f69c..731713f65d 100644
--- a/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_year_date.spec.js
+++ b/tests/functional/spec/components/checkbox/mutually_exclusive/mutually_exclusive_year_date.spec.js
@@ -5,7 +5,7 @@ import { click } from "../../../../helpers";
describe("Component: Mutually Exclusive Year Date With Single Checkbox Override", () => {
beforeEach(async () => {
await browser.openQuestionnaire("test_mutually_exclusive.json");
- await browser.pause(100);
+
await browser.url("/questionnaire/mutually-exclusive-year-date");
});
diff --git a/tests/functional/spec/components/radio/radio.js b/tests/functional/spec/components/radio/radio.js
index 01b1c08b4c..6c5f5ca1f6 100644
--- a/tests/functional/spec/components/radio/radio.js
+++ b/tests/functional/spec/components/radio/radio.js
@@ -50,7 +50,7 @@ describe("Component: Radio", () => {
it("When I have submitted the page without any option, Then the question text is hidden in the error message using a span element", async () => {
await click(RadioMandatoryOverriddenPage.submit());
- await expect(await $(RadioMandatoryOverriddenPage.errorNumber(1)).getHTML()).toContain(
+ await expect(await $(RadioMandatoryOverriddenPage.errorNumber(1)).getHTML({ prettify: false })).toContain(
'Select an answer to ‘What do you prefer for breakfast?’',
);
});
diff --git a/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance.spec.js b/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance.spec.js
index a8d2f523f7..055271141f 100644
--- a/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance.spec.js
+++ b/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance.spec.js
@@ -22,7 +22,7 @@ describe("Last viewed question guidance", () => {
it("When the respondent resumes on the first block of a section, then last question guidance is not shown", async () => {
await $(HouseholdInterstitialPage.saveSignOut()).click();
await browser.openQuestionnaire("test_last_viewed_question_guidance.json", resumableLaunchParams);
- await browser.pause(100);
+
await verifyUrlContains(HouseholdInterstitialPage.url());
await expect(await $(HouseholdInterstitialPage.lastViewedQuestionGuidance()).isExisting()).toBe(false);
});
@@ -31,7 +31,7 @@ describe("Last viewed question guidance", () => {
await click(HouseholdInterstitialPage.submit());
await $(AddressConfirmationPage.saveSignOut()).click();
await browser.openQuestionnaire("test_last_viewed_question_guidance.json", resumableLaunchParams);
- await browser.pause(100);
+
await verifyUrlContains(AddressConfirmationPage.url());
await expect(await $(AddressConfirmationPage.lastViewedQuestionGuidanceLink()).getAttribute("href")).toContain(HouseholdInterstitialPage.url());
await expect(await $(AddressConfirmationPage.lastViewedQuestionGuidance()).isExisting()).toBe(true);
diff --git a/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance_hub.spec.js b/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance_hub.spec.js
index 1d53bf1aa1..0edc0c79c9 100644
--- a/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance_hub.spec.js
+++ b/tests/functional/spec/features/last_viewed_guidance/last_viewed_guidance_hub.spec.js
@@ -28,7 +28,7 @@ describe("Last viewed question guidance", () => {
it("When the respondent saves and resumes from a section which is not started, then last question guidance is not shown", async () => {
await $(WorkInterstitialPage.saveSignOut()).click();
await browser.openQuestionnaire("test_last_viewed_question_guidance_hub.json", resumableLaunchParams);
- await browser.pause(100);
+
await verifyUrlContains(WorkInterstitialPage.url());
await expect(await $(WorkInterstitialPage.lastViewedQuestionGuidance()).isExisting()).toBe(false);
});
diff --git a/tests/functional/spec/features/placeholder/playback_confirmation.spec.js b/tests/functional/spec/features/placeholder/playback_confirmation.spec.js
index fe5017b2df..798d210715 100644
--- a/tests/functional/spec/features/placeholder/playback_confirmation.spec.js
+++ b/tests/functional/spec/features/placeholder/playback_confirmation.spec.js
@@ -10,7 +10,7 @@ describe("Feature: Playback Confirmation", () => {
await $(MandatoryCheckboxPage.ham()).click();
await click(MandatoryCheckboxPage.submit());
- await expect(await $("#confirm-answers-question ul").getHTML()).toContain("Ham");
- await expect(await $("#confirm-answers-question ul").getHTML()).toContain("Cheese");
+ await expect(await $("#confirm-answers-question ul").getHTML({ prettify: false })).toContain("Ham");
+ await expect(await $("#confirm-answers-question ul").getHTML({ prettify: false })).toContain("Cheese");
});
});
diff --git a/tests/functional/spec/features/view_submitted_response/view_submitted_response.spec.js b/tests/functional/spec/features/view_submitted_response/view_submitted_response.spec.js
index ec66ee4280..47803362bb 100644
--- a/tests/functional/spec/features/view_submitted_response/view_submitted_response.spec.js
+++ b/tests/functional/spec/features/view_submitted_response/view_submitted_response.spec.js
@@ -31,7 +31,7 @@ describe("View Submitted Response", () => {
await click(AddressBlockPage.submit());
await click(SubmitPage.submit());
await verifyUrlContains(ThankYouPage.pageName);
- await expect(await $(ThankYouPage.title()).getHTML()).toContain("Thank you for completing the Test");
+ await expect(await $(ThankYouPage.title()).getHTML({ prettify: false })).toContain("Thank you for completing the Test");
await $(ThankYouPage.savePrintAnswersLink()).click();
await verifyUrlContains(ViewSubmittedResponsePage.pageName);
});
@@ -55,7 +55,7 @@ describe("View Submitted Response", () => {
await browser.pause(40000); // Waiting 40 seconds for the timeout to expire (45 minute timeout changed to 35 seconds by overriding VIEW_SUBMITTED_RESPONSE_EXPIRATION_IN_SECONDS for the purpose of the functional test)
await $(ViewSubmittedResponsePage.downloadButton()).click();
await expect(await $(ViewSubmittedResponsePage.informationPanel()).isDisplayed()).toBe(true);
- await expect(await $(ViewSubmittedResponsePage.informationPanel()).getHTML()).toContain(
+ await expect(await $(ViewSubmittedResponsePage.informationPanel()).getHTML({ prettify: false })).toContain(
"For security, you can no longer view or get a copy of your answers",
);
});
@@ -124,7 +124,7 @@ describe("View Submitted Response Summary Page With Repeating Sections", () => {
await click(HubPage.submit());
await verifyUrlContains(ThankYouPage.pageName);
- await expect(await $(ThankYouPage.title()).getHTML()).toContain("Thank you for completing the Test");
+ await expect(await $(ThankYouPage.title()).getHTML({ prettify: false })).toContain("Thank you for completing the Test");
await $(ThankYouPage.savePrintAnswersLink()).click();
await verifyUrlContains(ViewSubmittedResponsePage.pageName);
});
@@ -141,14 +141,14 @@ describe("View Submitted Response Summary Page With Repeating Sections", () => {
await expect(await $(ViewSubmittedResponseRepeatingPage.addressDetailsGroupTitle()).getText()).toBe("Address Details");
await expect(await $(ViewSubmittedResponseRepeatingPage.addressQuestion()).getText()).toBe("What is your address?");
await expect(await $(ViewSubmittedResponseRepeatingPage.addressAnswer()).getText()).toBe("NP10 8XG");
- await expect(await $("body").getHTML()).toContain("Marcus Twin");
+ await expect(await $("body").getHTML({ prettify: false })).toContain("Marcus Twin");
await expect(await $(firstGroup).$$(groupTitle)[0].getText()).toBe("Calculated Summary Group");
await expect(await $(firstGroup).$$(repeatingSectionAnswer)[0].getText()).toBe("40 - calculated summary answer (current section)");
- await expect(await $("body").getHTML()).toContain("How much did Marcus Twin spend on fruit?");
+ await expect(await $("body").getHTML({ prettify: false })).toContain("How much did Marcus Twin spend on fruit?");
await expect(await $(firstGroup).$$(skippableRepeatingSectionAnswer)[0].getText()).toBe("£100");
- await expect(await $("body").getHTML()).toContain("John Doe");
+ await expect(await $("body").getHTML({ prettify: false })).toContain("John Doe");
await expect(await $(secondGroup).$$(groupTitle)[0].getText()).toBe("Calculated Summary Group");
await expect(await $(secondGroup).$$(repeatingSectionAnswer)[0].getText()).toBe("80 - calculated summary answer (current section)");
- await expect(await $("body").getHTML()).not.toContain("How much did John Doe spend on fruit?");
+ await expect(await $("body").getHTML({ prettify: false })).not.toContain("How much did John Doe spend on fruit?");
});
});
diff --git a/tests/functional/spec/hub_and_spoke/hub_and_spoke.spec.js b/tests/functional/spec/hub_and_spoke/hub_and_spoke.spec.js
index 3faab203c9..625c21bd3b 100644
--- a/tests/functional/spec/hub_and_spoke/hub_and_spoke.spec.js
+++ b/tests/functional/spec/hub_and_spoke/hub_and_spoke.spec.js
@@ -35,9 +35,9 @@ describe("Feature: Hub and Spoke", () => {
});
it("When a user utilises a screen reader, The visually hidden text read aloud should be the state and name of each section in the hub", async () => {
- await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML()).toContain("Start section: Employment");
- await expect(await $(HubPage.summaryRowLink("accommodation-section")).getHTML()).toContain("Start section: Accommodation");
- await expect(await $(HubPage.summaryRowLink("household-section")).getHTML()).toContain("Start section: Household residents");
+ await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML({ prettify: false })).toContain("Start section: Employment");
+ await expect(await $(HubPage.summaryRowLink("accommodation-section")).getHTML({ prettify: false })).toContain("Start section: Accommodation");
+ await expect(await $(HubPage.summaryRowLink("household-section")).getHTML({ prettify: false })).toContain("Start section: Household residents");
});
it("When a user views the Hub, any section with show_on_hub set to true should appear", async () => {
@@ -68,9 +68,9 @@ describe("Feature: Hub and Spoke", () => {
await expect(await $(HubPage.summaryRowState("employment-section")).getText()).toBe("Not started");
await expect(await $(HubPage.summaryRowState("accommodation-section")).getText()).toBe("Not started");
await expect(await $(HubPage.summaryRowState("household-section")).getText()).toBe("Not started");
- await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML()).toContain("Start section: Employment");
- await expect(await $(HubPage.summaryRowLink("accommodation-section")).getHTML()).toContain("Start section: Accommodation");
- await expect(await $(HubPage.summaryRowLink("household-section")).getHTML()).toContain("Start section: Household residents");
+ await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML({ prettify: false })).toContain("Start section: Employment");
+ await expect(await $(HubPage.summaryRowLink("accommodation-section")).getHTML({ prettify: false })).toContain("Start section: Accommodation");
+ await expect(await $(HubPage.summaryRowLink("household-section")).getHTML({ prettify: false })).toContain("Start section: Household residents");
});
it("When the user starts a section, Then the first question in the section should be displayed", async () => {
@@ -102,7 +102,7 @@ describe("Feature: Hub and Spoke", () => {
it("When the user returns to the Hub, Then the section should be marked as 'Partially completed'", async () => {
await browser.url(HubPage.url());
await expect(await $(HubPage.summaryRowState("employment-section")).getText()).toBe("Partially completed");
- await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML()).toContain("Continue with section: Employment");
+ await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML({ prettify: false })).toContain("Continue with section: Employment");
});
it("When the user returns to the Hub and restarts the same section, Then they should be redirected to the first incomplete block", async () => {
@@ -135,7 +135,7 @@ describe("Feature: Hub and Spoke", () => {
it("When the user returns to the Hub, Then the section should be marked as 'Completed'", async () => {
await click(EmploymentTypeBlockPage.submit());
await expect(await $(HubPage.summaryRowState("employment-section")).getText()).toBe("Completed");
- await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML()).toContain("View answers: Employment");
+ await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML({ prettify: false })).toContain("View answers: Employment");
});
it("When the user returns to the Hub and clicks the 'View answers' link on the Hub, if this no summary they are returned to the first block", async () => {
@@ -178,7 +178,7 @@ describe("Feature: Hub and Spoke", () => {
await browser.url(HubPage.url());
await verifyUrlPathIs(HubPage.url());
await expect(await $(HubPage.summaryRowState("employment-section")).getText()).toBe("Partially completed");
- await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML()).toContain("Continue with section: Employment");
+ await expect(await $(HubPage.summaryRowLink("employment-section")).getHTML({ prettify: false })).toContain("Continue with section: Employment");
});
});
@@ -303,14 +303,14 @@ describe("Feature: Hub and Spoke", () => {
await $(DoesAnyoneLiveHere.no()).click();
await click(DoesAnyoneLiveHere.submit());
await click(HouseholdSummary.submit());
- await expect(await $(HubPage.summaryRowLink("household-section")).getHTML()).toContain("View answers: Household residents");
+ await expect(await $(HubPage.summaryRowLink("household-section")).getHTML({ prettify: false })).toContain("View answers: Household residents");
});
it("When there are no changes, continue returns directly to the hub", async () => {
await $(HubPage.summaryRowLink("household-section")).click();
await click(HouseholdSummary.submit());
await verifyUrlPathIs(HubPage.url());
- await expect(await $(HubPage.summaryRowLink("household-section")).getHTML()).toContain("View answers: Household residents");
+ await expect(await $(HubPage.summaryRowLink("household-section")).getHTML({ prettify: false })).toContain("View answers: Household residents");
});
it("When there are changes, which would set the section to in_progress it routes accordingly", async () => {
diff --git a/tests/functional/spec/hub_and_spoke/hub_and_spoke_supplementary_data.spec.js b/tests/functional/spec/hub_and_spoke/hub_and_spoke_supplementary_data.spec.js
index 4d0c2e9cb6..0d94b94f6b 100644
--- a/tests/functional/spec/hub_and_spoke/hub_and_spoke_supplementary_data.spec.js
+++ b/tests/functional/spec/hub_and_spoke/hub_and_spoke_supplementary_data.spec.js
@@ -12,8 +12,8 @@ describe("Feature: Hub and Spoke", () => {
beforeEach("Load survey", () => {
const responseId = getRandomString(16);
- browser.openQuestionnaire("test_hub_section_required_with_repeat_supplementary.json.json", {
- version: "v2",
+ browser.openQuestionnaire("test_hub_section_required_with_repeat_supplementary.json", {
+ launchVersion: "v2",
sdsDatasetId: "203b2f9d-c500-8175-98db-86ffcfdccfa3",
responseId,
});
diff --git a/tests/functional/spec/introduction.spec.js b/tests/functional/spec/introduction.spec.js
index b00bef77bd..2e5dccf26b 100644
--- a/tests/functional/spec/introduction.spec.js
+++ b/tests/functional/spec/introduction.spec.js
@@ -7,7 +7,6 @@ describe("Introduction page", () => {
});
it("Given I start a survey, When I view the introduction page, Then I should be able to see introduction information", async () => {
- await browser.openQuestionnaire(introductionSchema);
await expect(await $(IntroductionPage.useOfData()).getText()).toContain("How we use your data");
await expect(await $(IntroductionPage.useOfInformation()).getText()).toContain(
"Data should relate to all sites in England, Scotland and Wales unless otherwise stated.",
@@ -19,13 +18,11 @@ describe("Introduction page", () => {
);
});
it("Given I start a survey, When preview content is set on the introduction page, Then the content headings should be displayed at the correct level", async () => {
- await browser.openQuestionnaire(introductionSchema);
const introQuestionH3Selector = `${IntroductionPage.introQuestion()} h3`;
const h3Exists = await $(introQuestionH3Selector).isExisting();
await expect(h3Exists).toBe(true);
});
it("Given I start a survey with introduction guidance set, When I view the introduction page, Then I should be able to see introduction guidance", async () => {
- await browser.openQuestionnaire(introductionSchema);
await expect(await $(IntroductionPage.guidancePanel(1)).isDisplayed()).toBe(true);
await expect(await $(IntroductionPage.guidancePanel(1)).getText()).toContain("Coronavirus (COVID-19) guidance");
await expect(await $(IntroductionPage.guidancePanel(1)).getText()).toContain(
diff --git a/tests/functional/spec/journeys/hub_and_spoke/hub_and_spoke_custom_content.spec.js b/tests/functional/spec/journeys/hub_and_spoke/hub_and_spoke_custom_content.spec.js
index ad1509d6ef..b148467d53 100644
--- a/tests/functional/spec/journeys/hub_and_spoke/hub_and_spoke_custom_content.spec.js
+++ b/tests/functional/spec/journeys/hub_and_spoke/hub_and_spoke_custom_content.spec.js
@@ -10,7 +10,7 @@ describe("Feature: Hub and Spoke with custom content", () => {
await browser.openQuestionnaire(hubAndSpokeSchema);
await expect(await $(HubPage.heading()).getText()).toBe("Choose another section to complete");
await expect(await $(HubPage.guidance()).isExisting()).toBe(false);
- await expect(await $(HubPage.summaryRowLink("household-section")).getHTML()).toContain("Start section: Household residents");
+ await expect(await $(HubPage.summaryRowLink("household-section")).getHTML({ prettify: false })).toContain("Start section: Household residents");
await expect(await $(HubPage.submit()).getText()).toBe("Continue");
await expect(await $(HubPage.warning()).isExisting()).toBe(false);
});
@@ -23,7 +23,7 @@ describe("Feature: Hub and Spoke with custom content", () => {
await $(HowManyPeopleLiveHere.answer1()).click();
await click(HowManyPeopleLiveHere.submit());
await click(HouseholdSummary.submit());
- await expect(await $(HubPage.summaryRowLink("household-section")).getHTML()).toContain("View answers: Household residents");
+ await expect(await $(HubPage.summaryRowLink("household-section")).getHTML({ prettify: false })).toContain("View answers: Household residents");
await expect(await $(HubPage.heading()).getText()).toBe("Submission title");
await expect(await $(HubPage.guidance()).getText()).toBe("Submission guidance");
await expect(await $(HubPage.submit()).getText()).toBe("Submission button");
diff --git a/tests/functional/spec/launch_with_cir.spec.js b/tests/functional/spec/launch_with_cir.spec.js
index dfc5105055..93ece33492 100644
--- a/tests/functional/spec/launch_with_cir.spec.js
+++ b/tests/functional/spec/launch_with_cir.spec.js
@@ -6,7 +6,7 @@ import ThankYouPage from "../base_pages/thank-you.page";
describe("Launch a survey from the collection instrument registry", () => {
it("Given I retrieve a Collection Instrument, When I Launch, Then I am able to complete the survey as normal", async () => {
await browser.openQuestionnaire(null, {
- version: "v2",
+ launchVersion: "v2",
cirInstrumentId: "fd4a527f-c126-da2d-8ee6-51663a43e416",
});
await verifyUrlContains(NameBlockPage.pageName);
diff --git a/tests/functional/spec/list_collector/list_collector_content.spec.js b/tests/functional/spec/list_collector/list_collector_content.spec.js
index 43c02d3f6d..89a0bdd54c 100644
--- a/tests/functional/spec/list_collector/list_collector_content.spec.js
+++ b/tests/functional/spec/list_collector/list_collector_content.spec.js
@@ -32,7 +32,7 @@ describe("List Collector Section Summary and Summary Items", () => {
await click(HubPage.submit());
await $(ResponsiblePartyQuestionPage.yes()).click();
await click(ResponsiblePartyQuestionPage.submit());
- await expect(await $(ListCollectorContentPage.heading()).getHTML()).toContain("Companies");
+ await expect(await $(ListCollectorContentPage.heading()).getHTML({ prettify: false })).toContain("Companies");
await expect(await $("#main-content > p").getText()).toBe(
"You have previously reported the following companies. Press continue to updated registration and trading information.",
);
diff --git a/tests/functional/spec/list_collector/list_collector_section_summary.spec.js b/tests/functional/spec/list_collector/list_collector_section_summary.spec.js
index c591cc89ff..5ea8c8d2e1 100644
--- a/tests/functional/spec/list_collector/list_collector_section_summary.spec.js
+++ b/tests/functional/spec/list_collector/list_collector_section_summary.spec.js
@@ -34,14 +34,15 @@ describe("List Collector Section Summary and Summary Items", () => {
await expect(await $(companiesListRowItem(1)).$$(".ons-summary__values")[1].getText()).toContain("123");
await expect(await $(companiesListRowItem(1)).$$(".ons-summary__values")[2].getText()).toContain("Yes");
const listItemId = (await listItemIds())[0];
- await expect(await $(companiesListRowItem(1)).$$(".ons-summary__actions")[0].getHTML()).toContain(
+ const row = await $(companiesListRowItem(1));
+ await expect(await row.$(`dd.ons-summary__actions#${listItemId}`).getHTML({ prettify: false })).toContain(
`return_to=section-summary&return_to_answer_id=${listItemId}#company-or-branch-name`,
);
- await expect(await $(companiesListRowItem(1)).$$(".ons-summary__actions")[1].getHTML()).toContain(
- `return_to_answer_id=registration-number-${listItemId}#registration-number`,
+ await expect(await row.$(`dd#registration-number-${listItemId}`).getHTML({ prettify: false })).toContain(
+ `return_to=section-summary&return_to_answer_id=registration-number-${listItemId}#registration-number`,
);
- await expect(await $(companiesListRowItem(1)).$$(".ons-summary__actions")[2].getHTML()).toContain(
- `return_to_answer_id=authorised-insurer-radio-${listItemId}#authorised-insurer-radio`,
+ await expect(await row.$(`dd#authorised-insurer-radio-${listItemId}`).getHTML({ prettify: false })).toContain(
+ `return_to=section-summary&return_to_answer_id=authorised-insurer-radio-${listItemId}#authorised-insurer-radio`,
);
});
it("When I add multiple items, Then all the items should be visible on the section summary and have correct values", async () => {
@@ -271,8 +272,8 @@ describe("List Collector Section Summary and Summary Items", () => {
await expect(await $(companiesListRowItem(3)).$$(".ons-summary__values")[1].getText()).toContain("234");
await expect(await $(companiesListRowItem(3)).$$(".ons-summary__actions")[0].getText()).toContain("Change");
await expect(await $(SubmitPage.householderCheckboxAnswer()).getText()).toContain("No");
- await expect(await $("body").getHTML()).toContain("Add another UK company or branch");
- await expect(await $("body").getHTML()).toContain("Remove");
+ await expect(await $("body").getHTML({ prettify: false })).toContain("Add another UK company or branch");
+ await expect(await $("body").getHTML({ prettify: false })).toContain("Remove");
});
it("When I get to the view submitted response page, Then the summary should be displayed as expected without any change or remove links", async () => {
@@ -293,7 +294,7 @@ describe("List Collector Section Summary and Summary Items", () => {
await click(HouseholderCheckboxPage.submit());
await click(SectionSummaryTwoPage.submit());
await click(SubmitPage.submit());
- await expect(await $(ThankYouPage.title()).getHTML()).toContain("Thank you for completing the Test");
+ await expect(await $(ThankYouPage.title()).getHTML({ prettify: false })).toContain("Thank you for completing the Test");
await $(ThankYouPage.savePrintAnswersLink()).click();
await verifyUrlContains(ViewSubmittedResponsePage.pageName);
@@ -306,9 +307,9 @@ describe("List Collector Section Summary and Summary Items", () => {
await expect(await $(companiesListRowItem(3)).$$(".ons-summary__values")[0].getText()).toContain("Company C");
await expect(await $(companiesListRowItem(3)).$$(".ons-summary__values")[1].getText()).toContain("234");
await expect(await $(companiesListRowItem(3)).$$(".ons-summary__values")[2].getText()).toContain("Yes");
- await expect(await $("body").getHTML()).not.toContain("Change");
- await expect(await $("body").getHTML()).not.toContain("Remove");
- await expect(await $("body").getHTML()).not.toContain("Add another UK company or branch");
+ await expect(await $("body").getHTML({ prettify: false })).not.toContain("Change");
+ await expect(await $("body").getHTML({ prettify: false })).not.toContain("Remove");
+ await expect(await $("body").getHTML({ prettify: false })).not.toContain("Add another UK company or branch");
});
});
});
diff --git a/tests/functional/spec/my_account_header_link.spec.js b/tests/functional/spec/my_account_header_link.spec.js
index 97f318a2e8..42cb345e99 100644
--- a/tests/functional/spec/my_account_header_link.spec.js
+++ b/tests/functional/spec/my_account_header_link.spec.js
@@ -4,7 +4,7 @@ import { verifyUrlContains } from "../helpers";
describe("My Account header link", () => {
it("Given I start a survey, When I visit a page then I should not see the My account button", async () => {
await browser.openQuestionnaire("test_introduction.json");
- await browser.pause(100);
+
await verifyUrlContains("introduction");
await expect(await $(IntroductionPage.myAccountLink()).isExisting()).toBe(false);
});
diff --git a/tests/functional/spec/preview.spec.js b/tests/functional/spec/preview.spec.js
index 8700553462..ae03aadb3b 100644
--- a/tests/functional/spec/preview.spec.js
+++ b/tests/functional/spec/preview.spec.js
@@ -52,6 +52,7 @@ describe("Introduction preview questions", () => {
it("Given I complete some of a survey and the piped answers should be being populated, Then preview answers should still be showing placeholders", async () => {
await browser.openQuestionnaire(introductionSchemaLinear);
+
await $(startSurveyButton).click();
await $(noRadio).click();
await $(submitButton).click();
diff --git a/tests/functional/spec/question_description.spec.js b/tests/functional/spec/question_description.spec.js
index dc901cf3f7..48c162797b 100644
--- a/tests/functional/spec/question_description.spec.js
+++ b/tests/functional/spec/question_description.spec.js
@@ -9,7 +9,7 @@ import { click, verifyUrlContains } from "../helpers";
describe("Question description", () => {
it("Given a question description has been set in the schema as an array, When it is rendered, Then it is displayed correctly as multiple paragraph attributes", async () => {
await browser.openQuestionnaire("test_question_description.json");
- await expect(await $(NameBlockPage.questionTitle()).getHTML()).toContain("
Answer the question
Go on
"); + await expect(await $(NameBlockPage.questionTitle()).getHTML({ prettify: false })).toContain("Answer the question
Go on
"); }); }); @@ -17,12 +17,12 @@ describe("Optional question description and guidance", () => { it("Given a question description has been set in the schema, When the value to be displayed is None, Then it is not rendered on the page", async () => { await browser.openQuestionnaire("test_optional_guidance_and_description.json"); await click(DescriptionBlockPage.submit()); - await expect(await $(RadioPage.questionTitle()).getHTML()).not.toContain("''
"); + await expect(await $(RadioPage.questionTitle()).getHTML({ prettify: false })).not.toContain("''
"); await expect(await $(RadioPage.guidance()).isExisting()).toBe(false); await $(RadioPage.no()).click(); await click(RadioPage.submit()); - await expect(await $(RadioPageTwo.questionTitle()).getHTML()).toContain("