Backported `/tests` from `macros-2.0`. (#4842) * Backported `/tests` from `macros-2.0`. * Added `eslint-plugin-playwright` * Improve formatting --------- Co-authored-by: user <user@exmaple.com> Co-authored-by: Cohee <18619528+Cohee1207@users.noreply.github.com>
Signed| @@ -134,7 +134,8 @@ | ||
| 134 | 134 | "@types/yauzl": "^2.10.3", |
| 135 | 135 | "eslint": "^8.57.1", |
| 136 | 136 | "eslint-plugin-jest": "^27.9.0", |
| 137 | 137 | "eslint-plugin-jsdoc": "^48.10.0", |
| 138 | + "eslint-plugin-playwright": "^2.3.0" | |
| 138 | 139 | }, |
| 139 | 140 | "engines": { |
| 140 | 141 | "node": ">= 18" |
| @@ -4559,6 +4560,35 @@ | ||
| 4559 | 4560 | "dev": true, |
| 4560 | 4561 | "license": "MIT" |
| 4561 | 4562 | }, |
| 4563 | + "node_modules/eslint-plugin-playwright": { | |
| 4564 | + "version": "2.3.0", | |
| 4565 | + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-2.3.0.tgz", | |
| 4566 | + "integrity": "sha512-7UeUuIb5SZrNkrUGb2F+iwHM97kn33/huajcVtAaQFCSMUYGNFvjzRPil5C0OIppslPfuOV68M/zsisXx+/ZvQ==", | |
| 4567 | + "dev": true, | |
| 4568 | + "license": "MIT", | |
| 4569 | + "dependencies": { | |
| 4570 | + "globals": "^16.4.0" | |
| 4571 | + }, | |
| 4572 | + "engines": { | |
| 4573 | + "node": ">=16.9.0" | |
| 4574 | + }, | |
| 4575 | + "peerDependencies": { | |
| 4576 | + "eslint": ">=8.40.0" | |
| 4577 | + } | |
| 4578 | + }, | |
| 4579 | + "node_modules/eslint-plugin-playwright/node_modules/globals": { | |
| 4580 | + "version": "16.5.0", | |
| 4581 | + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", | |
| 4582 | + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", | |
| 4583 | + "dev": true, | |
| 4584 | + "license": "MIT", | |
| 4585 | + "engines": { | |
| 4586 | + "node": ">=18" | |
| 4587 | + }, | |
| 4588 | + "funding": { | |
| 4589 | + "url": "https://github.com/sponsors/sindresorhus" | |
| 4590 | + } | |
| 4591 | + }, | |
| 4562 | 4592 | "node_modules/eslint-scope": { |
| 4563 | 4593 | "version": "7.2.2", |
| 4564 | 4594 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", |
| @@ -165,6 +165,7 @@ | ||
| 165 | 165 | "@types/yauzl": "^2.10.3", |
| 166 | 166 | "eslint": "^8.57.1", |
| 167 | 167 | "eslint-plugin-jest": "^27.9.0", |
| 168 | 168 | "eslint-plugin-jsdoc": "^48.10.0", |
| 169 | + "eslint-plugin-playwright": "^2.3.0" | |
| 169 | 170 | } |
| 170 | 171 | } |
| @@ -2,10 +2,12 @@ module.exports = { | ||
| 2 | 2 | root: true, |
| 3 | 3 | plugins: [ |
| 4 | 4 | 'jest', |
| 5 | + 'playwright', | |
| 5 | 6 | ], |
| 6 | 7 | extends: [ |
| 7 | 8 | 'eslint:recommended', |
| 8 | 9 | 'plugin:jest/recommended', |
| 10 | + 'plugin:playwright/recommended', | |
| 9 | 11 | ], |
| 10 | 12 | env: { |
| 11 | 13 | es6: true, |
| @@ -19,9 +21,10 @@ module.exports = { | ||
| 19 | 21 | overrides: [ |
| 20 | 22 | ], |
| 21 | 23 | ignorePatterns: [ |
| 24 | + '*.min.js', | |
| 25 | + 'node_modules/**/*', | |
| 22 | 26 | ], |
| 23 | 27 | globals: { |
| 24 | - page: 'readonly', | |
| 25 | 28 | }, |
| 26 | 29 | rules: { |
| 27 | 30 | 'no-unused-vars': ['error', { args: 'none' }], |
| @@ -38,10 +41,14 @@ module.exports = { | ||
| 38 | 41 | 'space-infix-ops': 'error', |
| 39 | 42 | 'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }], |
| 40 | 43 | 'no-cond-assign': 'error', |
| 44 | + | |
| 45 | + // These rules should eventually be enabled. | |
| 46 | + 'no-async-promise-executor': 'off', | |
| 47 | + 'no-inner-declarations': 'off', | |
| 41 | 48 | }, |
| 42 | 49 | settings: { |
| 43 | 50 | jest: { |
| 44 | 51 | version: '29.7.0', |
| 45 | 52 | }, |
| 46 | 53 | }, |
| 47 | 54 | }; |
| @@ -0,0 +1,22 @@ | ||
| 1 | +export const testSetup = { | |
| 2 | + /** | |
| 3 | + * Navigates to the home page without waiting for SillyTavern to load. | |
| 4 | + * @param {Object} params | |
| 5 | + * @param {import('@playwright/test').Page} params.page | |
| 6 | + */ | |
| 7 | + goST: async ({ page }) => { | |
| 8 | + await page.goto('/'); | |
| 9 | + }, | |
| 10 | + | |
| 11 | + /** | |
| 12 | + * Waits for SillyTavern to fully load by navigating to the home page and waiting for the preloader to disappear. | |
| 13 | + * @param {Object} params | |
| 14 | + * @param {import('@playwright/test').Page} params.page | |
| 15 | + */ | |
| 16 | + awaitST: async ({ page }) => { | |
| 17 | + await page.goto('/'); | |
| 18 | + await page.click('#userList .userSelect:last-child'); | |
| 19 | + await page.waitForURL('http://127.0.0.1:8000'); | |
| 20 | + await page.waitForFunction('document.getElementById("preloader") === null', { timeout: 0 }); | |
| 21 | + }, | |
| 22 | +}; | |
| @@ -1,11 +0,0 @@ | ||
| 1 | -{ | |
| 2 | - "verbose": true, | |
| 3 | - "transform": {}, | |
| 4 | - "preset": "jest-puppeteer", | |
| 5 | - "setupFilesAfterEnv": [ | |
| 6 | - "<rootDir>/jest.setup.js" | |
| 7 | - ], | |
| 8 | - "testMatch": [ | |
| 9 | - "**/?(*.)+(e2e).js" | |
| 10 | - ] | |
| 11 | -} | |
| @@ -1,2 +0,0 @@ | ||
| 1 | -// Initialize global variables for Jest tests here | |
| 2 | -global.ST_URL = 'http://localhost:8000'; | |
| @@ -0,0 +1,5 @@ | ||
| 1 | +{ | |
| 2 | + "compilerOptions": { | |
| 3 | + "baseUrl": ".", | |
| 4 | + }, | |
| 5 | +} | |
| @@ -7,10 +7,10 @@ | ||
| 7 | 7 | "name": "sillytavern-tests", |
| 8 | 8 | "license": "AGPL-3.0", |
| 9 | 9 | "dependencies": { |
| 10 | + "@playwright/test": "^1.56.1", | |
| 10 | 11 | "@types/jest": "^29.5.12", |
| 11 | 12 | "eslint": "^8.57.0", |
| 12 | 13 | "jest": "^29.7.0", |
| 13 | - "jest-puppeteer": "^10.0.1" | |
| 14 | 14 | } |
| 15 | 15 | }, |
| 16 | 16 | "node_modules/@ampproject/remapping": { |
| @@ -601,21 +601,6 @@ | ||
| 601 | 601 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" |
| 602 | 602 | } |
| 603 | 603 | }, |
| 604 | - "node_modules/@hapi/hoek": { | |
| 605 | - "version": "9.3.0", | |
| 606 | - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", | |
| 607 | - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", | |
| 608 | - "license": "BSD-3-Clause" | |
| 609 | - }, | |
| 610 | - "node_modules/@hapi/topo": { | |
| 611 | - "version": "5.1.0", | |
| 612 | - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", | |
| 613 | - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", | |
| 614 | - "license": "BSD-3-Clause", | |
| 615 | - "dependencies": { | |
| 616 | - "@hapi/hoek": "^9.0.0" | |
| 617 | - } | |
| 618 | - }, | |
| 619 | 604 | "node_modules/@humanwhocodes/config-array": { |
| 620 | 605 | "version": "0.11.14", |
| 621 | 606 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", |
| @@ -1037,22 +1022,16 @@ | ||
| 1037 | 1022 | "node": ">= 8" |
| 1038 | 1023 | } |
| 1039 | 1024 | }, |
| 1040 | 1025 | "node_modules/@puppeteerplaywright/browserstest": { |
| 1041 | 1026 | "version": "21.1056.21", |
| 1042 | 1027 | "resolved": "https://registry.npmjs.org/@puppeteerplaywright/browserstest/-/browserstest-21.1056.21.tgz", |
| 1043 | 1028 | "integrity": "sha512-i4Ez+s9oRWQbNjtIvSMYtL/3+jxr7OH508mjAKvza0ekPJem0ZtmsYHP3B5dq62+IaBHKaGCOuqJxXzvFLUhJvQ6jtsQzOcFpvJCW71Q/OEGQb7KYBPAdKh35WNSkaZA75JlAO8ED8UN6GUNTm3drWomcbcqRPFqQbLae8yBTdg==", |
| 1044 | 1029 | "license": "Apache-2.0", |
| 1045 | 1030 | "dependencies": { |
| 1046 | 1031 | "debugplaywright": "^41.456.01", |
| 1047 | - "extract-zip": "^2.0.1", | |
| 1048 | - "progress": "^2.0.3", | |
| 1049 | - "proxy-agent": "^6.5.0", | |
| 1050 | - "semver": "^7.7.1", | |
| 1051 | - "tar-fs": "^3.0.8", | |
| 1052 | - "yargs": "^17.7.2" | |
| 1053 | 1032 | }, |
| 1054 | 1033 | "bin": { |
| 1055 | 1034 | "browsersplaywright": "lib/cjs/main-cli.js" |
| 1056 | 1035 | }, |
| 1057 | 1036 | "engines": { |
| 1058 | 1037 | "node": ">=18" |
| @@ -1667,19 +1646,6 @@ | ||
| 1667 | 1646 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", |
| 1668 | 1647 | "license": "MIT" |
| 1669 | 1648 | }, |
| 1670 | - "node_modules/call-bind-apply-helpers": { | |
| 1671 | - "version": "1.0.2", | |
| 1672 | - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", | |
| 1673 | - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", | |
| 1674 | - "license": "MIT", | |
| 1675 | - "dependencies": { | |
| 1676 | - "es-errors": "^1.3.0", | |
| 1677 | - "function-bind": "^1.1.2" | |
| 1678 | - }, | |
| 1679 | - "engines": { | |
| 1680 | - "node": ">= 0.4" | |
| 1681 | - } | |
| 1682 | - }, | |
| 1683 | 1649 | "node_modules/callsites": { |
| 1684 | 1650 | "version": "3.1.0", |
| 1685 | 1651 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", |
| @@ -1825,27 +1791,6 @@ | ||
| 1825 | 1791 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
| 1826 | 1792 | "license": "MIT" |
| 1827 | 1793 | }, |
| 1828 | - "node_modules/combined-stream": { | |
| 1829 | - "version": "1.0.8", | |
| 1830 | - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | |
| 1831 | - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | |
| 1832 | - "license": "MIT", | |
| 1833 | - "dependencies": { | |
| 1834 | - "delayed-stream": "~1.0.0" | |
| 1835 | - }, | |
| 1836 | - "engines": { | |
| 1837 | - "node": ">= 0.8" | |
| 1838 | - } | |
| 1839 | - }, | |
| 1840 | - "node_modules/commander": { | |
| 1841 | - "version": "5.1.0", | |
| 1842 | - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", | |
| 1843 | - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", | |
| 1844 | - "license": "MIT", | |
| 1845 | - "engines": { | |
| 1846 | - "node": ">= 6" | |
| 1847 | - } | |
| 1848 | - }, | |
| 1849 | 1794 | "node_modules/concat-map": { |
| 1850 | 1795 | "version": "0.0.1", |
| 1851 | 1796 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
| @@ -2037,13 +1982,6 @@ | ||
| 2037 | 1982 | "node": ">=8" |
| 2038 | 1983 | } |
| 2039 | 1984 | }, |
| 2040 | - "node_modules/devtools-protocol": { | |
| 2041 | - "version": "0.0.1425554", | |
| 2042 | - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1425554.tgz", | |
| 2043 | - "integrity": "sha512-uRfxR6Nlzdzt0ihVIkV+sLztKgs7rgquY/Mhcv1YNCWDh5IZgl5mnn2aeEnW5stYTE0wwiF4RYVz8eMEpV1SEw==", | |
| 2044 | - "license": "BSD-3-Clause", | |
| 2045 | - "peer": true | |
| 2046 | - }, | |
| 2047 | 1985 | "node_modules/diff-sequences": { |
| 2048 | 1986 | "version": "29.6.3", |
| 2049 | 1987 | "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", |
| @@ -2065,20 +2003,6 @@ | ||
| 2065 | 2003 | "node": ">=6.0.0" |
| 2066 | 2004 | } |
| 2067 | 2005 | }, |
| 2068 | - "node_modules/dunder-proto": { | |
| 2069 | - "version": "1.0.1", | |
| 2070 | - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", | |
| 2071 | - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", | |
| 2072 | - "license": "MIT", | |
| 2073 | - "dependencies": { | |
| 2074 | - "call-bind-apply-helpers": "^1.0.1", | |
| 2075 | - "es-errors": "^1.3.0", | |
| 2076 | - "gopd": "^1.2.0" | |
| 2077 | - }, | |
| 2078 | - "engines": { | |
| 2079 | - "node": ">= 0.4" | |
| 2080 | - } | |
| 2081 | - }, | |
| 2082 | 2006 | "node_modules/electron-to-chromium": { |
| 2083 | 2007 | "version": "1.4.820", |
| 2084 | 2008 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.820.tgz", |
| @@ -2130,51 +2054,6 @@ | ||
| 2130 | 2054 | "is-arrayish": "^0.2.1" |
| 2131 | 2055 | } |
| 2132 | 2056 | }, |
| 2133 | - "node_modules/es-define-property": { | |
| 2134 | - "version": "1.0.1", | |
| 2135 | - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", | |
| 2136 | - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", | |
| 2137 | - "license": "MIT", | |
| 2138 | - "engines": { | |
| 2139 | - "node": ">= 0.4" | |
| 2140 | - } | |
| 2141 | - }, | |
| 2142 | - "node_modules/es-errors": { | |
| 2143 | - "version": "1.3.0", | |
| 2144 | - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", | |
| 2145 | - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", | |
| 2146 | - "license": "MIT", | |
| 2147 | - "engines": { | |
| 2148 | - "node": ">= 0.4" | |
| 2149 | - } | |
| 2150 | - }, | |
| 2151 | - "node_modules/es-object-atoms": { | |
| 2152 | - "version": "1.1.1", | |
| 2153 | - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", | |
| 2154 | - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", | |
| 2155 | - "license": "MIT", | |
| 2156 | - "dependencies": { | |
| 2157 | - "es-errors": "^1.3.0" | |
| 2158 | - }, | |
| 2159 | - "engines": { | |
| 2160 | - "node": ">= 0.4" | |
| 2161 | - } | |
| 2162 | - }, | |
| 2163 | - "node_modules/es-set-tostringtag": { | |
| 2164 | - "version": "2.1.0", | |
| 2165 | - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", | |
| 2166 | - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", | |
| 2167 | - "license": "MIT", | |
| 2168 | - "dependencies": { | |
| 2169 | - "es-errors": "^1.3.0", | |
| 2170 | - "get-intrinsic": "^1.2.6", | |
| 2171 | - "has-tostringtag": "^1.0.2", | |
| 2172 | - "hasown": "^2.0.2" | |
| 2173 | - }, | |
| 2174 | - "engines": { | |
| 2175 | - "node": ">= 0.4" | |
| 2176 | - } | |
| 2177 | - }, | |
| 2178 | 2057 | "node_modules/escalade": { |
| 2179 | 2058 | "version": "3.1.2", |
| 2180 | 2059 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", |
| @@ -2504,18 +2383,6 @@ | ||
| 2504 | 2383 | "node": ">= 0.8.0" |
| 2505 | 2384 | } |
| 2506 | 2385 | }, |
| 2507 | - "node_modules/expand-tilde": { | |
| 2508 | - "version": "1.2.2", | |
| 2509 | - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", | |
| 2510 | - "integrity": "sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==", | |
| 2511 | - "license": "MIT", | |
| 2512 | - "dependencies": { | |
| 2513 | - "os-homedir": "^1.0.1" | |
| 2514 | - }, | |
| 2515 | - "engines": { | |
| 2516 | - "node": ">=0.10.0" | |
| 2517 | - } | |
| 2518 | - }, | |
| 2519 | 2386 | "node_modules/expect": { |
| 2520 | 2387 | "version": "29.7.0", |
| 2521 | 2388 | "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", |
| @@ -2650,45 +2517,6 @@ | ||
| 2650 | 2517 | "node": ">=8" |
| 2651 | 2518 | } |
| 2652 | 2519 | }, |
| 2653 | - "node_modules/find-file-up": { | |
| 2654 | - "version": "0.1.3", | |
| 2655 | - "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", | |
| 2656 | - "integrity": "sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==", | |
| 2657 | - "license": "MIT", | |
| 2658 | - "dependencies": { | |
| 2659 | - "fs-exists-sync": "^0.1.0", | |
| 2660 | - "resolve-dir": "^0.1.0" | |
| 2661 | - }, | |
| 2662 | - "engines": { | |
| 2663 | - "node": ">=0.10.0" | |
| 2664 | - } | |
| 2665 | - }, | |
| 2666 | - "node_modules/find-pkg": { | |
| 2667 | - "version": "0.1.2", | |
| 2668 | - "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", | |
| 2669 | - "integrity": "sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==", | |
| 2670 | - "license": "MIT", | |
| 2671 | - "dependencies": { | |
| 2672 | - "find-file-up": "^0.1.2" | |
| 2673 | - }, | |
| 2674 | - "engines": { | |
| 2675 | - "node": ">=0.10.0" | |
| 2676 | - } | |
| 2677 | - }, | |
| 2678 | - "node_modules/find-process": { | |
| 2679 | - "version": "1.4.7", | |
| 2680 | - "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.7.tgz", | |
| 2681 | - "integrity": "sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==", | |
| 2682 | - "license": "MIT", | |
| 2683 | - "dependencies": { | |
| 2684 | - "chalk": "^4.0.0", | |
| 2685 | - "commander": "^5.1.0", | |
| 2686 | - "debug": "^4.1.1" | |
| 2687 | - }, | |
| 2688 | - "bin": { | |
| 2689 | - "find-process": "bin/find-process.js" | |
| 2690 | - } | |
| 2691 | - }, | |
| 2692 | 2520 | "node_modules/find-up": { |
| 2693 | 2521 | "version": "4.1.0", |
| 2694 | 2522 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", |
| @@ -2722,51 +2550,6 @@ | ||
| 2722 | 2550 | "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", |
| 2723 | 2551 | "license": "ISC" |
| 2724 | 2552 | }, |
| 2725 | - "node_modules/follow-redirects": { | |
| 2726 | - "version": "1.15.6", | |
| 2727 | - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", | |
| 2728 | - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", | |
| 2729 | - "funding": [ | |
| 2730 | - { | |
| 2731 | - "type": "individual", | |
| 2732 | - "url": "https://github.com/sponsors/RubenVerborgh" | |
| 2733 | - } | |
| 2734 | - ], | |
| 2735 | - "license": "MIT", | |
| 2736 | - "engines": { | |
| 2737 | - "node": ">=4.0" | |
| 2738 | - }, | |
| 2739 | - "peerDependenciesMeta": { | |
| 2740 | - "debug": { | |
| 2741 | - "optional": true | |
| 2742 | - } | |
| 2743 | - } | |
| 2744 | - }, | |
| 2745 | - "node_modules/form-data": { | |
| 2746 | - "version": "4.0.4", | |
| 2747 | - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", | |
| 2748 | - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", | |
| 2749 | - "license": "MIT", | |
| 2750 | - "dependencies": { | |
| 2751 | - "asynckit": "^0.4.0", | |
| 2752 | - "combined-stream": "^1.0.8", | |
| 2753 | - "es-set-tostringtag": "^2.1.0", | |
| 2754 | - "hasown": "^2.0.2", | |
| 2755 | - "mime-types": "^2.1.12" | |
| 2756 | - }, | |
| 2757 | - "engines": { | |
| 2758 | - "node": ">= 6" | |
| 2759 | - } | |
| 2760 | - }, | |
| 2761 | - "node_modules/fs-exists-sync": { | |
| 2762 | - "version": "0.1.0", | |
| 2763 | - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", | |
| 2764 | - "integrity": "sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==", | |
| 2765 | - "license": "MIT", | |
| 2766 | - "engines": { | |
| 2767 | - "node": ">=0.10.0" | |
| 2768 | - } | |
| 2769 | - }, | |
| 2770 | 2553 | "node_modules/fs.realpath": { |
| 2771 | 2554 | "version": "1.0.0", |
| 2772 | 2555 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
| @@ -2814,30 +2597,6 @@ | ||
| 2814 | 2597 | "node": "6.* || 8.* || >= 10.*" |
| 2815 | 2598 | } |
| 2816 | 2599 | }, |
| 2817 | - "node_modules/get-intrinsic": { | |
| 2818 | - "version": "1.3.0", | |
| 2819 | - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", | |
| 2820 | - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", | |
| 2821 | - "license": "MIT", | |
| 2822 | - "dependencies": { | |
| 2823 | - "call-bind-apply-helpers": "^1.0.2", | |
| 2824 | - "es-define-property": "^1.0.1", | |
| 2825 | - "es-errors": "^1.3.0", | |
| 2826 | - "es-object-atoms": "^1.1.1", | |
| 2827 | - "function-bind": "^1.1.2", | |
| 2828 | - "get-proto": "^1.0.1", | |
| 2829 | - "gopd": "^1.2.0", | |
| 2830 | - "has-symbols": "^1.1.0", | |
| 2831 | - "hasown": "^2.0.2", | |
| 2832 | - "math-intrinsics": "^1.1.0" | |
| 2833 | - }, | |
| 2834 | - "engines": { | |
| 2835 | - "node": ">= 0.4" | |
| 2836 | - }, | |
| 2837 | - "funding": { | |
| 2838 | - "url": "https://github.com/sponsors/ljharb" | |
| 2839 | - } | |
| 2840 | - }, | |
| 2841 | 2600 | "node_modules/get-package-type": { |
| 2842 | 2601 | "version": "0.1.0", |
| 2843 | 2602 | "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", |
| @@ -2847,19 +2606,6 @@ | ||
| 2847 | 2606 | "node": ">=8.0.0" |
| 2848 | 2607 | } |
| 2849 | 2608 | }, |
| 2850 | - "node_modules/get-proto": { | |
| 2851 | - "version": "1.0.1", | |
| 2852 | - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", | |
| 2853 | - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", | |
| 2854 | - "license": "MIT", | |
| 2855 | - "dependencies": { | |
| 2856 | - "dunder-proto": "^1.0.1", | |
| 2857 | - "es-object-atoms": "^1.0.0" | |
| 2858 | - }, | |
| 2859 | - "engines": { | |
| 2860 | - "node": ">= 0.4" | |
| 2861 | - } | |
| 2862 | - }, | |
| 2863 | 2609 | "node_modules/get-stream": { |
| 2864 | 2610 | "version": "6.0.1", |
| 2865 | 2611 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", |
| @@ -2919,46 +2665,6 @@ | ||
| 2919 | 2665 | "node": ">=10.13.0" |
| 2920 | 2666 | } |
| 2921 | 2667 | }, |
| 2922 | - "node_modules/global-modules": { | |
| 2923 | - "version": "0.2.3", | |
| 2924 | - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", | |
| 2925 | - "integrity": "sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==", | |
| 2926 | - "license": "MIT", | |
| 2927 | - "dependencies": { | |
| 2928 | - "global-prefix": "^0.1.4", | |
| 2929 | - "is-windows": "^0.2.0" | |
| 2930 | - }, | |
| 2931 | - "engines": { | |
| 2932 | - "node": ">=0.10.0" | |
| 2933 | - } | |
| 2934 | - }, | |
| 2935 | - "node_modules/global-prefix": { | |
| 2936 | - "version": "0.1.5", | |
| 2937 | - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", | |
| 2938 | - "integrity": "sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==", | |
| 2939 | - "license": "MIT", | |
| 2940 | - "dependencies": { | |
| 2941 | - "homedir-polyfill": "^1.0.0", | |
| 2942 | - "ini": "^1.3.4", | |
| 2943 | - "is-windows": "^0.2.0", | |
| 2944 | - "which": "^1.2.12" | |
| 2945 | - }, | |
| 2946 | - "engines": { | |
| 2947 | - "node": ">=0.10.0" | |
| 2948 | - } | |
| 2949 | - }, | |
| 2950 | - "node_modules/global-prefix/node_modules/which": { | |
| 2951 | - "version": "1.3.1", | |
| 2952 | - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", | |
| 2953 | - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", | |
| 2954 | - "license": "ISC", | |
| 2955 | - "dependencies": { | |
| 2956 | - "isexe": "^2.0.0" | |
| 2957 | - }, | |
| 2958 | - "bin": { | |
| 2959 | - "which": "bin/which" | |
| 2960 | - } | |
| 2961 | - }, | |
| 2962 | 2668 | "node_modules/globals": { |
| 2963 | 2669 | "version": "11.12.0", |
| 2964 | 2670 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", |
| @@ -2968,18 +2674,6 @@ | ||
| 2968 | 2674 | "node": ">=4" |
| 2969 | 2675 | } |
| 2970 | 2676 | }, |
| 2971 | - "node_modules/gopd": { | |
| 2972 | - "version": "1.2.0", | |
| 2973 | - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", | |
| 2974 | - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", | |
| 2975 | - "license": "MIT", | |
| 2976 | - "engines": { | |
| 2977 | - "node": ">= 0.4" | |
| 2978 | - }, | |
| 2979 | - "funding": { | |
| 2980 | - "url": "https://github.com/sponsors/ljharb" | |
| 2981 | - } | |
| 2982 | - }, | |
| 2983 | 2677 | "node_modules/graceful-fs": { |
| 2984 | 2678 | "version": "4.2.11", |
| 2985 | 2679 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", |
| @@ -3001,33 +2695,6 @@ | ||
| 3001 | 2695 | "node": ">=8" |
| 3002 | 2696 | } |
| 3003 | 2697 | }, |
| 3004 | - "node_modules/has-symbols": { | |
| 3005 | - "version": "1.1.0", | |
| 3006 | - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", | |
| 3007 | - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", | |
| 3008 | - "license": "MIT", | |
| 3009 | - "engines": { | |
| 3010 | - "node": ">= 0.4" | |
| 3011 | - }, | |
| 3012 | - "funding": { | |
| 3013 | - "url": "https://github.com/sponsors/ljharb" | |
| 3014 | - } | |
| 3015 | - }, | |
| 3016 | - "node_modules/has-tostringtag": { | |
| 3017 | - "version": "1.0.2", | |
| 3018 | - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", | |
| 3019 | - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", | |
| 3020 | - "license": "MIT", | |
| 3021 | - "dependencies": { | |
| 3022 | - "has-symbols": "^1.0.3" | |
| 3023 | - }, | |
| 3024 | - "engines": { | |
| 3025 | - "node": ">= 0.4" | |
| 3026 | - }, | |
| 3027 | - "funding": { | |
| 3028 | - "url": "https://github.com/sponsors/ljharb" | |
| 3029 | - } | |
| 3030 | - }, | |
| 3031 | 2698 | "node_modules/hasown": { |
| 3032 | 2699 | "version": "2.0.2", |
| 3033 | 2700 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", |
| @@ -3040,18 +2707,6 @@ | ||
| 3040 | 2707 | "node": ">= 0.4" |
| 3041 | 2708 | } |
| 3042 | 2709 | }, |
| 3043 | - "node_modules/homedir-polyfill": { | |
| 3044 | - "version": "1.0.3", | |
| 3045 | - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", | |
| 3046 | - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", | |
| 3047 | - "license": "MIT", | |
| 3048 | - "dependencies": { | |
| 3049 | - "parse-passwd": "^1.0.0" | |
| 3050 | - }, | |
| 3051 | - "engines": { | |
| 3052 | - "node": ">=0.10.0" | |
| 3053 | - } | |
| 3054 | - }, | |
| 3055 | 2710 | "node_modules/html-escaper": { |
| 3056 | 2711 | "version": "2.0.2", |
| 3057 | 2712 | "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", |
| @@ -3287,15 +2942,6 @@ | ||
| 3287 | 2942 | "url": "https://github.com/sponsors/sindresorhus" |
| 3288 | 2943 | } |
| 3289 | 2944 | }, |
| 3290 | - "node_modules/is-windows": { | |
| 3291 | - "version": "0.2.0", | |
| 3292 | - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", | |
| 3293 | - "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", | |
| 3294 | - "license": "MIT", | |
| 3295 | - "engines": { | |
| 3296 | - "node": ">=0.10.0" | |
| 3297 | - } | |
| 3298 | - }, | |
| 3299 | 2945 | "node_modules/isexe": { |
| 3300 | 2946 | "version": "2.0.0", |
| 3301 | 2947 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", |
| @@ -3529,23 +3175,6 @@ | ||
| 3529 | 3175 | } |
| 3530 | 3176 | } |
| 3531 | 3177 | }, |
| 3532 | - "node_modules/jest-dev-server": { | |
| 3533 | - "version": "10.0.0", | |
| 3534 | - "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-10.0.0.tgz", | |
| 3535 | - "integrity": "sha512-FtyBBDxrAIfTX3hyKSOwj5KU6Z7fFLew5pQYOFpwyf+qpPpULL8aYxtsFkbkAwcs+Mb7qhcNbVLeiWsLOd7CKw==", | |
| 3536 | - "dependencies": { | |
| 3537 | - "chalk": "^4.1.2", | |
| 3538 | - "cwd": "^0.10.0", | |
| 3539 | - "find-process": "^1.4.7", | |
| 3540 | - "prompts": "^2.4.2", | |
| 3541 | - "spawnd": "^10.0.0", | |
| 3542 | - "tree-kill": "^1.2.2", | |
| 3543 | - "wait-on": "^7.2.0" | |
| 3544 | - }, | |
| 3545 | - "engines": { | |
| 3546 | - "node": ">=16" | |
| 3547 | - } | |
| 3548 | - }, | |
| 3549 | 3178 | "node_modules/jest-diff": { |
| 3550 | 3179 | "version": "29.7.0", |
| 3551 | 3180 | "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", |
| @@ -3606,21 +3235,6 @@ | ||
| 3606 | 3235 | "node": "^14.15.0 || ^16.10.0 || >=18.0.0" |
| 3607 | 3236 | } |
| 3608 | 3237 | }, |
| 3609 | - "node_modules/jest-environment-puppeteer": { | |
| 3610 | - "version": "10.0.1", | |
| 3611 | - "resolved": "https://registry.npmjs.org/jest-environment-puppeteer/-/jest-environment-puppeteer-10.0.1.tgz", | |
| 3612 | - "integrity": "sha512-FxMzVRyqieQqSy5CPWiwdK5t9dkRHid5eoRTVa8RtYeXLlpW6lU0dAmxEfPkdnDVCiPUhC2APeKOXq0J72bgag==", | |
| 3613 | - "dependencies": { | |
| 3614 | - "chalk": "^4.1.2", | |
| 3615 | - "cosmiconfig": "^8.3.6", | |
| 3616 | - "deepmerge": "^4.3.1", | |
| 3617 | - "jest-dev-server": "^10.0.0", | |
| 3618 | - "jest-environment-node": "^29.7.0" | |
| 3619 | - }, | |
| 3620 | - "engines": { | |
| 3621 | - "node": ">=16" | |
| 3622 | - } | |
| 3623 | - }, | |
| 3624 | 3238 | "node_modules/jest-get-type": { |
| 3625 | 3239 | "version": "29.6.3", |
| 3626 | 3240 | "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", |
| @@ -3734,21 +3348,6 @@ | ||
| 3734 | 3348 | } |
| 3735 | 3349 | } |
| 3736 | 3350 | }, |
| 3737 | - "node_modules/jest-puppeteer": { | |
| 3738 | - "version": "10.0.1", | |
| 3739 | - "resolved": "https://registry.npmjs.org/jest-puppeteer/-/jest-puppeteer-10.0.1.tgz", | |
| 3740 | - "integrity": "sha512-FzC35XbqeuQEt1smXh1EOqhJaRkWqJkyWDMfGkcZ8C59QHXeJ7F/iOmiNqYi6l/OsycUuOPCk+IkjfGfS9YbrQ==", | |
| 3741 | - "dependencies": { | |
| 3742 | - "expect-puppeteer": "^10.0.0", | |
| 3743 | - "jest-environment-puppeteer": "^10.0.1" | |
| 3744 | - }, | |
| 3745 | - "engines": { | |
| 3746 | - "node": ">=16" | |
| 3747 | - }, | |
| 3748 | - "peerDependencies": { | |
| 3749 | - "puppeteer": ">=19" | |
| 3750 | - } | |
| 3751 | - }, | |
| 3752 | 3351 | "node_modules/jest-regex-util": { |
| 3753 | 3352 | "version": "29.6.3", |
| 3754 | 3353 | "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", |
| @@ -3994,19 +3593,6 @@ | ||
| 3994 | 3593 | "url": "https://github.com/chalk/supports-color?sponsor=1" |
| 3995 | 3594 | } |
| 3996 | 3595 | }, |
| 3997 | - "node_modules/joi": { | |
| 3998 | - "version": "17.13.3", | |
| 3999 | - "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", | |
| 4000 | - "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", | |
| 4001 | - "license": "BSD-3-Clause", | |
| 4002 | - "dependencies": { | |
| 4003 | - "@hapi/hoek": "^9.3.0", | |
| 4004 | - "@hapi/topo": "^5.1.0", | |
| 4005 | - "@sideway/address": "^4.1.5", | |
| 4006 | - "@sideway/formula": "^3.0.1", | |
| 4007 | - "@sideway/pinpoint": "^2.0.0" | |
| 4008 | - } | |
| 4009 | - }, | |
| 4010 | 3596 | "node_modules/js-tokens": { |
| 4011 | 3597 | "version": "4.0.0", |
| 4012 | 3598 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", |
| @@ -4138,12 +3724,6 @@ | ||
| 4138 | 3724 | "node": ">=8" |
| 4139 | 3725 | } |
| 4140 | 3726 | }, |
| 4141 | - "node_modules/lodash": { | |
| 4142 | - "version": "4.17.21", | |
| 4143 | - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", | |
| 4144 | - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", | |
| 4145 | - "license": "MIT" | |
| 4146 | - }, | |
| 4147 | 3727 | "node_modules/lodash.merge": { |
| 4148 | 3728 | "version": "4.6.2", |
| 4149 | 3729 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", |
| @@ -4195,15 +3775,6 @@ | ||
| 4195 | 3775 | "tmpl": "1.0.5" |
| 4196 | 3776 | } |
| 4197 | 3777 | }, |
| 4198 | - "node_modules/math-intrinsics": { | |
| 4199 | - "version": "1.1.0", | |
| 4200 | - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", | |
| 4201 | - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", | |
| 4202 | - "license": "MIT", | |
| 4203 | - "engines": { | |
| 4204 | - "node": ">= 0.4" | |
| 4205 | - } | |
| 4206 | - }, | |
| 4207 | 3778 | "node_modules/merge-stream": { |
| 4208 | 3779 | "version": "2.0.0", |
| 4209 | 3780 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", |
| @@ -4222,27 +3793,6 @@ | ||
| 4222 | 3793 | "node": ">=8.6" |
| 4223 | 3794 | } |
| 4224 | 3795 | }, |
| 4225 | - "node_modules/mime-db": { | |
| 4226 | - "version": "1.52.0", | |
| 4227 | - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", | |
| 4228 | - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", | |
| 4229 | - "license": "MIT", | |
| 4230 | - "engines": { | |
| 4231 | - "node": ">= 0.6" | |
| 4232 | - } | |
| 4233 | - }, | |
| 4234 | - "node_modules/mime-types": { | |
| 4235 | - "version": "2.1.35", | |
| 4236 | - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", | |
| 4237 | - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", | |
| 4238 | - "license": "MIT", | |
| 4239 | - "dependencies": { | |
| 4240 | - "mime-db": "1.52.0" | |
| 4241 | - }, | |
| 4242 | - "engines": { | |
| 4243 | - "node": ">= 0.6" | |
| 4244 | - } | |
| 4245 | - }, | |
| 4246 | 3796 | "node_modules/mimic-fn": { |
| 4247 | 3797 | "version": "2.1.0", |
| 4248 | 3798 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", |
| @@ -4374,15 +3924,6 @@ | ||
| 4374 | 3924 | "node": ">= 0.8.0" |
| 4375 | 3925 | } |
| 4376 | 3926 | }, |
| 4377 | - "node_modules/os-homedir": { | |
| 4378 | - "version": "1.0.2", | |
| 4379 | - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", | |
| 4380 | - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", | |
| 4381 | - "license": "MIT", | |
| 4382 | - "engines": { | |
| 4383 | - "node": ">=0.10.0" | |
| 4384 | - } | |
| 4385 | - }, | |
| 4386 | 3927 | "node_modules/p-limit": { |
| 4387 | 3928 | "version": "3.1.0", |
| 4388 | 3929 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", |
| @@ -4496,15 +4037,6 @@ | ||
| 4496 | 4037 | "url": "https://github.com/sponsors/sindresorhus" |
| 4497 | 4038 | } |
| 4498 | 4039 | }, |
| 4499 | - "node_modules/parse-passwd": { | |
| 4500 | - "version": "1.0.0", | |
| 4501 | - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", | |
| 4502 | - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", | |
| 4503 | - "license": "MIT", | |
| 4504 | - "engines": { | |
| 4505 | - "node": ">=0.10.0" | |
| 4506 | - } | |
| 4507 | - }, | |
| 4508 | 4040 | "node_modules/path-exists": { |
| 4509 | 4041 | "version": "4.0.0", |
| 4510 | 4042 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", |
| @@ -4592,6 +4124,50 @@ | ||
| 4592 | 4124 | "node": ">=8" |
| 4593 | 4125 | } |
| 4594 | 4126 | }, |
| 4127 | + "node_modules/playwright": { | |
| 4128 | + "version": "1.56.1", | |
| 4129 | + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.56.1.tgz", | |
| 4130 | + "integrity": "sha512-aFi5B0WovBHTEvpM3DzXTUaeN6eN0qWnTkKx4NQaH4Wvcmc153PdaY2UBdSYKaGYw+UyWXSVyxDUg5DoPEttjw==", | |
| 4131 | + "license": "Apache-2.0", | |
| 4132 | + "dependencies": { | |
| 4133 | + "playwright-core": "1.56.1" | |
| 4134 | + }, | |
| 4135 | + "bin": { | |
| 4136 | + "playwright": "cli.js" | |
| 4137 | + }, | |
| 4138 | + "engines": { | |
| 4139 | + "node": ">=18" | |
| 4140 | + }, | |
| 4141 | + "optionalDependencies": { | |
| 4142 | + "fsevents": "2.3.2" | |
| 4143 | + } | |
| 4144 | + }, | |
| 4145 | + "node_modules/playwright-core": { | |
| 4146 | + "version": "1.56.1", | |
| 4147 | + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.56.1.tgz", | |
| 4148 | + "integrity": "sha512-hutraynyn31F+Bifme+Ps9Vq59hKuUCz7H1kDOcBs+2oGguKkWTU50bBWrtz34OUWmIwpBTWDxaRPXrIXkgvmQ==", | |
| 4149 | + "license": "Apache-2.0", | |
| 4150 | + "bin": { | |
| 4151 | + "playwright-core": "cli.js" | |
| 4152 | + }, | |
| 4153 | + "engines": { | |
| 4154 | + "node": ">=18" | |
| 4155 | + } | |
| 4156 | + }, | |
| 4157 | + "node_modules/playwright/node_modules/fsevents": { | |
| 4158 | + "version": "2.3.2", | |
| 4159 | + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", | |
| 4160 | + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", | |
| 4161 | + "hasInstallScript": true, | |
| 4162 | + "license": "MIT", | |
| 4163 | + "optional": true, | |
| 4164 | + "os": [ | |
| 4165 | + "darwin" | |
| 4166 | + ], | |
| 4167 | + "engines": { | |
| 4168 | + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" | |
| 4169 | + } | |
| 4170 | + }, | |
| 4595 | 4171 | "node_modules/prelude-ls": { |
| 4596 | 4172 | "version": "1.2.1", |
| 4597 | 4173 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", |
| @@ -4864,19 +4440,6 @@ | ||
| 4864 | 4440 | "node": ">=8" |
| 4865 | 4441 | } |
| 4866 | 4442 | }, |
| 4867 | - "node_modules/resolve-dir": { | |
| 4868 | - "version": "0.1.1", | |
| 4869 | - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", | |
| 4870 | - "integrity": "sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==", | |
| 4871 | - "license": "MIT", | |
| 4872 | - "dependencies": { | |
| 4873 | - "expand-tilde": "^1.2.2", | |
| 4874 | - "global-modules": "^0.2.3" | |
| 4875 | - }, | |
| 4876 | - "engines": { | |
| 4877 | - "node": ">=0.10.0" | |
| 4878 | - } | |
| 4879 | - }, | |
| 4880 | 4443 | "node_modules/resolve-from": { |
| 4881 | 4444 | "version": "5.0.0", |
| 4882 | 4445 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", |
| @@ -4944,15 +4507,6 @@ | ||
| 4944 | 4507 | "queue-microtask": "^1.2.2" |
| 4945 | 4508 | } |
| 4946 | 4509 | }, |
| 4947 | - "node_modules/rxjs": { | |
| 4948 | - "version": "7.8.1", | |
| 4949 | - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", | |
| 4950 | - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", | |
| 4951 | - "license": "Apache-2.0", | |
| 4952 | - "dependencies": { | |
| 4953 | - "tslib": "^2.1.0" | |
| 4954 | - } | |
| 4955 | - }, | |
| 4956 | 4510 | "node_modules/semver": { |
| 4957 | 4511 | "version": "6.3.1", |
| 4958 | 4512 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", |
| @@ -5061,30 +4615,6 @@ | ||
| 5061 | 4615 | "source-map": "^0.6.0" |
| 5062 | 4616 | } |
| 5063 | 4617 | }, |
| 5064 | - "node_modules/spawnd": { | |
| 5065 | - "version": "10.0.0", | |
| 5066 | - "resolved": "https://registry.npmjs.org/spawnd/-/spawnd-10.0.0.tgz", | |
| 5067 | - "integrity": "sha512-6GKcakMTryb5b1SWCvdubCDHEsR2k+5VZUD5G19umZRarkvj1RyCGyizcqhjewI7cqZo8fTVD8HpnDZbVOLMtg==", | |
| 5068 | - "dependencies": { | |
| 5069 | - "signal-exit": "^4.1.0", | |
| 5070 | - "tree-kill": "^1.2.2" | |
| 5071 | - }, | |
| 5072 | - "engines": { | |
| 5073 | - "node": ">=16" | |
| 5074 | - } | |
| 5075 | - }, | |
| 5076 | - "node_modules/spawnd/node_modules/signal-exit": { | |
| 5077 | - "version": "4.1.0", | |
| 5078 | - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", | |
| 5079 | - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", | |
| 5080 | - "license": "ISC", | |
| 5081 | - "engines": { | |
| 5082 | - "node": ">=14" | |
| 5083 | - }, | |
| 5084 | - "funding": { | |
| 5085 | - "url": "https://github.com/sponsors/isaacs" | |
| 5086 | - } | |
| 5087 | - }, | |
| 5088 | 4618 | "node_modules/sprintf-js": { |
| 5089 | 4619 | "version": "1.0.3", |
| 5090 | 4620 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", |
| @@ -5281,21 +4811,6 @@ | ||
| 5281 | 4811 | "node": ">=8.0" |
| 5282 | 4812 | } |
| 5283 | 4813 | }, |
| 5284 | - "node_modules/tree-kill": { | |
| 5285 | - "version": "1.2.2", | |
| 5286 | - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", | |
| 5287 | - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", | |
| 5288 | - "license": "MIT", | |
| 5289 | - "bin": { | |
| 5290 | - "tree-kill": "cli.js" | |
| 5291 | - } | |
| 5292 | - }, | |
| 5293 | - "node_modules/tslib": { | |
| 5294 | - "version": "2.6.3", | |
| 5295 | - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", | |
| 5296 | - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", | |
| 5297 | - "license": "0BSD" | |
| 5298 | - }, | |
| 5299 | 4814 | "node_modules/type-check": { |
| 5300 | 4815 | "version": "0.4.0", |
| 5301 | 4816 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", |
| @@ -5394,25 +4909,6 @@ | ||
| 5394 | 4909 | "node": ">=10.12.0" |
| 5395 | 4910 | } |
| 5396 | 4911 | }, |
| 5397 | - "node_modules/wait-on": { | |
| 5398 | - "version": "7.2.0", | |
| 5399 | - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", | |
| 5400 | - "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", | |
| 5401 | - "license": "MIT", | |
| 5402 | - "dependencies": { | |
| 5403 | - "axios": "^1.6.1", | |
| 5404 | - "joi": "^17.11.0", | |
| 5405 | - "lodash": "^4.17.21", | |
| 5406 | - "minimist": "^1.2.8", | |
| 5407 | - "rxjs": "^7.8.1" | |
| 5408 | - }, | |
| 5409 | - "bin": { | |
| 5410 | - "wait-on": "bin/wait-on" | |
| 5411 | - }, | |
| 5412 | - "engines": { | |
| 5413 | - "node": ">=12.0.0" | |
| 5414 | - } | |
| 5415 | - }, | |
| 5416 | 4912 | "node_modules/walker": { |
| 5417 | 4913 | "version": "1.0.8", |
| 5418 | 4914 | "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", |
| @@ -5,12 +5,14 @@ | ||
| 5 | 5 | "scripts": { |
| 6 | 6 | "test": "npm run test:unit && npm run test:e2e", |
| 7 | 7 | "test:unit": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest.config.json", |
| 8 | - "test:e2e": "node --experimental-vm-modules node_modules/jest/bin/jest.js --config jest-e2e.config.json" | |
| 8 | + "test:e2e": "playwright test", | |
| 9 | + "lint": "eslint \"**/*.js\" ./*.js", | |
| 10 | + "lint:fix": "eslint \"**/*.js\" ./*.js --fix" | |
| 9 | 11 | }, |
| 10 | 12 | "dependencies": { |
| 13 | + "@playwright/test": "^1.56.1", | |
| 11 | 14 | "@types/jest": "^29.5.12", |
| 12 | 15 | "eslint": "^8.57.0", |
| 13 | 16 | "jest": "^29.7.0", |
| 14 | - "jest-puppeteer": "^10.0.1" | |
| 15 | 17 | } |
| 16 | 18 | } |
| @@ -0,0 +1,12 @@ | ||
| 1 | +import { defineConfig } from '@playwright/test'; | |
| 2 | + | |
| 3 | +export default defineConfig({ | |
| 4 | + testMatch: '*.e2e.js', | |
| 5 | + use: { | |
| 6 | + baseURL: 'http://127.0.0.1:8000', | |
| 7 | + video: 'only-on-failure', | |
| 8 | + screenshot: 'only-on-failure', | |
| 9 | + }, | |
| 10 | + workers: 4, | |
| 11 | + fullyParallel: true, | |
| 12 | +}); | |
| @@ -1,10 +1,12 @@ | ||
| 1 | -describe('sample', () => { | |
| 1 | +import { test, expect } from '@playwright/test'; | |
| 2 | - beforeAll(async () => { | |
| 2 | + | |
| 3 | - await page.goto(global.ST_URL); | |
| 3 | +test.describe('sample', () => { | |
| 4 | + test.beforeEach(async({ page }) => { | |
| 5 | + await page.goto('/'); | |
| 4 | 6 | await page.waitForFunction('document.getElementById("preloader") === null', { timeout: 0 }); |
| 5 | 7 | }); |
| 6 | 8 | |
| 7 | 9 | ittest('should be titled "SillyTavern"', async ({ page }) => { |
| 8 | 10 | await expect(page.title()).resolves.toMatchtoHaveTitle('SillyTavern'); |
| 9 | 11 | }); |
| 10 | 12 | }); |
| @@ -1,14 +1,14 @@ | ||
| 1 | 1 | import { describe, ittest, expect } from '@jest/globals'; |
| 2 | 2 | import { CHAT_COMPLETION_SOURCES } from '../src/constants'; |
| 3 | 3 | import { flattenSchema } from '../src/util'; |
| 4 | 4 | |
| 5 | 5 | describe('flattenSchema', () => { |
| 6 | 6 | ittest('should return the schema if it is not an object', () => { |
| 7 | 7 | const schema = 'it is not an object'; |
| 8 | 8 | expect(flattenSchema(schema, CHAT_COMPLETION_SOURCES.MAKERSUITE)).toBe(schema); |
| 9 | 9 | }); |
| 10 | 10 | |
| 11 | 11 | ittest('should handle schema with $defs and $ref', () => { |
| 12 | 12 | const schema = { |
| 13 | 13 | $schema: 'http://json-schema.org/draft-07/schema#', |
| 14 | 14 | $defs: { |
| @@ -37,7 +37,7 @@ describe('flattenSchema', () => { | ||
| 37 | 37 | expect(flattenSchema(schema, CHAT_COMPLETION_SOURCES.MAKERSUITE)).toEqual(expected); |
| 38 | 38 | }); |
| 39 | 39 | |
| 40 | 40 | ittest('should filter unsupported properties for Google API schema', () => { |
| 41 | 41 | const schema = { |
| 42 | 42 | $defs: { |
| 43 | 43 | a: { |
| @@ -68,7 +68,7 @@ describe('flattenSchema', () => { | ||
| 68 | 68 | expect(flattenSchema(schema, CHAT_COMPLETION_SOURCES.MAKERSUITE)).toEqual(expected); |
| 69 | 69 | }); |
| 70 | 70 | |
| 71 | 71 | ittest('should not filter properties for non-Google API schema', () => { |
| 72 | 72 | const schema = { |
| 73 | 73 | $defs: { |
| 74 | 74 | a: { |