diff --git a/eslint.config.mjs b/eslint.config.mjs index 98f81595a0e3b..1b3179ba81731 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -47,7 +47,7 @@ const ignores = [ "**/playwright-report/", "examples", "packages/*/lib/", - "packages/playwright-core/bundles/zip/src/third_party/", + "packages/playwright-core/bundles/utils/src/third_party/", "packages/playwright-core/src/generated/*", "packages/playwright-core/src/third_party/", "packages/playwright-core/types/*", diff --git a/package-lock.json b/package-lock.json index 41a70114111ce..0f5701d5be9ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,25 +22,41 @@ "@octokit/graphql-schema": "^15.26.0", "@stylistic/eslint-plugin": "^5.2.3", "@types/codemirror": "^5.60.7", + "@types/debug": "^4.1.7", + "@types/diff": "^5.2.3", "@types/formidable": "^2.0.4", + "@types/ini": "^4.1.1", + "@types/mime": "^2.0.3", + "@types/minimatch": "^3.0.5", "@types/node": "18.19.76", + "@types/pngjs": "^6.0.1", + "@types/progress": "^2.0.5", + "@types/proper-lockfile": "^4.1.2", + "@types/proxy-from-env": "^1.0.1", "@types/react": "^19.2.1", "@types/react-dom": "^19.2.1", - "@types/ws": "^8.5.3", + "@types/source-map-support": "^0.5.4", + "@types/stack-utils": "^2.0.1", + "@types/stoppable": "^1.1.1", + "@types/ws": "8.2.2", "@types/xml2js": "^0.4.9", + "@types/yauzl": "^2.10.3", + "@types/yazl": "^2.4.2", "@typescript-eslint/eslint-plugin": "^8.41.0", "@typescript-eslint/parser": "^8.41.0", "@typescript-eslint/utils": "^8.41.0", "@vitejs/plugin-basic-ssl": "^1.1.0", "@vitejs/plugin-react": "^4.2.1", "@zip.js/zip.js": "^2.7.29", - "chokidar": "^3.5.3", + "chokidar": "3.6.0", "chromium-bidi": "^12.0.0", - "colors": "^1.4.0", + "colors": "1.4.0", + "commander": "^13.0.0", "concurrently": "^6.2.1", "cross-env": "^7.0.3", "dotenv": "^16.4.5", "electron": "^39.8.4", + "enquirer": "2.3.6", "esbuild": "^0.25.0", "eslint": "^9.34.0", "eslint-plugin-import": "^2.32.0", @@ -48,18 +64,32 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "formidable": "^2.1.1", + "get-east-asian-width": "1.3.0", + "https-proxy-agent": "7.0.6", + "jpeg-js": "0.4.4", + "json5": "2.2.3", "license-checker": "^25.0.1", "mime": "^3.0.0", + "minimatch": "^3.1.4", "node-stream-zip": "^1.15.0", + "open": "8.4.0", + "pngjs": "6.0.0", + "progress": "2.0.3", "react": "^19.2.1", "react-dom": "^19.2.1", + "socks-proxy-agent": "8.0.5", + "source-map-support": "0.5.21", "ssim.js": "^3.5.0", + "stoppable": "1.1.0", "typescript": "^5.9.2", "vite": "^6.4.1", - "ws": "^8.17.1", + "ws": "8.17.1", "xml2js": "^0.5.0", "yaml": "^2.8.3", - "zod": "^4.3.5" + "yauzl": "3.2.1", + "yazl": "2.5.1", + "zod": "^4.3.6", + "zod-to-json-schema": "^3.25.1" }, "engines": { "node": ">=18" @@ -1799,6 +1829,23 @@ "@types/tern": "*" } }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/diff": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.3.tgz", + "integrity": "sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", @@ -1819,6 +1866,13 @@ "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", "dev": true }, + "node_modules/@types/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-MIyNUZipBTbyUNnhvuXJTY7B6qNI78meck9Jbv3wk0OgNwRyOOVEKDutAkOs1snB/tx0FafyR6/SN4Ps0hZPeg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -1841,6 +1895,27 @@ "@types/node": "*" } }, + "node_modules/@types/mime": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", + "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "18.19.76", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.76.tgz", @@ -1850,6 +1925,46 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/pngjs": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/@types/pngjs/-/pngjs-6.0.5.tgz", + "integrity": "sha512-0k5eKfrA83JOZPppLtS2C7OUtyNAl2wKNxfyYl9Q5g9lPkgBl/9hNyAu6HuEH2J4XmIv2znEpkDd0SaZVxW6iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/progress": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/progress/-/progress-2.0.7.tgz", + "integrity": "sha512-iadjw02vte8qWx7U0YM++EybBha2CQLPGu9iJ97whVgJUT5Zq9MjAPYUnbfRI2Kpehimf1QjFJYxD0t8nqzu5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/proper-lockfile": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@types/proper-lockfile/-/proper-lockfile-4.1.4.tgz", + "integrity": "sha512-uo2ABllncSqg9F1D4nugVl9v93RmjxF6LJzQLMLDdPaXCUIDPeOJ21Gbqi43xNKzBi/WQ0Q0dICqufzQbMjipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "*" + } + }, + "node_modules/@types/proxy-from-env": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/proxy-from-env/-/proxy-from-env-1.0.4.tgz", + "integrity": "sha512-TPR9/bCZAr3V1eHN4G3LD3OLicdJjqX1QRXWuNcCYgE66f/K8jO2ZRtHxI2D9MbnuUP6+qiKSS8eUHp6TFHGCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/react": { "version": "19.2.7", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", @@ -1879,6 +1994,40 @@ "@types/node": "*" } }, + "node_modules/@types/retry": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.5.tgz", + "integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/source-map-support": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-tgVP2H469x9zq34Z0m/fgPewGhg/MLClalNOiPIzQlXrSS2YrKu/xCdSCKnEDwkFha51VKEKB6A9wW26/ZNwzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.0" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stoppable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/stoppable/-/stoppable-1.1.3.tgz", + "integrity": "sha512-7wGKIBJGE4ZxFjk9NkjAxZMLlIXroETqP1FJCdoSvKmEznwmBxQFmTB1dsCkAvVcNemuSZM5qkkd9HE/NL2JTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/tern": { "version": "0.23.9", "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz", @@ -1889,10 +2038,11 @@ } }, "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", + "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -1911,7 +2061,16 @@ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", "dev": true, - "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yazl": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.6.tgz", + "integrity": "sha512-/ifFjQtcKaoZOjl5NNCQRR0fAKafB3Foxd7J/WvFPTMea46zekapcR30uzkwIkKAAuq5T6d0dkwz754RFH27hg==", + "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -2407,6 +2566,16 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", @@ -2466,6 +2635,16 @@ "dev": true, "license": "MIT" }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -2833,6 +3012,13 @@ "node": "*" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -3075,6 +3261,16 @@ "node": ">=0.1.90" } }, + "node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3356,6 +3552,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", @@ -3518,6 +3724,19 @@ "once": "^1.4.0" } }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -4242,6 +4461,17 @@ "@types/yauzl": "^2.9.1" } }, + "node_modules/extract-zip/node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/fast-content-type-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", @@ -4299,6 +4529,7 @@ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, + "license": "MIT", "dependencies": { "pend": "~1.2.0" } @@ -4545,6 +4776,19 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -4907,6 +5151,20 @@ "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", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/iconv-lite": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", @@ -5148,6 +5406,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -5403,6 +5677,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -5442,6 +5729,13 @@ "url": "https://github.com/sponsors/panva" } }, + "node_modules/jpeg-js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6135,6 +6429,24 @@ "wrappy": "1" } }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -6307,7 +6619,8 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { "version": "1.1.1", @@ -6359,6 +6672,16 @@ "resolved": "packages/playwright-webkit", "link": true }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.13.0" + } + }, "node_modules/possible-typed-array-names": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", @@ -7145,6 +7468,57 @@ "node": "*" } }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", @@ -7153,6 +7527,17 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/spawn-command": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", @@ -7255,6 +7640,17 @@ "node": ">= 0.4" } }, + "node_modules/stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -8028,10 +8424,11 @@ "dev": true }, "node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -8127,13 +8524,27 @@ } }, "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.1.tgz", + "integrity": "sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3" } }, "node_modules/yocto-queue": { @@ -8149,10 +8560,11 @@ } }, "node_modules/zod": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz", - "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } diff --git a/package.json b/package.json index a1c2dd52f749d..620a1e136b7e1 100644 --- a/package.json +++ b/package.json @@ -62,25 +62,41 @@ "@octokit/graphql-schema": "^15.26.0", "@stylistic/eslint-plugin": "^5.2.3", "@types/codemirror": "^5.60.7", + "@types/debug": "^4.1.7", + "@types/diff": "^5.2.3", "@types/formidable": "^2.0.4", + "@types/ini": "^4.1.1", + "@types/mime": "^2.0.3", + "@types/minimatch": "^3.0.5", "@types/node": "18.19.76", + "@types/pngjs": "^6.0.1", + "@types/progress": "^2.0.5", + "@types/proper-lockfile": "^4.1.2", + "@types/proxy-from-env": "^1.0.1", "@types/react": "^19.2.1", "@types/react-dom": "^19.2.1", - "@types/ws": "^8.5.3", + "@types/source-map-support": "^0.5.4", + "@types/stack-utils": "^2.0.1", + "@types/stoppable": "^1.1.1", + "@types/ws": "8.2.2", "@types/xml2js": "^0.4.9", + "@types/yauzl": "^2.10.3", + "@types/yazl": "^2.4.2", "@typescript-eslint/eslint-plugin": "^8.41.0", "@typescript-eslint/parser": "^8.41.0", "@typescript-eslint/utils": "^8.41.0", "@vitejs/plugin-basic-ssl": "^1.1.0", "@vitejs/plugin-react": "^4.2.1", "@zip.js/zip.js": "^2.7.29", - "chokidar": "^3.5.3", + "chokidar": "3.6.0", "chromium-bidi": "^12.0.0", - "colors": "^1.4.0", + "colors": "1.4.0", + "commander": "^13.0.0", "concurrently": "^6.2.1", "cross-env": "^7.0.3", "dotenv": "^16.4.5", "electron": "^39.8.4", + "enquirer": "2.3.6", "esbuild": "^0.25.0", "eslint": "^9.34.0", "eslint-plugin-import": "^2.32.0", @@ -88,17 +104,31 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^5.2.0", "formidable": "^2.1.1", + "get-east-asian-width": "1.3.0", + "https-proxy-agent": "7.0.6", + "jpeg-js": "0.4.4", + "json5": "2.2.3", "license-checker": "^25.0.1", "mime": "^3.0.0", + "minimatch": "^3.1.4", "node-stream-zip": "^1.15.0", + "open": "8.4.0", + "pngjs": "6.0.0", + "progress": "2.0.3", "react": "^19.2.1", "react-dom": "^19.2.1", + "socks-proxy-agent": "8.0.5", + "source-map-support": "0.5.21", "ssim.js": "^3.5.0", + "stoppable": "1.1.0", "typescript": "^5.9.2", "vite": "^6.4.1", - "ws": "^8.17.1", + "ws": "8.17.1", "xml2js": "^0.5.0", "yaml": "^2.8.3", - "zod": "^4.3.5" + "yauzl": "3.2.1", + "yazl": "2.5.1", + "zod": "^4.3.6", + "zod-to-json-schema": "^3.25.1" } } diff --git a/packages/playwright-browser-chromium/install.js b/packages/playwright-browser-chromium/install.js index d14a7aeba02be..70bdc6374f64e 100644 --- a/packages/playwright-browser-chromium/install.js +++ b/packages/playwright-browser-chromium/install.js @@ -17,7 +17,7 @@ let install; try { - if (!require('playwright-core/lib/coreBundle').serverUtils.isLikelyNpxGlobal()) + if (!require('playwright-core/lib/coreBundle').utils.isLikelyNpxGlobal()) install = require('playwright-core/lib/coreBundle').registry.installBrowsersForNpmInstall; } catch (e) { // Dev build, don't install browsers by default. diff --git a/packages/playwright-browser-firefox/install.js b/packages/playwright-browser-firefox/install.js index d53beb1048213..d024766ec9124 100644 --- a/packages/playwright-browser-firefox/install.js +++ b/packages/playwright-browser-firefox/install.js @@ -17,7 +17,7 @@ let install; try { - if (!require('playwright-core/lib/coreBundle').serverUtils.isLikelyNpxGlobal()) + if (!require('playwright-core/lib/coreBundle').utils.isLikelyNpxGlobal()) install = require('playwright-core/lib/coreBundle').registry.installBrowsersForNpmInstall; } catch (e) { // Dev build, don't install browsers by default. diff --git a/packages/playwright-browser-webkit/install.js b/packages/playwright-browser-webkit/install.js index f4cb8dfcadb53..c9ac528acade0 100644 --- a/packages/playwright-browser-webkit/install.js +++ b/packages/playwright-browser-webkit/install.js @@ -17,7 +17,7 @@ let install; try { - if (!require('playwright-core/lib/coreBundle').serverUtils.isLikelyNpxGlobal()) + if (!require('playwright-core/lib/coreBundle').utils.isLikelyNpxGlobal()) install = require('playwright-core/lib/coreBundle').registry.installBrowsersForNpmInstall; } catch (e) { // Dev build, don't install browsers by default. diff --git a/packages/playwright-chromium/install.js b/packages/playwright-chromium/install.js index d14a7aeba02be..70bdc6374f64e 100644 --- a/packages/playwright-chromium/install.js +++ b/packages/playwright-chromium/install.js @@ -17,7 +17,7 @@ let install; try { - if (!require('playwright-core/lib/coreBundle').serverUtils.isLikelyNpxGlobal()) + if (!require('playwright-core/lib/coreBundle').utils.isLikelyNpxGlobal()) install = require('playwright-core/lib/coreBundle').registry.installBrowsersForNpmInstall; } catch (e) { // Dev build, don't install browsers by default. diff --git a/packages/playwright-core/ThirdPartyNotices.txt b/packages/playwright-core/ThirdPartyNotices.txt index 88044820db383..2503cf09d92bd 100644 --- a/packages/playwright-core/ThirdPartyNotices.txt +++ b/packages/playwright-core/ThirdPartyNotices.txt @@ -4,19 +4,25 @@ THIRD-PARTY SOFTWARE NOTICES AND INFORMATION This project incorporates components from the projects listed below. The original copyright notices and the licenses under which Microsoft received such components are set forth below. Microsoft reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. -- @hono/node-server@1.19.11 (https://github.com/honojs/node-server) -- @modelcontextprotocol/sdk@1.28.0 (https://github.com/modelcontextprotocol/typescript-sdk) +- @hono/node-server@1.19.13 (https://github.com/honojs/node-server) +- @modelcontextprotocol/sdk@1.29.0 (https://github.com/modelcontextprotocol/typescript-sdk) - accepts@2.0.0 (https://github.com/jshttp/accepts) - agent-base@7.1.4 (https://github.com/TooTallNate/proxy-agents) - ajv-formats@3.0.1 (https://github.com/ajv-validator/ajv-formats) - ajv@8.18.0 (https://github.com/ajv-validator/ajv) +- ansi-colors@4.1.3 (https://github.com/doowb/ansi-colors) +- anymatch@3.1.3 (https://github.com/micromatch/anymatch) - balanced-match@1.0.2 (https://github.com/juliangruber/balanced-match) +- binary-extensions@2.3.0 (https://github.com/sindresorhus/binary-extensions) - body-parser@2.2.2 (https://github.com/expressjs/body-parser) -- brace-expansion@1.1.12 (https://github.com/juliangruber/brace-expansion) +- brace-expansion@1.1.13 (https://github.com/juliangruber/brace-expansion) +- braces@3.0.3 (https://github.com/micromatch/braces) - buffer-crc32@0.2.13 (https://github.com/brianloveswords/buffer-crc32) +- buffer-from@1.1.2 (https://github.com/LinusU/buffer-from) - bytes@3.1.2 (https://github.com/visionmedia/bytes.js) - call-bind-apply-helpers@1.0.2 (https://github.com/ljharb/call-bind-apply-helpers) - call-bound@1.0.4 (https://github.com/ljharb/call-bound) +- chokidar@3.6.0 (https://github.com/paulmillr/chokidar) - codemirror@5.65.18 (https://github.com/codemirror/CodeMirror) - colors@1.4.0 (https://github.com/Marak/colors.js) - commander@13.1.0 (https://github.com/tj/commander.js) @@ -25,69 +31,74 @@ This project incorporates components from the projects listed below. The origina - content-type@1.0.5 (https://github.com/jshttp/content-type) - cookie-signature@1.2.2 (https://github.com/visionmedia/node-cookie-signature) - cookie@0.7.2 (https://github.com/jshttp/cookie) -- cors@2.8.5 (https://github.com/expressjs/cors) +- cors@2.8.6 (https://github.com/expressjs/cors) - cross-spawn@7.0.6 (https://github.com/moxystudio/node-cross-spawn) -- debug@4.3.4 (https://github.com/debug-js/debug) -- debug@4.4.0 (https://github.com/debug-js/debug) - debug@4.4.3 (https://github.com/debug-js/debug) - define-lazy-prop@2.0.0 (https://github.com/sindresorhus/define-lazy-prop) - depd@2.0.0 (https://github.com/dougwilson/nodejs-depd) - diff@8.0.4 (https://github.com/kpdecker/jsdiff) -- dotenv@16.4.5 (https://github.com/motdotla/dotenv) +- dotenv@16.6.1 (https://github.com/motdotla/dotenv) - dunder-proto@1.0.1 (https://github.com/es-shims/dunder-proto) - ee-first@1.1.1 (https://github.com/jonathanong/ee-first) - encodeurl@2.0.0 (https://github.com/pillarjs/encodeurl) -- end-of-stream@1.4.4 (https://github.com/mafintosh/end-of-stream) +- end-of-stream@1.4.5 (https://github.com/mafintosh/end-of-stream) +- enquirer@2.3.6 (https://github.com/enquirer/enquirer) - es-define-property@1.0.1 (https://github.com/ljharb/es-define-property) - es-errors@1.3.0 (https://github.com/ljharb/es-errors) - es-object-atoms@1.1.1 (https://github.com/ljharb/es-object-atoms) - escape-html@1.0.3 (https://github.com/component/escape-html) - etag@1.8.1 (https://github.com/jshttp/etag) -- eventsource-parser@3.0.3 (https://github.com/rexxars/eventsource-parser) +- eventsource-parser@3.0.6 (https://github.com/rexxars/eventsource-parser) - eventsource@3.0.7 (git://git@github.com/EventSource/eventsource) -- express-rate-limit@8.3.1 (https://github.com/express-rate-limit/express-rate-limit) +- express-rate-limit@8.3.2 (https://github.com/express-rate-limit/express-rate-limit) - express@5.2.1 (https://github.com/expressjs/express) - fast-deep-equal@3.1.3 (https://github.com/epoberezkin/fast-deep-equal) - fast-uri@3.1.0 (https://github.com/fastify/fast-uri) +- fill-range@7.1.1 (https://github.com/jonschlinkert/fill-range) - finalhandler@2.1.1 (https://github.com/pillarjs/finalhandler) - forwarded@0.2.0 (https://github.com/jshttp/forwarded) - fresh@2.0.0 (https://github.com/jshttp/fresh) - function-bind@1.1.2 (https://github.com/Raynos/function-bind) +- get-east-asian-width@1.3.0 (https://github.com/sindresorhus/get-east-asian-width) - get-intrinsic@1.3.0 (https://github.com/ljharb/get-intrinsic) - get-proto@1.0.1 (https://github.com/ljharb/get-proto) - get-stream@5.2.0 (https://github.com/sindresorhus/get-stream) +- glob-parent@5.1.2 (https://github.com/gulpjs/glob-parent) - gopd@1.2.0 (https://github.com/ljharb/gopd) - graceful-fs@4.2.10 (https://github.com/isaacs/node-graceful-fs) - has-symbols@1.1.0 (https://github.com/inspect-js/has-symbols) - hasown@2.0.2 (https://github.com/inspect-js/hasOwn) -- hono@4.12.7 (https://github.com/honojs/hono) +- hono@4.12.12 (https://github.com/honojs/hono) - http-errors@2.0.1 (https://github.com/jshttp/http-errors) - https-proxy-agent@7.0.6 (https://github.com/TooTallNate/proxy-agents) - iconv-lite@0.7.2 (https://github.com/pillarjs/iconv-lite) - inherits@2.0.4 (https://github.com/isaacs/inherits) - ini@6.0.0 (https://github.com/npm/ini) - ip-address@10.1.0 (https://github.com/beaugunderson/ip-address) -- ip-address@9.0.5 (https://github.com/beaugunderson/ip-address) - ipaddr.js@1.9.1 (https://github.com/whitequark/ipaddr.js) +- is-binary-path@2.1.0 (https://github.com/sindresorhus/is-binary-path) - is-docker@2.2.1 (https://github.com/sindresorhus/is-docker) +- is-extglob@2.1.1 (https://github.com/jonschlinkert/is-extglob) +- is-glob@4.0.3 (https://github.com/micromatch/is-glob) +- is-number@7.0.0 (https://github.com/jonschlinkert/is-number) - is-promise@4.0.0 (https://github.com/then/is-promise) - is-wsl@2.2.0 (https://github.com/sindresorhus/is-wsl) - isexe@2.0.0 (https://github.com/isaacs/isexe) -- jose@6.1.3 (https://github.com/panva/jose) +- jose@6.2.2 (https://github.com/panva/jose) - jpeg-js@0.4.4 (https://github.com/eugeneware/jpeg-js) -- jsbn@1.1.0 (https://github.com/andyperlitch/jsbn) - json-schema-traverse@1.0.0 (https://github.com/epoberezkin/json-schema-traverse) - json-schema-typed@8.0.2 (https://github.com/RemyRylan/json-schema-typed) +- json5@2.2.3 (https://github.com/json5/json5) - math-intrinsics@1.1.0 (https://github.com/es-shims/math-intrinsics) - media-typer@1.1.0 (https://github.com/jshttp/media-typer) - merge-descriptors@2.0.0 (https://github.com/sindresorhus/merge-descriptors) - mime-db@1.54.0 (https://github.com/jshttp/mime-db) - mime-types@3.0.2 (https://github.com/jshttp/mime-types) - mime@3.0.0 (https://github.com/broofa/mime) -- minimatch@3.1.4 (https://github.com/isaacs/minimatch) -- ms@2.1.2 (https://github.com/zeit/ms) +- minimatch@3.1.5 (https://github.com/isaacs/minimatch) - ms@2.1.3 (https://github.com/vercel/ms) - negotiator@1.0.0 (https://github.com/jshttp/negotiator) +- normalize-path@3.0.0 (https://github.com/jonschlinkert/normalize-path) - object-assign@4.1.1 (https://github.com/sindresorhus/object-assign) - object-inspect@1.13.4 (https://github.com/inspect-js/object-inspect) - on-finished@2.4.1 (https://github.com/jshttp/on-finished) @@ -95,17 +106,19 @@ This project incorporates components from the projects listed below. The origina - open@8.4.0 (https://github.com/sindresorhus/open) - parseurl@1.3.3 (https://github.com/pillarjs/parseurl) - path-key@3.1.1 (https://github.com/sindresorhus/path-key) -- path-to-regexp@8.3.0 (https://github.com/pillarjs/path-to-regexp) +- path-to-regexp@8.4.2 (https://github.com/pillarjs/path-to-regexp) - pend@1.2.0 (https://github.com/andrewrk/node-pend) -- pkce-challenge@5.0.0 (https://github.com/crouchcd/pkce-challenge) +- picomatch@2.3.2 (https://github.com/micromatch/picomatch) +- pkce-challenge@5.0.1 (https://github.com/crouchcd/pkce-challenge) - pngjs@6.0.0 (https://github.com/lukeapage/pngjs) - progress@2.0.3 (https://github.com/visionmedia/node-progress) - proxy-addr@2.0.7 (https://github.com/jshttp/proxy-addr) - proxy-from-env@2.0.0 (https://github.com/Rob--W/proxy-from-env) -- pump@3.0.2 (https://github.com/mafintosh/pump) +- pump@3.0.4 (https://github.com/mafintosh/pump) - qs@6.15.0 (https://github.com/ljharb/qs) - range-parser@1.2.1 (https://github.com/jshttp/range-parser) - raw-body@3.0.2 (https://github.com/stream-utils/raw-body) +- readdirp@3.6.0 (https://github.com/paulmillr/readdirp) - require-from-string@2.0.2 (https://github.com/floatdrop/require-from-string) - retry@0.12.0 (https://github.com/tim-kos/node-retry) - router@2.2.0 (https://github.com/pillarjs/router) @@ -122,9 +135,12 @@ This project incorporates components from the projects listed below. The origina - signal-exit@3.0.7 (https://github.com/tapjs/signal-exit) - smart-buffer@4.2.0 (https://github.com/JoshGlazebrook/smart-buffer) - socks-proxy-agent@8.0.5 (https://github.com/TooTallNate/proxy-agents) -- socks@2.8.3 (https://github.com/JoshGlazebrook/socks) -- sprintf-js@1.1.3 (https://github.com/alexei/sprintf.js) +- socks@2.8.7 (https://github.com/JoshGlazebrook/socks) +- source-map-support@0.5.21 (https://github.com/evanw/node-source-map-support) +- source-map@0.6.1 (https://github.com/mozilla/source-map) - statuses@2.0.2 (https://github.com/jshttp/statuses) +- stoppable@1.1.0 (https://github.com/hunterloftis/stoppable) +- to-regex-range@5.0.1 (https://github.com/micromatch/to-regex-range) - toidentifier@1.0.1 (https://github.com/component/toidentifier) - type-is@2.0.1 (https://github.com/jshttp/type-is) - unpipe@1.0.0 (https://github.com/stream-utils/unpipe) @@ -135,10 +151,10 @@ This project incorporates components from the projects listed below. The origina - yaml@2.8.3 (https://github.com/eemeli/yaml) - yauzl@3.2.1 (https://github.com/thejoshwolfe/yauzl) - yazl@2.5.1 (https://github.com/thejoshwolfe/yazl) -- zod-to-json-schema@3.25.1 (https://github.com/StefanTerdell/zod-to-json-schema) +- zod-to-json-schema@3.25.2 (https://github.com/StefanTerdell/zod-to-json-schema) - zod@4.3.6 (https://github.com/colinhacks/zod) -%% @hono/node-server@1.19.11 NOTICES AND INFORMATION BEGIN HERE +%% @hono/node-server@1.19.13 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -162,9 +178,9 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF @hono/node-server@1.19.11 AND INFORMATION +END OF @hono/node-server@1.19.13 AND INFORMATION -%% @modelcontextprotocol/sdk@1.28.0 NOTICES AND INFORMATION BEGIN HERE +%% @modelcontextprotocol/sdk@1.29.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -188,7 +204,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF @modelcontextprotocol/sdk@1.28.0 AND INFORMATION +END OF @modelcontextprotocol/sdk@1.29.0 AND INFORMATION %% accepts@2.0.0 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -297,6 +313,52 @@ SOFTWARE. ========================================= END OF ajv@8.18.0 AND INFORMATION +%% ansi-colors@4.1.3 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2015-present, Brian Woodward. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF ansi-colors@4.1.3 AND INFORMATION + +%% anymatch@3.1.3 NOTICES AND INFORMATION BEGIN HERE +========================================= +The ISC License + +Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF anymatch@3.1.3 AND INFORMATION + %% balanced-match@1.0.2 NOTICES AND INFORMATION BEGIN HERE ========================================= (MIT) @@ -323,6 +385,21 @@ SOFTWARE. ========================================= END OF balanced-match@1.0.2 AND INFORMATION +%% binary-extensions@2.3.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) +Copyright (c) Paul Miller (https://paulmillr.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF binary-extensions@2.3.0 AND INFORMATION + %% body-parser@2.2.2 NOTICES AND INFORMATION BEGIN HERE ========================================= (The MIT License) @@ -351,7 +428,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF body-parser@2.2.2 AND INFORMATION -%% brace-expansion@1.1.12 NOTICES AND INFORMATION BEGIN HERE +%% brace-expansion@1.1.13 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -375,7 +452,33 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF brace-expansion@1.1.12 AND INFORMATION +END OF brace-expansion@1.1.13 AND INFORMATION + +%% braces@3.0.3 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF braces@3.0.3 AND INFORMATION %% buffer-crc32@0.2.13 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -401,6 +504,32 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEAL ========================================= END OF buffer-crc32@0.2.13 AND INFORMATION +%% buffer-from@1.1.2 NOTICES AND INFORMATION BEGIN HERE +========================================= +MIT License + +Copyright (c) 2016, 2018 Linus Unnebäck + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF buffer-from@1.1.2 AND INFORMATION + %% bytes@3.1.2 NOTICES AND INFORMATION BEGIN HERE ========================================= (The MIT License) @@ -481,6 +610,32 @@ SOFTWARE. ========================================= END OF call-bound@1.0.4 AND INFORMATION +%% chokidar@3.6.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the “Software”), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF chokidar@3.6.0 AND INFORMATION + %% codemirror@5.65.18 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -696,7 +851,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF cookie@0.7.2 AND INFORMATION -%% cors@2.8.5 NOTICES AND INFORMATION BEGIN HERE +%% cors@2.8.6 NOTICES AND INFORMATION BEGIN HERE ========================================= (The MIT License) @@ -721,7 +876,7 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF cors@2.8.5 AND INFORMATION +END OF cors@2.8.6 AND INFORMATION %% cross-spawn@7.0.6 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -749,54 +904,6 @@ THE SOFTWARE. ========================================= END OF cross-spawn@7.0.6 AND INFORMATION -%% debug@4.3.4 NOTICES AND INFORMATION BEGIN HERE -========================================= -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk -Copyright (c) 2018-2021 Josh Junon - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF debug@4.3.4 AND INFORMATION - -%% debug@4.4.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -(The MIT License) - -Copyright (c) 2014-2017 TJ Holowaychuk -Copyright (c) 2018-2021 Josh Junon - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software -and associated documentation files (the 'Software'), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial -portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF debug@4.4.0 AND INFORMATION - %% debug@4.4.3 NOTICES AND INFORMATION BEGIN HERE ========================================= (The MIT License) @@ -896,7 +1003,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ========================================= END OF diff@8.0.4 AND INFORMATION -%% dotenv@16.4.5 NOTICES AND INFORMATION BEGIN HERE +%% dotenv@16.6.1 NOTICES AND INFORMATION BEGIN HERE ========================================= Copyright (c) 2015, Scott Motte All rights reserved. @@ -922,7 +1029,7 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ========================================= -END OF dotenv@16.4.5 AND INFORMATION +END OF dotenv@16.6.1 AND INFORMATION %% dunder-proto@1.0.1 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1003,7 +1110,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF encodeurl@2.0.0 AND INFORMATION -%% end-of-stream@1.4.4 NOTICES AND INFORMATION BEGIN HERE +%% end-of-stream@1.4.5 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -1027,7 +1134,33 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF end-of-stream@1.4.4 AND INFORMATION +END OF end-of-stream@1.4.5 AND INFORMATION + +%% enquirer@2.3.6 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2016-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF enquirer@2.3.6 AND INFORMATION %% es-define-property@1.0.1 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1163,7 +1296,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF etag@1.8.1 AND INFORMATION -%% eventsource-parser@3.0.3 NOTICES AND INFORMATION BEGIN HERE +%% eventsource-parser@3.0.6 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -1187,7 +1320,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF eventsource-parser@3.0.3 AND INFORMATION +END OF eventsource-parser@3.0.6 AND INFORMATION %% eventsource@3.0.7 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1216,7 +1349,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF eventsource@3.0.7 AND INFORMATION -%% express-rate-limit@8.3.1 NOTICES AND INFORMATION BEGIN HERE +%% express-rate-limit@8.3.2 NOTICES AND INFORMATION BEGIN HERE ========================================= # MIT License @@ -1239,7 +1372,7 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF express-rate-limit@8.3.1 AND INFORMATION +END OF express-rate-limit@8.3.2 AND INFORMATION %% express@5.2.1 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1333,6 +1466,32 @@ The complete list of contributors can be found at: ========================================= END OF fast-uri@3.1.0 AND INFORMATION +%% fill-range@7.1.1 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF fill-range@7.1.1 AND INFORMATION + %% finalhandler@2.1.1 NOTICES AND INFORMATION BEGIN HERE ========================================= (The MIT License) @@ -1439,6 +1598,20 @@ THE SOFTWARE. ========================================= END OF function-bind@1.1.2 AND INFORMATION +%% get-east-asian-width@1.3.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF get-east-asian-width@1.3.0 AND INFORMATION + %% get-intrinsic@1.3.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -1505,6 +1678,26 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF get-stream@5.2.0 AND INFORMATION +%% glob-parent@5.1.2 NOTICES AND INFORMATION BEGIN HERE +========================================= +The ISC License + +Copyright (c) 2015, 2019 Elan Shanker + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF glob-parent@5.1.2 AND INFORMATION + %% gopd@1.2.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -1603,7 +1796,7 @@ SOFTWARE. ========================================= END OF hasown@2.0.2 AND INFORMATION -%% hono@4.12.7 NOTICES AND INFORMATION BEGIN HERE +%% hono@4.12.12 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -1627,7 +1820,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF hono@4.12.7 AND INFORMATION +END OF hono@4.12.12 AND INFORMATION %% http-errors@2.0.1 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1772,9 +1965,9 @@ THE SOFTWARE. ========================================= END OF ip-address@10.1.0 AND INFORMATION -%% ip-address@9.0.5 NOTICES AND INFORMATION BEGIN HERE +%% ipaddr.js@1.9.1 NOTICES AND INFORMATION BEGIN HERE ========================================= -Copyright (C) 2011 by Beau Gunderson +Copyright (C) 2011-2017 whitequark Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1794,31 +1987,21 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF ip-address@9.0.5 AND INFORMATION +END OF ipaddr.js@1.9.1 AND INFORMATION -%% ipaddr.js@1.9.1 NOTICES AND INFORMATION BEGIN HERE +%% is-binary-path@2.1.0 NOTICES AND INFORMATION BEGIN HERE ========================================= -Copyright (C) 2011-2017 whitequark +MIT License -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF ipaddr.js@1.9.1 AND INFORMATION +END OF is-binary-path@2.1.0 AND INFORMATION %% is-docker@2.2.1 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1834,6 +2017,84 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF is-docker@2.2.1 AND INFORMATION +%% is-extglob@2.1.1 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF is-extglob@2.1.1 AND INFORMATION + +%% is-glob@4.0.3 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF is-glob@4.0.3 AND INFORMATION + +%% is-number@7.0.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF is-number@7.0.0 AND INFORMATION + %% is-promise@4.0.0 NOTICES AND INFORMATION BEGIN HERE ========================================= Copyright (c) 2014 Forbes Lindesay @@ -1892,7 +2153,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ========================================= END OF isexe@2.0.0 AND INFORMATION -%% jose@6.1.3 NOTICES AND INFORMATION BEGIN HERE +%% jose@6.2.2 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -1916,7 +2177,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF jose@6.1.3 AND INFORMATION +END OF jose@6.2.2 AND INFORMATION %% jpeg-js@0.4.4 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -1948,51 +2209,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ========================================= END OF jpeg-js@0.4.4 AND INFORMATION -%% jsbn@1.1.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -Licensing ---------- - -This software is covered under the following copyright: - -/* - * Copyright (c) 2003-2005 Tom Wu - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * In addition, the following condition applies: - * - * All redistributions must retain an intact copy of this copyright notice - * and disclaimer. - */ - -Address all questions regarding this license to: - - Tom Wu - tjw@cs.Stanford.EDU -========================================= -END OF jsbn@1.1.0 AND INFORMATION - %% json-schema-traverse@1.0.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -2081,6 +2297,34 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ========================================= END OF json-schema-typed@8.0.2 AND INFORMATION +%% json5@2.2.3 NOTICES AND INFORMATION BEGIN HERE +========================================= +MIT License + +Copyright (c) 2012-2018 Aseem Kishore, and [others]. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +[others]: https://github.com/json5/json5/contributors +========================================= +END OF json5@2.2.3 AND INFORMATION + %% math-intrinsics@1.1.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -2232,7 +2476,7 @@ THE SOFTWARE. ========================================= END OF mime@3.0.0 AND INFORMATION -%% minimatch@3.1.4 NOTICES AND INFORMATION BEGIN HERE +%% minimatch@3.1.5 NOTICES AND INFORMATION BEGIN HERE ========================================= The ISC License @@ -2250,33 +2494,7 @@ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ========================================= -END OF minimatch@3.1.4 AND INFORMATION - -%% ms@2.1.2 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2016 Zeit, Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -========================================= -END OF ms@2.1.2 AND INFORMATION +END OF minimatch@3.1.5 AND INFORMATION %% ms@2.1.3 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -2333,6 +2551,32 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF negotiator@1.0.0 AND INFORMATION +%% normalize-path@3.0.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-2018, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF normalize-path@3.0.0 AND INFORMATION + %% object-assign@4.1.1 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -2489,7 +2733,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF path-key@3.1.1 AND INFORMATION -%% path-to-regexp@8.3.0 NOTICES AND INFORMATION BEGIN HERE +%% path-to-regexp@8.4.2 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -2513,7 +2757,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF path-to-regexp@8.3.0 AND INFORMATION +END OF path-to-regexp@8.4.2 AND INFORMATION %% pend@1.2.0 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -2543,7 +2787,33 @@ SOFTWARE. ========================================= END OF pend@1.2.0 AND INFORMATION -%% pkce-challenge@5.0.0 NOTICES AND INFORMATION BEGIN HERE +%% picomatch@2.3.2 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2017-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF picomatch@2.3.2 AND INFORMATION + +%% pkce-challenge@5.0.1 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -2567,7 +2837,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF pkce-challenge@5.0.0 AND INFORMATION +END OF pkce-challenge@5.0.1 AND INFORMATION %% pngjs@6.0.0 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -2673,7 +2943,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF proxy-from-env@2.0.0 AND INFORMATION -%% pump@3.0.2 NOTICES AND INFORMATION BEGIN HERE +%% pump@3.0.4 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -2697,7 +2967,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF pump@3.0.2 AND INFORMATION +END OF pump@3.0.4 AND INFORMATION %% qs@6.15.0 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -2788,6 +3058,32 @@ THE SOFTWARE. ========================================= END OF raw-body@3.0.2 AND INFORMATION +%% readdirp@3.6.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +MIT License + +Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF readdirp@3.6.0 AND INFORMATION + %% require-from-string@2.0.2 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -3175,7 +3471,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF socks-proxy-agent@8.0.5 AND INFORMATION -%% socks@2.8.3 NOTICES AND INFORMATION BEGIN HERE +%% socks@2.8.7 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -3198,36 +3494,65 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= -END OF socks@2.8.3 AND INFORMATION +END OF socks@2.8.7 AND INFORMATION + +%% source-map-support@0.5.21 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014 Evan Wallace + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF source-map-support@0.5.21 AND INFORMATION -%% sprintf-js@1.1.3 NOTICES AND INFORMATION BEGIN HERE +%% source-map@0.6.1 NOTICES AND INFORMATION BEGIN HERE ========================================= -Copyright (c) 2007-present, Alexandru Mărășteanu +Copyright (c) 2009-2011, Mozilla Foundation and contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -* Neither the name of this software nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the names of the Mozilla Foundation nor the names of project + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ========================================= -END OF sprintf-js@1.1.3 AND INFORMATION +END OF source-map@0.6.1 AND INFORMATION %% statuses@2.0.2 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -3256,6 +3581,58 @@ THE SOFTWARE. ========================================= END OF statuses@2.0.2 AND INFORMATION +%% stoppable@1.1.0 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2017 Hunter Loftis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF stoppable@1.1.0 AND INFORMATION + +%% to-regex-range@5.0.1 NOTICES AND INFORMATION BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2015-present, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF to-regex-range@5.0.1 AND INFORMATION + %% toidentifier@1.0.1 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -3499,7 +3876,7 @@ SOFTWARE. ========================================= END OF yazl@2.5.1 AND INFORMATION -%% zod-to-json-schema@3.25.1 NOTICES AND INFORMATION BEGIN HERE +%% zod-to-json-schema@3.25.2 NOTICES AND INFORMATION BEGIN HERE ========================================= ISC License @@ -3517,7 +3894,7 @@ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ========================================= -END OF zod-to-json-schema@3.25.1 AND INFORMATION +END OF zod-to-json-schema@3.25.2 AND INFORMATION %% zod@4.3.6 NOTICES AND INFORMATION BEGIN HERE ========================================= @@ -3547,6 +3924,6 @@ END OF zod@4.3.6 AND INFORMATION SUMMARY BEGIN HERE ========================================= -Total Packages: 133 +Total Packages: 149 ========================================= END OF SUMMARY \ No newline at end of file diff --git a/packages/playwright-core/bundles/mcp/package-lock.json b/packages/playwright-core/bundles/mcp/package-lock.json deleted file mode 100644 index 32fb6ed64ab7d..0000000000000 --- a/packages/playwright-core/bundles/mcp/package-lock.json +++ /dev/null @@ -1,1136 +0,0 @@ -{ - "name": "mcp-bundle", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "mcp-bundle", - "version": "0.0.1", - "dependencies": { - "@modelcontextprotocol/sdk": "^1.28.0", - "zod": "^4.3.6", - "zod-to-json-schema": "^3.25.1" - } - }, - "node_modules/@hono/node-server": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.11.tgz", - "integrity": "sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==", - "license": "MIT", - "engines": { - "node": ">=18.14.1" - }, - "peerDependencies": { - "hono": "^4" - } - }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.28.0.tgz", - "integrity": "sha512-gmloF+i+flI8ouQK7MWW4mOwuMh4RePBuPFAEPC6+pdqyWOUMDOixb6qZ69owLJpz6XmyllCouc4t8YWO+E2Nw==", - "license": "MIT", - "dependencies": { - "@hono/node-server": "^1.19.9", - "ajv": "^8.17.1", - "ajv-formats": "^3.0.1", - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.5", - "eventsource": "^3.0.2", - "eventsource-parser": "^3.0.0", - "express": "^5.2.1", - "express-rate-limit": "^8.2.1", - "hono": "^4.11.4", - "jose": "^6.1.3", - "json-schema-typed": "^8.0.2", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.25 || ^4.0", - "zod-to-json-schema": "^3.25.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@cfworker/json-schema": "^4.1.1", - "zod": "^3.25 || ^4.0" - }, - "peerDependenciesMeta": { - "@cfworker/json-schema": { - "optional": true - }, - "zod": { - "optional": false - } - } - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventsource": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", - "license": "MIT", - "dependencies": { - "eventsource-parser": "^3.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.3.tgz", - "integrity": "sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==", - "license": "MIT", - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.1.tgz", - "integrity": "sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==", - "license": "MIT", - "dependencies": { - "ip-address": "10.1.0" - }, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": ">= 4.11" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hono": { - "version": "4.12.7", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.7.tgz", - "integrity": "sha512-jq9l1DM0zVIvsm3lv9Nw9nlJnMNPOcAtsbsgiUhWcFzPE99Gvo6yRTlszSLLYacMeQ6quHD6hMfId8crVHvexw==", - "license": "MIT", - "engines": { - "node": ">=16.9.0" - } - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ip-address": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", - "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/json-schema-typed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", - "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", - "license": "BSD-2-Clause" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/pkce-challenge": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", - "license": "MIT", - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.3", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-static": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.25 || ^4" - } - } - } -} diff --git a/packages/playwright-core/bundles/mcp/package.json b/packages/playwright-core/bundles/mcp/package.json deleted file mode 100644 index d764e0e885abc..0000000000000 --- a/packages/playwright-core/bundles/mcp/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "mcp-bundle", - "version": "0.0.1", - "private": true, - "dependencies": { - "@modelcontextprotocol/sdk": "^1.28.0", - "zod": "^4.3.6", - "zod-to-json-schema": "^3.25.1" - } -} diff --git a/packages/playwright-core/bundles/mcp/src/mcpBundleImpl.ts b/packages/playwright-core/bundles/mcp/src/mcpBundleImpl.ts deleted file mode 100644 index d6d022be8ea4b..0000000000000 --- a/packages/playwright-core/bundles/mcp/src/mcpBundleImpl.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { Client } from '@modelcontextprotocol/sdk/client/index.js'; -export { Server } from '@modelcontextprotocol/sdk/server/index.js'; -export { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js'; -export { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; -export { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; -export { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; -export { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; -export { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; -export { CallToolRequestSchema, ListRootsRequestSchema, ListToolsRequestSchema, PingRequestSchema, ProgressNotificationSchema } from '@modelcontextprotocol/sdk/types.js'; -export { zodToJsonSchema } from 'zod-to-json-schema'; diff --git a/packages/playwright-core/bundles/utils/package-lock.json b/packages/playwright-core/bundles/utils/package-lock.json index f7742ffd75f08..b9809d98a4eda 100644 --- a/packages/playwright-core/bundles/utils/package-lock.json +++ b/packages/playwright-core/bundles/utils/package-lock.json @@ -8,15 +8,21 @@ "name": "utils-bundle", "version": "0.0.1", "dependencies": { + "@modelcontextprotocol/sdk": "^1.28.0", + "chokidar": "3.6.0", "colors": "1.4.0", "commander": "^13.0.0", "debug": "^4.3.4", "diff": "^8.0.3", "dotenv": "^16.4.5", + "enquirer": "2.3.6", + "get-east-asian-width": "1.3.0", + "get-stream": "^5.1.0", "graceful-fs": "4.2.10", "https-proxy-agent": "7.0.6", "ini": "^6.0.0", "jpeg-js": "0.4.4", + "json5": "2.2.3", "mime": "^3.0.0", "minimatch": "^3.1.4", "open": "8.4.0", @@ -26,385 +32,1562 @@ "retry": "0.12.0", "signal-exit": "3.0.7", "socks-proxy-agent": "8.0.5", + "source-map-support": "0.5.21", + "stoppable": "1.1.0", "ws": "8.17.1", - "yaml": "^2.8.3" + "yaml": "^2.8.3", + "yauzl": "3.2.1", + "yazl": "2.5.1", + "zod": "^4.3.6", + "zod-to-json-schema": "^3.25.1" }, - "devDependencies": { - "@types/debug": "^4.1.7", - "@types/diff": "^6.0.0", - "@types/ini": "^4.1.1", - "@types/mime": "^2.0.3", - "@types/minimatch": "^3.0.5", - "@types/pngjs": "^6.0.1", - "@types/progress": "^2.0.5", - "@types/proper-lockfile": "^4.1.2", - "@types/proxy-from-env": "^1.0.1", - "@types/stack-utils": "^2.0.1", - "@types/ws": "8.2.2" + "devDependencies": {} + }, + "node_modules/@hono/node-server": { + "version": "1.19.13", + "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.13.tgz", + "integrity": "sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==", + "license": "MIT", + "engines": { + "node": ">=18.14.1" + }, + "peerDependencies": { + "hono": "^4" + } + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", + "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", + "license": "MIT", + "dependencies": { + "@hono/node-server": "^1.19.9", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.2.1", + "express-rate-limit": "^8.2.1", + "hono": "^4.11.4", + "jose": "^6.1.3", + "json-schema-typed": "^8.0.2", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.25 || ^4.0", + "zod-to-json-schema": "^3.25.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@cfworker/json-schema": "^4.1.1", + "zod": "^3.25 || ^4.0" + }, + "peerDependenciesMeta": { + "@cfworker/json-schema": { + "optional": true + }, + "zod": { + "optional": false + } } }, - "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "dev": true, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", "dependencies": { - "@types/ms": "*" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/@types/diff": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/diff/-/diff-6.0.0.tgz", - "integrity": "sha512-dhVCYGv3ZSbzmQaBSagrv1WJ6rXCdkyTcDyoNu1MD8JohI7pR7k8wdZEm+mvdxRKXyHVwckFzWU1vJc+Z29MlA==", - "dev": true, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "license": "MIT" }, - "node_modules/@types/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@types/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-MIyNUZipBTbyUNnhvuXJTY7B6qNI78meck9Jbv3wk0OgNwRyOOVEKDutAkOs1snB/tx0FafyR6/SN4Ps0hZPeg==", - "dev": true, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", + "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.3", + "http-errors": "^2.0.0", + "iconv-lite": "^0.7.0", + "on-finished": "^2.4.1", + "qs": "^6.14.1", + "raw-body": "^3.0.1", + "type-is": "^2.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "license": "MIT" }, - "node_modules/@types/mime": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz", - "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==", - "dev": true + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", + "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/@types/node": { - "version": "17.0.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz", - "integrity": "sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==", - "dev": true + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } }, - "node_modules/@types/pngjs": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@types/pngjs/-/pngjs-6.0.1.tgz", - "integrity": "sha512-J39njbdW1U/6YyVXvC9+1iflZghP8jgRf2ndYghdJb5xL49LYDB+1EuAxfbuJ2IBbWIL3AjHPQhgaTxT3YaYeg==", - "dev": true, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/@types/progress": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/progress/-/progress-2.0.5.tgz", - "integrity": "sha512-ZYYVc/kSMkhH9W/4dNK/sLNra3cnkfT2nJyOAIDY+C2u6w72wa0s1aXAezVtbTsnN8HID1uhXCrLwDE2ZXpplg==", - "dev": true, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@types/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-kd4LMvcnpYkspDcp7rmXKedn8iJSCoa331zRRamUp5oanKt/CefbEGPQP7G89enz7sKD4bvsr8mHSsC8j5WOvA==", - "dev": true, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { - "@types/retry": "*" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/@types/proxy-from-env": { + "node_modules/dunder-proto": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/proxy-from-env/-/proxy-from-env-1.0.1.tgz", - "integrity": "sha512-luG++TFHyS61eKcfkR1CVV6a1GMNXDjtqEQIIfaSHax75xp0HU3SlezjOi1yqubJwrG8e9DeW59n6wTblIDwFg==", - "dev": true, + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "node_modules/@types/ws": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.2.2.tgz", - "integrity": "sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==", - "dev": true, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", "dependencies": { - "@types/node": "*" + "once": "^1.4.0" } }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, "engines": { - "node": ">= 14" + "node": ">=8.6" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/express": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", + "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.1", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "depd": "^2.0.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.3.2.tgz", + "integrity": "sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==", + "license": "MIT", + "dependencies": { + "ip-address": "10.1.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", + "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hono": { + "version": "4.12.12", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.12.tgz", + "integrity": "sha512-p1JfQMKaceuCbpJKAPKVqyqviZdS0eUxH9v82oWo1kb9xjQ5wA6iP3FNVAPDFlz5/p7d45lO+BpSk1tuSZMF4Q==", + "license": "MIT", + "engines": { + "node": ">=16.9.0" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", + "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jose": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.2.tgz", + "integrity": "sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/jpeg-js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", + "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==", + "license": "BSD-3-Clause" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json-schema-typed": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", + "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", + "license": "BSD-2-Clause" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", + "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "license": "MIT", + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "license": "MIT", "engines": { - "node": ">=0.1.90" + "node": ">=0.4.0" } }, - "node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, "engines": { - "node": ">=18" + "node": ">= 0.10" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "node_modules/proxy-from-env": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.0.0.tgz", + "integrity": "sha512-h2lD3OfRraP3R51rNFKIE8nX+qoLr1mE74X91YhVxtDbt+OD6ntoNZv56+JgI4RCdtwQ5eexsOk1KdOQDfvPCQ==", + "license": "MIT" }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", + "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "license": "BSD-3-Clause", "dependencies": { - "ms": "2.1.2" + "side-channel": "^1.1.0" }, "engines": { - "node": ">=6.0" + "node": ">=0.6" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/diff": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", - "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", - "license": "BSD-3-Clause", + "node_modules/raw-body": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", + "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.7.0", + "unpipe": "~1.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">= 0.10" } }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "engines": { - "node": ">=12" + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" }, - "funding": { - "url": "https://dotenvx.com" + "engines": { + "node": ">=8.10.0" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.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", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, "engines": { - "node": ">= 14" + "node": ">= 4" } }, - "node_modules/ini": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz", - "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==", - "license": "ISC", + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, "engines": { - "node": "^20.17.0 || >=22.9.0" + "node": ">= 18" } }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", + "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", + "license": "MIT", "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" + "debug": "^4.4.3", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.1", + "mime-types": "^3.0.2", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.2" }, "engines": { - "node": ">= 12" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/is-docker": { + "node_modules/serve-static": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", + "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" }, "engines": { - "node": ">=8" + "node": ">= 18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/jpeg-js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", - "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" - }, - "node_modules/mime": { + "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" - }, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/minimatch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", - "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", - "license": "ISC", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" }, "engines": { - "node": "*" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==" - }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pngjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", - "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", - "engines": { - "node": ">=12.13.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/proxy-from-env": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.0.0.tgz", - "integrity": "sha512-h2lD3OfRraP3R51rNFKIE8nX+qoLr1mE74X91YhVxtDbt+OD6ntoNZv56+JgI4RCdtwQ5eexsOk1KdOQDfvPCQ==", - "license": "MIT" - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, "engines": { - "node": ">= 4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, "node_modules/socks": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", - "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "license": "MIT", "dependencies": { - "ip-address": "^9.0.5", + "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -426,15 +1609,123 @@ "node": ">= 14" } }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "license": "MIT", + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" }, "node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -465,6 +1756,46 @@ "funding": { "url": "https://github.com/sponsors/eemeli" } + }, + "node_modules/yauzl": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.1.tgz", + "integrity": "sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25.28 || ^4" + } } } } diff --git a/packages/playwright-core/bundles/utils/package.json b/packages/playwright-core/bundles/utils/package.json index 15957f7b861cb..4ac682f9c3445 100644 --- a/packages/playwright-core/bundles/utils/package.json +++ b/packages/playwright-core/bundles/utils/package.json @@ -3,15 +3,21 @@ "version": "0.0.1", "private": true, "dependencies": { + "@modelcontextprotocol/sdk": "^1.28.0", + "chokidar": "3.6.0", "colors": "1.4.0", "commander": "^13.0.0", "debug": "^4.3.4", "diff": "^8.0.3", "dotenv": "^16.4.5", + "enquirer": "2.3.6", + "get-east-asian-width": "1.3.0", + "get-stream": "^5.1.0", "graceful-fs": "4.2.10", "https-proxy-agent": "7.0.6", "ini": "^6.0.0", "jpeg-js": "0.4.4", + "json5": "2.2.3", "mime": "^3.0.0", "minimatch": "^3.1.4", "open": "8.4.0", @@ -21,20 +27,14 @@ "retry": "0.12.0", "signal-exit": "3.0.7", "socks-proxy-agent": "8.0.5", + "source-map-support": "0.5.21", + "stoppable": "1.1.0", "ws": "8.17.1", - "yaml": "^2.8.3" + "yauzl": "3.2.1", + "yazl": "2.5.1", + "yaml": "^2.8.3", + "zod": "^4.3.6", + "zod-to-json-schema": "^3.25.1" }, - "devDependencies": { - "@types/debug": "^4.1.7", - "@types/diff": "^6.0.0", - "@types/ini": "^4.1.1", - "@types/mime": "^2.0.3", - "@types/minimatch": "^3.0.5", - "@types/pngjs": "^6.0.1", - "@types/progress": "^2.0.5", - "@types/proper-lockfile": "^4.1.2", - "@types/proxy-from-env": "^1.0.1", - "@types/stack-utils": "^2.0.1", - "@types/ws": "8.2.2" - } + "devDependencies": {} } diff --git a/packages/playwright-core/bundles/mcp/raw-body.ts b/packages/playwright-core/bundles/utils/raw-body.ts similarity index 100% rename from packages/playwright-core/bundles/mcp/raw-body.ts rename to packages/playwright-core/bundles/utils/raw-body.ts diff --git a/packages/playwright-core/bundles/zip/src/third_party/extract-zip.d.ts b/packages/playwright-core/bundles/utils/src/third_party/extract-zip.d.ts similarity index 100% rename from packages/playwright-core/bundles/zip/src/third_party/extract-zip.d.ts rename to packages/playwright-core/bundles/utils/src/third_party/extract-zip.d.ts diff --git a/packages/playwright-core/bundles/zip/src/third_party/extract-zip.js b/packages/playwright-core/bundles/utils/src/third_party/extract-zip.js similarity index 100% rename from packages/playwright-core/bundles/zip/src/third_party/extract-zip.js rename to packages/playwright-core/bundles/utils/src/third_party/extract-zip.js diff --git a/packages/playwright-core/bundles/utils/src/utilsBundleImpl.ts b/packages/playwright-core/bundles/utils/src/utilsBundleImpl.ts index 3b15106ae6438..b6a494e60cd10 100644 --- a/packages/playwright-core/bundles/utils/src/utilsBundleImpl.ts +++ b/packages/playwright-core/bundles/utils/src/utilsBundleImpl.ts @@ -69,3 +69,39 @@ export const wsSender = Sender; import yamlLibrary from 'yaml'; export const yaml = yamlLibrary; + +import json5Library from 'json5'; +export const json5 = json5Library; + +import sourceMapSupportLibrary from 'source-map-support'; +export const sourceMapSupport = sourceMapSupportLibrary; + +import stoppableLibrary from 'stoppable'; +export const stoppable = stoppableLibrary; + +import enquirerLibrary from 'enquirer'; +export const enquirer = enquirerLibrary; + +import chokidarLibrary from 'chokidar'; +export const chokidar = chokidarLibrary; + +import * as getEastAsianWidthLibrary from 'get-east-asian-width'; +export const getEastAsianWidth = getEastAsianWidthLibrary; + +export * as yazl from 'yazl'; +export * as yauzl from 'yauzl'; +const extractZip = require('./third_party/extract-zip'); +export const extract = extractZip; + +export * as z from 'zod'; + +export { Client } from '@modelcontextprotocol/sdk/client/index.js'; +export { Server } from '@modelcontextprotocol/sdk/server/index.js'; +export { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js'; +export { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; +export { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; +export { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; +export { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; +export { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; +export { CallToolRequestSchema, ListRootsRequestSchema, ListToolsRequestSchema, PingRequestSchema, ProgressNotificationSchema } from '@modelcontextprotocol/sdk/types.js'; +export { zodToJsonSchema } from 'zod-to-json-schema'; diff --git a/packages/playwright-core/bundles/zip/package-lock.json b/packages/playwright-core/bundles/zip/package-lock.json deleted file mode 100644 index 86867d166167b..0000000000000 --- a/packages/playwright-core/bundles/zip/package-lock.json +++ /dev/null @@ -1,258 +0,0 @@ -{ - "name": "zip-bundle", - "version": "0.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "zip-bundle", - "version": "0.0.1", - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "3.2.1", - "yazl": "2.5.1" - }, - "devDependencies": { - "@types/yauzl": "^2.10.3", - "@types/yazl": "^2.4.2" - } - }, - "node_modules/@types/node": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz", - "integrity": "sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==", - "dev": true - }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yazl": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.2.tgz", - "integrity": "sha512-T+9JH8O2guEjXNxqmybzQ92mJUh2oCwDDMSSimZSe1P+pceZiFROZLYmcbqkzV5EUwz6VwcKXCO2S2yUpra6XQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "license": "MIT" - }, - "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/yauzl": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.1.tgz", - "integrity": "sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==", - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "pend": "~1.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yazl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", - "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "dependencies": { - "buffer-crc32": "~0.2.3" - } - } - }, - "dependencies": { - "@types/node": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.24.tgz", - "integrity": "sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==", - "dev": true - }, - "@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/yazl": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.2.tgz", - "integrity": "sha512-T+9JH8O2guEjXNxqmybzQ92mJUh2oCwDDMSSimZSe1P+pceZiFROZLYmcbqkzV5EUwz6VwcKXCO2S2yUpra6XQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "requires": { - "ms": "^2.1.3" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" - }, - "pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "yauzl": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.2.1.tgz", - "integrity": "sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==", - "requires": { - "buffer-crc32": "~0.2.3", - "pend": "~1.2.0" - } - }, - "yazl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", - "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", - "requires": { - "buffer-crc32": "~0.2.3" - } - } - } -} diff --git a/packages/playwright-core/bundles/zip/package.json b/packages/playwright-core/bundles/zip/package.json deleted file mode 100644 index f94290df874c1..0000000000000 --- a/packages/playwright-core/bundles/zip/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "zip-bundle", - "version": "0.0.1", - "private": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - - "yauzl": "3.2.1", - "yazl": "2.5.1" - }, - "devDependencies": { - "@types/yauzl": "^2.10.3", - "@types/yazl": "^2.4.2" - } -} diff --git a/packages/playwright-core/bundles/zip/src/zipBundleImpl.ts b/packages/playwright-core/bundles/zip/src/zipBundleImpl.ts deleted file mode 100644 index a26529342792f..0000000000000 --- a/packages/playwright-core/bundles/zip/src/zipBundleImpl.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * as yazl from 'yazl'; -export * as yauzl from 'yauzl'; -const extractZip = require('./third_party/extract-zip'); -export const extract = extractZip; diff --git a/packages/playwright-core/bundles/zod/package-lock.json b/packages/playwright-core/bundles/zod/package-lock.json deleted file mode 100644 index df2577e21920c..0000000000000 --- a/packages/playwright-core/bundles/zod/package-lock.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "zod-bundle", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "zod-bundle", - "version": "0.0.1", - "dependencies": { - "zod": "^4.3.6" - } - }, - "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - } - } -} diff --git a/packages/playwright-core/bundles/zod/package.json b/packages/playwright-core/bundles/zod/package.json deleted file mode 100644 index 5b38cf0d9d3ce..0000000000000 --- a/packages/playwright-core/bundles/zod/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "zod-bundle", - "version": "0.0.1", - "private": true, - "dependencies": { - "zod": "^4.3.6" - } -} diff --git a/packages/playwright-core/bundles/zod/src/zodBundleImpl.ts b/packages/playwright-core/bundles/zod/src/zodBundleImpl.ts deleted file mode 100644 index b95aad43e6f81..0000000000000 --- a/packages/playwright-core/bundles/zod/src/zodBundleImpl.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * as z from 'zod'; diff --git a/packages/playwright-core/package.json b/packages/playwright-core/package.json index 24ba58c8b02c6..b6633902a61e7 100644 --- a/packages/playwright-core/package.json +++ b/packages/playwright-core/package.json @@ -24,10 +24,7 @@ "./package.json": "./package.json", "./lib/bootstrap": "./lib/bootstrap.js", "./lib/coreBundle": "./lib/coreBundle.js", - "./lib/mcpBundle": "./lib/mcpBundle.js", "./lib/utilsBundle": "./lib/utilsBundle.js", - "./lib/zipBundle": "./lib/zipBundle.js", - "./lib/zodBundle": "./lib/zodBundle.js", "./lib/tools/cli-client/program": "./lib/tools/cli-client/program.js" }, "bin": { diff --git a/packages/playwright-core/src/DEPS.list b/packages/playwright-core/src/DEPS.list index 6b852f35eb76e..093f6693771a4 100644 --- a/packages/playwright-core/src/DEPS.list +++ b/packages/playwright-core/src/DEPS.list @@ -1,18 +1,16 @@ [browserServerImpl.ts] remote/ server/ -server/utils -utils/isomorphic/ -utilsBundle.ts +@utils/** +@isomorphic/** protocol/validator.ts protocol/validatorPrimitives.ts [androidServerImpl.ts] remote/ server/ -server/utils -utils/isomorphic/ -utilsBundle.ts +@utils/** +@isomorphic/** [inProcessFactory.ts] ** @@ -24,9 +22,8 @@ utilsBundle.ts client/ package.ts protocol/ -utils/ -utils/isomorphic -server/utils +@isomorphic/** +@utils/** [package.ts] "strict" diff --git a/packages/playwright-core/src/androidServerImpl.ts b/packages/playwright-core/src/androidServerImpl.ts index da6029b9d3e89..d5a3d37bfe17a 100644 --- a/packages/playwright-core/src/androidServerImpl.ts +++ b/packages/playwright-core/src/androidServerImpl.ts @@ -14,15 +14,15 @@ * limitations under the License. */ +import EventEmitter from 'events'; + +import { createGuid } from '@utils/crypto'; import { PlaywrightServer } from './remote/playwrightServer'; import { createPlaywright } from './server/playwright'; -import { createGuid } from './server/utils/crypto'; -import { ws } from './utilsBundle'; import { nullProgress, ProgressController } from './server/progress'; import type { BrowserServer } from './client/browserType'; import type { LaunchAndroidServerOptions } from './client/types'; -import type { WebSocketEventEmitter } from './utilsBundle'; export class AndroidServerLauncherImpl { async launchServer(options: LaunchAndroidServerOptions = {}): Promise { @@ -56,7 +56,7 @@ export class AndroidServerLauncherImpl { const wsEndpoint = await server.listen(options.port, options.host); // 3. Return the BrowserServer interface - const browserServer = new ws.EventEmitter() as (BrowserServer & WebSocketEventEmitter); + const browserServer = new EventEmitter() as BrowserServer & EventEmitter; browserServer.wsEndpoint = () => wsEndpoint; browserServer.close = () => device.close(nullProgress); browserServer.kill = () => device.close(nullProgress); diff --git a/packages/playwright-core/src/browserServerImpl.ts b/packages/playwright-core/src/browserServerImpl.ts index 2ea1a142c03cd..42c3388604383 100644 --- a/packages/playwright-core/src/browserServerImpl.ts +++ b/packages/playwright-core/src/browserServerImpl.ts @@ -14,14 +14,15 @@ * limitations under the License. */ +import EventEmitter from 'events'; + +import { createGuid } from '@utils/crypto'; +import { isUnderTest } from '@utils/debug'; import { PlaywrightServer } from './remote/playwrightServer'; import { helper } from './server/helper'; import { createPlaywright } from './server/playwright'; -import { createGuid } from './server/utils/crypto'; -import { isUnderTest } from './server/utils/debug'; import { rewriteErrorMessage } from './utils/isomorphic/stackTrace'; import { DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT } from './utils/isomorphic/time'; -import { ws } from './utilsBundle'; import * as validatorPrimitives from './protocol/validatorPrimitives'; import { ProgressController } from './server/progress'; @@ -85,7 +86,7 @@ export class BrowserServerLauncherImpl implements BrowserServerLauncher { const wsEndpoint = await server.listen(options.port, options.host); // 3. Return the BrowserServer interface - const browserServer = new ws.EventEmitter() as (BrowserServer & WebSocketEventEmitter); + const browserServer = new EventEmitter() as (BrowserServer & WebSocketEventEmitter); browserServer.process = () => browser.options.browserProcess.process!; browserServer.wsEndpoint = () => wsEndpoint; browserServer.close = () => browser.options.browserProcess.close(); diff --git a/packages/playwright-core/src/cli/DEPS.list b/packages/playwright-core/src/cli/DEPS.list index bbded59df996a..c3059dbd74a9b 100644 --- a/packages/playwright-core/src/cli/DEPS.list +++ b/packages/playwright-core/src/cli/DEPS.list @@ -3,9 +3,9 @@ ../package.ts ../server/ ../server/registry/ -../server/utils/ +@utils/** ../remote/ -../utils/ +../utils/** ../utilsBundle.ts ../client/ ../server/trace/viewer/ @@ -14,3 +14,6 @@ ./browserActions.ts ./installActions.ts ../bootstrap.ts +node_modules/commander +node_modules/debug +node_modules/dotenv diff --git a/packages/playwright-core/src/cli/browserActions.ts b/packages/playwright-core/src/cli/browserActions.ts index 6548d3982fe26..930e04019316a 100644 --- a/packages/playwright-core/src/cli/browserActions.ts +++ b/packages/playwright-core/src/cli/browserActions.ts @@ -20,10 +20,12 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import debug from 'debug'; +import dotenv from 'dotenv'; +import { program } from 'commander'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; +import { ManualPromise } from '@isomorphic/manualPromise'; import { playwright } from '../inprocess'; -import { gracefullyProcessExitDoNotHang, ManualPromise } from '../utils'; -import { debug, dotenv, program } from '../utilsBundle'; - import type { Browser } from '../client/browser'; import type { BrowserContext } from '../client/browserContext'; import type { BrowserType } from '../client/browserType'; diff --git a/packages/playwright-core/src/cli/driver.ts b/packages/playwright-core/src/cli/driver.ts index fba2276a5a2a2..aac39382b4f0e 100644 --- a/packages/playwright-core/src/cli/driver.ts +++ b/packages/playwright-core/src/cli/driver.ts @@ -19,12 +19,12 @@ import fs from 'fs'; import path from 'path'; +import { PipeTransport } from '@utils/pipeTransport'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { packageRoot } from '../package'; import { playwright } from '../inprocess'; -import { PipeTransport } from '../server/utils/pipeTransport'; import { PlaywrightServer } from '../remote/playwrightServer'; import { DispatcherConnection, PlaywrightDispatcher, RootDispatcher, createPlaywright } from '../server'; -import { gracefullyProcessExitDoNotHang } from '../server/utils/processLauncher'; import type { BrowserType } from '../client/browserType'; import type { LaunchServerOptions } from '../client/types'; diff --git a/packages/playwright-core/src/cli/installActions.ts b/packages/playwright-core/src/cli/installActions.ts index 47ce93fb23eb1..ee95b3e4f1428 100644 --- a/packages/playwright-core/src/cli/installActions.ts +++ b/packages/playwright-core/src/cli/installActions.ts @@ -18,10 +18,10 @@ import path from 'path'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { isLikelyNpxGlobal } from '@utils/env'; +import { assert } from '@isomorphic/assert'; import { registry, writeDockerVersion } from '../server/registry'; -import { isLikelyNpxGlobal } from '../utils'; -import { assert } from '../utils'; -import { wrapInASCIIBox } from '../server/utils/ascii'; import type { BrowserInfo } from '../server/registry'; diff --git a/packages/playwright-core/src/cli/program.ts b/packages/playwright-core/src/cli/program.ts index 2c17f8cc6374b..643f6d6c31909 100644 --- a/packages/playwright-core/src/cli/program.ts +++ b/packages/playwright-core/src/cli/program.ts @@ -17,10 +17,11 @@ /* eslint-disable no-console */ import '../bootstrap'; +import { program } from 'commander'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; +import { getPackageManagerExecCommand } from '@utils/env'; import { packageJSON } from '../package'; -import { gracefullyProcessExitDoNotHang, getPackageManagerExecCommand } from '../utils'; import { addTraceCommands } from '../tools/trace/traceCli'; -import { program } from '../utilsBundle'; import { runDriver, runServer, printApiJson, launchBrowserServer } from './driver'; import { markDockerImage } from './installActions'; import { open, codegen } from './browserActions'; diff --git a/packages/playwright-core/src/cli/programWithTestStub.ts b/packages/playwright-core/src/cli/programWithTestStub.ts index 0664610cf1f3c..0330e573efc7a 100644 --- a/packages/playwright-core/src/cli/programWithTestStub.ts +++ b/packages/playwright-core/src/cli/programWithTestStub.ts @@ -16,8 +16,8 @@ /* eslint-disable no-console */ -import { gracefullyProcessExitDoNotHang } from '../server/utils/processLauncher'; -import { getPackageManager } from '../utils'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; +import { getPackageManager } from '@utils/env'; import type { Command } from '../utilsBundle'; diff --git a/packages/playwright-core/src/client/DEPS.list b/packages/playwright-core/src/client/DEPS.list index 1c44a4a48b98d..fc43e5b9b576c 100644 --- a/packages/playwright-core/src/client/DEPS.list +++ b/packages/playwright-core/src/client/DEPS.list @@ -1,3 +1,3 @@ [*] ../protocol/ -../utils/isomorphic +@isomorphic/** diff --git a/packages/playwright-core/src/client/android.ts b/packages/playwright-core/src/client/android.ts index 23b0036f7409c..530b0d75520cf 100644 --- a/packages/playwright-core/src/client/android.ts +++ b/packages/playwright-core/src/client/android.ts @@ -14,6 +14,9 @@ * limitations under the License. */ +import { isRegExp, isString } from '@isomorphic/rtti'; +import { monotonicTime } from '@isomorphic/time'; +import { raceAgainstDeadline } from '@isomorphic/timeoutRunner'; import { EventEmitter } from './eventEmitter'; import { BrowserContext, prepareBrowserContextParams } from './browserContext'; import { ChannelOwner } from './channelOwner'; @@ -21,9 +24,6 @@ import { TargetClosedError, isTargetClosedError } from './errors'; import { Events } from './events'; import { Waiter } from './waiter'; import { TimeoutSettings } from './timeoutSettings'; -import { isRegExp, isString } from '../utils/isomorphic/rtti'; -import { monotonicTime } from '../utils/isomorphic/time'; -import { raceAgainstDeadline } from '../utils/isomorphic/timeoutRunner'; import { connectToEndpoint } from './connect'; import type { Page } from './page'; diff --git a/packages/playwright-core/src/client/browserContext.ts b/packages/playwright-core/src/client/browserContext.ts index 21f8cd349ee0d..efd47ef528c9f 100644 --- a/packages/playwright-core/src/client/browserContext.ts +++ b/packages/playwright-core/src/client/browserContext.ts @@ -15,6 +15,10 @@ * limitations under the License. */ +import { headersObjectToArray } from '@isomorphic/headers'; +import { urlMatchesEqual } from '@isomorphic/urlMatch'; +import { isRegExp, isString } from '@isomorphic/rtti'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; import { Artifact } from './artifact'; import { Browser } from './browser'; import { CDPSession } from './cdpSession'; @@ -38,15 +42,11 @@ import { WebError } from './webError'; import { Worker } from './worker'; import { TimeoutSettings } from './timeoutSettings'; import { mkdirIfNeeded } from './fileUtils'; -import { headersObjectToArray } from '../utils/isomorphic/headers'; -import { urlMatchesEqual } from '../utils/isomorphic/urlMatch'; -import { isRegExp, isString } from '../utils/isomorphic/rtti'; -import { rewriteErrorMessage } from '../utils/isomorphic/stackTrace'; import type { BrowserContextOptions, Headers, SetStorageState, StorageState, WaitForEventOptions } from './types'; import type * as structs from '../../types/structs'; import type * as api from '../../types/types'; -import type { URLMatch } from '../utils/isomorphic/urlMatch'; +import type { URLMatch } from '@isomorphic/urlMatch'; import type { Platform } from './platform'; import type * as channels from '@protocol/channels'; import type * as actions from '@recorder/actions'; diff --git a/packages/playwright-core/src/client/browserType.ts b/packages/playwright-core/src/client/browserType.ts index e77b1d076e739..293a7e6cba2f6 100644 --- a/packages/playwright-core/src/client/browserType.ts +++ b/packages/playwright-core/src/client/browserType.ts @@ -14,12 +14,12 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; +import { headersObjectToArray } from '@isomorphic/headers'; import { Browser } from './browser'; import { BrowserContext, prepareBrowserContextParams } from './browserContext'; import { ChannelOwner } from './channelOwner'; import { envObjectToArray } from './clientHelper'; -import { assert } from '../utils/isomorphic/assert'; -import { headersObjectToArray } from '../utils/isomorphic/headers'; import { connectToBrowser } from './connect'; import { TimeoutSettings } from './timeoutSettings'; diff --git a/packages/playwright-core/src/client/channelOwner.ts b/packages/playwright-core/src/client/channelOwner.ts index 2021227b345f2..92b4fd94f9a08 100644 --- a/packages/playwright-core/src/client/channelOwner.ts +++ b/packages/playwright-core/src/client/channelOwner.ts @@ -14,11 +14,11 @@ * limitations under the License. */ +import { getMetainfo } from '@isomorphic/protocolMetainfo'; +import { stringifyStackFrames } from '@isomorphic/stackTrace'; import { EventEmitter } from './eventEmitter'; import { ValidationError, maybeFindValidator } from '../protocol/validator'; -import { getMetainfo } from '../utils/isomorphic/protocolMetainfo'; import { captureLibraryStackTrace } from './clientStackTrace'; -import { stringifyStackFrames } from '../utils/isomorphic/stackTrace'; import type { ClientInstrumentation } from './clientInstrumentation'; import type { Connection } from './connection'; diff --git a/packages/playwright-core/src/client/clientHelper.ts b/packages/playwright-core/src/client/clientHelper.ts index 6c9b8aad1bfe4..eae632a7d3ce2 100644 --- a/packages/playwright-core/src/client/clientHelper.ts +++ b/packages/playwright-core/src/client/clientHelper.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { isString } from '../utils/isomorphic/rtti'; +import { isString } from '@isomorphic/rtti'; import type { Platform } from './platform'; diff --git a/packages/playwright-core/src/client/clientStackTrace.ts b/packages/playwright-core/src/client/clientStackTrace.ts index 88ded75f2ed62..afb24d3e49f08 100644 --- a/packages/playwright-core/src/client/clientStackTrace.ts +++ b/packages/playwright-core/src/client/clientStackTrace.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { captureRawStack, parseStackFrame } from '../utils/isomorphic/stackTrace'; +import { captureRawStack, parseStackFrame } from '@isomorphic/stackTrace'; import type { Platform } from './platform'; import type { StackFrame } from '@isomorphic/stackTrace'; diff --git a/packages/playwright-core/src/client/connect.ts b/packages/playwright-core/src/client/connect.ts index 15e1da7f6f90b..ffd2da4d57c24 100644 --- a/packages/playwright-core/src/client/connect.ts +++ b/packages/playwright-core/src/client/connect.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { monotonicTime } from '../utils/isomorphic/time'; -import { raceAgainstDeadline } from '../utils/isomorphic/timeoutRunner'; +import { monotonicTime } from '@isomorphic/time'; +import { raceAgainstDeadline } from '@isomorphic/timeoutRunner'; import { Browser } from './browser'; import { ChannelOwner } from './channelOwner'; import { Connection } from './connection'; diff --git a/packages/playwright-core/src/client/connection.ts b/packages/playwright-core/src/client/connection.ts index eea2d88934ef7..b2ba72309ae88 100644 --- a/packages/playwright-core/src/client/connection.ts +++ b/packages/playwright-core/src/client/connection.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; import { EventEmitter } from './eventEmitter'; import { Android, AndroidDevice, AndroidSocket } from './android'; import { Artifact } from './artifact'; @@ -42,7 +43,6 @@ import { Tracing } from './tracing'; import { Worker } from './worker'; import { WritableStream } from './writableStream'; import { ValidationError, findValidator } from '../protocol/validator'; -import { rewriteErrorMessage } from '../utils/isomorphic/stackTrace'; import type { ClientInstrumentation } from './clientInstrumentation'; import type { HeadersArray } from './types'; import type { ValidatorContext } from '../protocol/validator'; diff --git a/packages/playwright-core/src/client/elementHandle.ts b/packages/playwright-core/src/client/elementHandle.ts index c256300981cd3..0c95a4911d114 100644 --- a/packages/playwright-core/src/client/elementHandle.ts +++ b/packages/playwright-core/src/client/elementHandle.ts @@ -14,13 +14,13 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; +import { isString } from '@isomorphic/rtti'; +import { getMimeTypeForPath } from '@isomorphic/mimeType'; import { Frame } from './frame'; import { JSHandle, parseResult, serializeArgument } from './jsHandle'; -import { assert } from '../utils/isomorphic/assert'; import { fileUploadSizeLimit, mkdirIfNeeded } from './fileUtils'; -import { isString } from '../utils/isomorphic/rtti'; import { WritableStream } from './writableStream'; -import { getMimeTypeForPath } from '../utils/isomorphic/mimeType'; import type { BrowserContext } from './browserContext'; import type { ChannelOwner } from './channelOwner'; diff --git a/packages/playwright-core/src/client/errors.ts b/packages/playwright-core/src/client/errors.ts index 5d1465261f1da..7ee4438f995e8 100644 --- a/packages/playwright-core/src/client/errors.ts +++ b/packages/playwright-core/src/client/errors.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { isError } from '@isomorphic/rtti'; import { parseSerializedValue, serializeValue } from '../protocol/serializers'; -import { isError } from '../utils/isomorphic/rtti'; import type { SerializedError } from '@protocol/channels'; diff --git a/packages/playwright-core/src/client/fetch.ts b/packages/playwright-core/src/client/fetch.ts index 4b424d32b5d3b..2f04ff5fefee4 100644 --- a/packages/playwright-core/src/client/fetch.ts +++ b/packages/playwright-core/src/client/fetch.ts @@ -14,22 +14,22 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; +import { headersObjectToArray } from '@isomorphic/headers'; +import { isString } from '@isomorphic/rtti'; import { toClientCertificatesProtocol } from './browserContext'; import { ChannelOwner } from './channelOwner'; import { TargetClosedError, isTargetClosedError } from './errors'; import { RawHeaders } from './network'; import { Tracing } from './tracing'; -import { assert } from '../utils/isomorphic/assert'; import { mkdirIfNeeded } from './fileUtils'; -import { headersObjectToArray } from '../utils/isomorphic/headers'; -import { isString } from '../utils/isomorphic/rtti'; import { TimeoutSettings } from './timeoutSettings'; import type { Playwright } from './playwright'; import type { ClientCertificate, FilePayload, Headers, SetStorageState, StorageState, TimeoutOptions } from './types'; import type { Serializable } from '../../types/structs'; import type * as api from '../../types/types'; -import type { HeadersArray, NameValue } from '../utils/isomorphic/types'; +import type { HeadersArray, NameValue } from '@isomorphic/types'; import type { Platform } from './platform'; import type * as channels from '@protocol/channels'; import type * as fs from 'fs'; diff --git a/packages/playwright-core/src/client/frame.ts b/packages/playwright-core/src/client/frame.ts index 863ff31308404..93936e1b469f4 100644 --- a/packages/playwright-core/src/client/frame.ts +++ b/packages/playwright-core/src/client/frame.ts @@ -15,6 +15,9 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; +import { getByAltTextSelector, getByLabelSelector, getByPlaceholderSelector, getByRoleSelector, getByTestIdSelector, getByTextSelector, getByTitleSelector } from '@isomorphic/locatorUtils'; +import { urlMatches } from '@isomorphic/urlMatch'; import { EventEmitter } from './eventEmitter'; import { ChannelOwner } from './channelOwner'; import { addSourceUrlToScript } from './clientHelper'; @@ -25,9 +28,6 @@ import { FrameLocator, Locator, testIdAttributeName } from './locator'; import * as network from './network'; import { kLifecycleEvents } from './types'; import { Waiter } from './waiter'; -import { assert } from '../utils/isomorphic/assert'; -import { getByAltTextSelector, getByLabelSelector, getByPlaceholderSelector, getByRoleSelector, getByTestIdSelector, getByTextSelector, getByTitleSelector } from '../utils/isomorphic/locatorUtils'; -import { urlMatches } from '../utils/isomorphic/urlMatch'; import { TimeoutSettings } from './timeoutSettings'; import type { LocatorOptions } from './locator'; @@ -35,8 +35,8 @@ import type { Page } from './page'; import type { FilePayload, LifecycleEvent, SelectOption, SelectOptionOptions, StrictOptions, TimeoutOptions, WaitForFunctionOptions } from './types'; import type * as structs from '../../types/structs'; import type * as api from '../../types/types'; -import type { ByRoleOptions } from '../utils/isomorphic/locatorUtils'; -import type { URLMatch } from '../utils/isomorphic/urlMatch'; +import type { ByRoleOptions } from '@isomorphic/locatorUtils'; +import type { URLMatch } from '@isomorphic/urlMatch'; import type * as channels from '@protocol/channels'; export type WaitForNavigationOptions = { diff --git a/packages/playwright-core/src/client/harRouter.ts b/packages/playwright-core/src/client/harRouter.ts index f3f11f852e37a..b6a25bd3bee30 100644 --- a/packages/playwright-core/src/client/harRouter.ts +++ b/packages/playwright-core/src/client/harRouter.ts @@ -18,7 +18,7 @@ import type { BrowserContext } from './browserContext'; import type { LocalUtils } from './localUtils'; import type { Route } from './network'; import type { Page } from './page'; -import type { URLMatch } from '../utils/isomorphic/urlMatch'; +import type { URLMatch } from '@isomorphic/urlMatch'; type HarNotFoundAction = 'abort' | 'fallback'; diff --git a/packages/playwright-core/src/client/locator.ts b/packages/playwright-core/src/client/locator.ts index 695bc885cc128..d6ad043bcc378 100644 --- a/packages/playwright-core/src/client/locator.ts +++ b/packages/playwright-core/src/client/locator.ts @@ -14,18 +14,18 @@ * limitations under the License. */ +import { asLocatorDescription, locatorCustomDescription } from '@isomorphic/locatorGenerators'; +import { getByAltTextSelector, getByLabelSelector, getByPlaceholderSelector, getByRoleSelector, getByTestIdSelector, getByTextSelector, getByTitleSelector } from '@isomorphic/locatorUtils'; +import { escapeForTextSelector } from '@isomorphic/stringUtils'; +import { isString } from '@isomorphic/rtti'; +import { monotonicTime } from '@isomorphic/time'; import { ElementHandle } from './elementHandle'; -import { asLocatorDescription, locatorCustomDescription } from '../utils/isomorphic/locatorGenerators'; -import { getByAltTextSelector, getByLabelSelector, getByPlaceholderSelector, getByRoleSelector, getByTestIdSelector, getByTextSelector, getByTitleSelector } from '../utils/isomorphic/locatorUtils'; -import { escapeForTextSelector } from '../utils/isomorphic/stringUtils'; -import { isString } from '../utils/isomorphic/rtti'; -import { monotonicTime } from '../utils/isomorphic/time'; import type { Frame } from './frame'; import type { FilePayload, FrameExpectParams, Rect, SelectOption, SelectOptionOptions, TimeoutOptions } from './types'; import type * as structs from '../../types/structs'; import type * as api from '../../types/types'; -import type { ByRoleOptions } from '../utils/isomorphic/locatorUtils'; +import type { ByRoleOptions } from '@isomorphic/locatorUtils'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/client/network.ts b/packages/playwright-core/src/client/network.ts index 843c1fa6a7055..688796e69cba7 100644 --- a/packages/playwright-core/src/client/network.ts +++ b/packages/playwright-core/src/client/network.ts @@ -14,29 +14,29 @@ * limitations under the License. */ -import { ChannelOwner } from './channelOwner'; -import { isTargetClosedError } from './errors'; -import { Events } from './events'; -import { APIResponse } from './fetch'; -import { Frame } from './frame'; -import { Waiter } from './waiter'; +import { assert } from '@isomorphic/assert'; +import { headersObjectToArray } from '@isomorphic/headers'; +import { serializeURLMatch, urlMatches } from '@isomorphic/urlMatch'; +import { LongStandingScope, ManualPromise } from '@isomorphic/manualPromise'; +import { MultiMap } from '@isomorphic/multimap'; +import { isString } from '@isomorphic/rtti'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; +import { getMimeTypeForPath } from '@isomorphic/mimeType'; import { Worker } from './worker'; -import { assert } from '../utils/isomorphic/assert'; -import { headersObjectToArray } from '../utils/isomorphic/headers'; -import { serializeURLMatch, urlMatches } from '../utils/isomorphic/urlMatch'; -import { LongStandingScope, ManualPromise } from '../utils/isomorphic/manualPromise'; -import { MultiMap } from '../utils/isomorphic/multimap'; -import { isString } from '../utils/isomorphic/rtti'; -import { rewriteErrorMessage } from '../utils/isomorphic/stackTrace'; -import { getMimeTypeForPath } from '../utils/isomorphic/mimeType'; +import { Waiter } from './waiter'; +import { Frame } from './frame'; +import { APIResponse } from './fetch'; +import { Events } from './events'; +import { isTargetClosedError } from './errors'; +import { ChannelOwner } from './channelOwner'; import type { BrowserContext } from './browserContext'; import type { Page } from './page'; import type { Headers, RemoteAddr, SecurityDetails, WaitForEventOptions } from './types'; import type { Serializable } from '../../types/structs'; import type * as api from '../../types/types'; -import type { HeadersArray } from '../utils/isomorphic/types'; -import type { URLMatch } from '../utils/isomorphic/urlMatch'; +import type { HeadersArray } from '@isomorphic/types'; +import type { URLMatch } from '@isomorphic/urlMatch'; import type * as channels from '@protocol/channels'; import type { Platform, Zone } from './platform'; diff --git a/packages/playwright-core/src/client/page.ts b/packages/playwright-core/src/client/page.ts index 0f284148dd703..c9ae5eee13c34 100644 --- a/packages/playwright-core/src/client/page.ts +++ b/packages/playwright-core/src/client/page.ts @@ -15,6 +15,12 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; +import { headersObjectToArray } from '@isomorphic/headers'; +import { trimStringWithEllipsis } from '@isomorphic/stringUtils'; +import { urlMatches, urlMatchesEqual } from '@isomorphic/urlMatch'; +import { LongStandingScope } from '@isomorphic/manualPromise'; +import { isObject, isRegExp, isString } from '@isomorphic/rtti'; import { Artifact } from './artifact'; import { ChannelOwner } from './channelOwner'; import { evaluationScript } from './clientHelper'; @@ -35,13 +41,7 @@ import { Screencast } from './screencast'; import { Waiter } from './waiter'; import { Worker } from './worker'; import { TimeoutSettings } from './timeoutSettings'; -import { assert } from '../utils/isomorphic/assert'; import { mkdirIfNeeded } from './fileUtils'; -import { headersObjectToArray } from '../utils/isomorphic/headers'; -import { trimStringWithEllipsis } from '../utils/isomorphic/stringUtils'; -import { urlMatches, urlMatchesEqual } from '../utils/isomorphic/urlMatch'; -import { LongStandingScope } from '../utils/isomorphic/manualPromise'; -import { isObject, isRegExp, isString } from '../utils/isomorphic/rtti'; import { ConsoleMessage } from './consoleMessage'; import type { BrowserContext } from './browserContext'; import type { Clock } from './clock'; @@ -52,8 +52,8 @@ import type { RouteHandlerCallback, WebSocketRouteHandlerCallback } from './netw import type { FilePayload, Headers, LifecycleEvent, SelectOption, SelectOptionOptions, Size, TimeoutOptions, WaitForEventOptions, WaitForFunctionOptions } from './types'; import type * as structs from '../../types/structs'; import type * as api from '../../types/types'; -import type { ByRoleOptions } from '../utils/isomorphic/locatorUtils'; -import type { URLMatch } from '../utils/isomorphic/urlMatch'; +import type { ByRoleOptions } from '@isomorphic/locatorUtils'; +import type { URLMatch } from '@isomorphic/urlMatch'; import type * as channels from '@protocol/channels'; type PDFOptions = Omit & { diff --git a/packages/playwright-core/src/client/platform.ts b/packages/playwright-core/src/client/platform.ts index 5228e8a3580ad..7f6e1f9efb106 100644 --- a/packages/playwright-core/src/client/platform.ts +++ b/packages/playwright-core/src/client/platform.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { webColors } from '../utils/isomorphic/colors'; +import { webColors } from '@isomorphic/colors'; import type * as fs from 'fs'; import type * as path from 'path'; diff --git a/packages/playwright-core/src/client/timeoutSettings.ts b/packages/playwright-core/src/client/timeoutSettings.ts index 5e5034dcbb21d..e51f45da89055 100644 --- a/packages/playwright-core/src/client/timeoutSettings.ts +++ b/packages/playwright-core/src/client/timeoutSettings.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT, DEFAULT_PLAYWRIGHT_TIMEOUT } from '../utils/isomorphic/time'; +import { DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT, DEFAULT_PLAYWRIGHT_TIMEOUT } from '@isomorphic/time'; import type { Platform } from './platform'; diff --git a/packages/playwright-core/src/client/types.ts b/packages/playwright-core/src/client/types.ts index 4009ec4f86af8..af99141f737bc 100644 --- a/packages/playwright-core/src/client/types.ts +++ b/packages/playwright-core/src/client/types.ts @@ -15,9 +15,9 @@ * limitations under the License. */ -import type { Size } from '../utils/isomorphic/types'; +import type { Size } from '@isomorphic/types'; import type * as channels from '@protocol/channels'; -export type { HeadersArray, Point, Quad, Rect, Size } from '../utils/isomorphic/types'; +export type { HeadersArray, Point, Quad, Rect, Size } from '@isomorphic/types'; type LoggerSeverity = 'verbose' | 'info' | 'warning' | 'error'; export interface Logger { diff --git a/packages/playwright-core/src/client/waiter.ts b/packages/playwright-core/src/client/waiter.ts index 94736099e0f93..668943f85c8af 100644 --- a/packages/playwright-core/src/client/waiter.ts +++ b/packages/playwright-core/src/client/waiter.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; import { TimeoutError } from './errors'; -import { rewriteErrorMessage } from '../utils/isomorphic/stackTrace'; import type { ChannelOwner } from './channelOwner'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/client/worker.ts b/packages/playwright-core/src/client/worker.ts index c9d9af5b86954..cb979a99b5d90 100644 --- a/packages/playwright-core/src/client/worker.ts +++ b/packages/playwright-core/src/client/worker.ts @@ -14,11 +14,11 @@ * limitations under the License. */ +import { LongStandingScope } from '@isomorphic/manualPromise'; import { ChannelOwner } from './channelOwner'; import { TargetClosedError } from './errors'; import { Events } from './events'; import { JSHandle, assertMaxArguments, parseResult, serializeArgument } from './jsHandle'; -import { LongStandingScope } from '../utils/isomorphic/manualPromise'; import { TimeoutSettings } from './timeoutSettings'; import { Waiter } from './waiter'; diff --git a/packages/playwright-core/src/common/DEPS.list b/packages/playwright-core/src/common/DEPS.list index 686b88087b173..047840f50927c 100644 --- a/packages/playwright-core/src/common/DEPS.list +++ b/packages/playwright-core/src/common/DEPS.list @@ -1,2 +1,2 @@ [*] -../utils/isomorphic/ +@isomorphic/** diff --git a/packages/playwright-core/src/coreBundle.ts b/packages/playwright-core/src/coreBundle.ts index 29ff98816ec0c..61d125e671e83 100644 --- a/packages/playwright-core/src/coreBundle.ts +++ b/packages/playwright-core/src/coreBundle.ts @@ -16,7 +16,7 @@ export * as client from './client'; export * as iso from './utils/isomorphic'; -export * as serverUtils from './server/utils'; +export * as utils from './server/utils/index'; export * as libCli from './cli/program'; export * as libCliTestStub from './cli/programWithTestStub'; export * as inprocess from './inprocess'; diff --git a/packages/playwright-core/src/entry/DEPS.list b/packages/playwright-core/src/entry/DEPS.list index d3fec82ea3317..d681fe3cda617 100644 --- a/packages/playwright-core/src/entry/DEPS.list +++ b/packages/playwright-core/src/entry/DEPS.list @@ -1,4 +1,4 @@ [*] ../coreBundle.ts ../package.ts -../utilsBundle.ts +node_modules/commander diff --git a/packages/playwright-core/src/entry/cliDaemon.ts b/packages/playwright-core/src/entry/cliDaemon.ts index c733af1b842b8..a8a5d5afb64f0 100644 --- a/packages/playwright-core/src/entry/cliDaemon.ts +++ b/packages/playwright-core/src/entry/cliDaemon.ts @@ -14,8 +14,7 @@ * limitations under the License. */ +import { program } from 'commander'; import { tools } from '../coreBundle'; -import { program } from '../utilsBundle'; - tools.decorateCliDaemonProgram(program); void program.parseAsync(); diff --git a/packages/playwright-core/src/entry/mcp.ts b/packages/playwright-core/src/entry/mcp.ts index a53846905e7f4..dfe5def7adc91 100644 --- a/packages/playwright-core/src/entry/mcp.ts +++ b/packages/playwright-core/src/entry/mcp.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { program } from '../utilsBundle'; -import { tools, serverUtils } from '../coreBundle'; +import { program } from 'commander'; +import { tools, utils } from '../coreBundle'; import { packageJSON } from '../package'; const p = program.version('Version ' + packageJSON.version).name('Playwright MCP'); @@ -23,5 +23,5 @@ tools.decorateMCPCommand(p); program.parseAsync(process.argv).catch(e => { // eslint-disable-next-line no-console console.error(e.message); - serverUtils.gracefullyProcessExitDoNotHang(1); + utils.gracefullyProcessExitDoNotHang(1); }); diff --git a/packages/playwright-core/src/inprocess.ts b/packages/playwright-core/src/inprocess.ts index 26c36b93b1e71..5f4f91ae154c5 100644 --- a/packages/playwright-core/src/inprocess.ts +++ b/packages/playwright-core/src/inprocess.ts @@ -14,14 +14,14 @@ * limitations under the License. */ +import { nodePlatform } from '@utils/nodePlatform'; import { AndroidServerLauncherImpl } from './androidServerImpl'; import { BrowserServerLauncherImpl } from './browserServerImpl'; import { DispatcherConnection, PlaywrightDispatcher, RootDispatcher, createPlaywright } from './server'; -import { nodePlatform } from './server/utils/nodePlatform'; import { Connection } from './client/connection'; import type { Playwright as PlaywrightAPI } from './client/playwright'; -import type { Language } from './utils'; +import type { Language } from '@isomorphic/locatorGenerators'; function createInProcessPlaywright(): PlaywrightAPI { const playwright = createPlaywright({ sdkLanguage: (process.env.PW_LANG_NAME as Language | undefined) || 'javascript' }); diff --git a/packages/playwright-core/src/mcpBundle.ts b/packages/playwright-core/src/mcpBundle.ts deleted file mode 100644 index 501bc618ec611..0000000000000 --- a/packages/playwright-core/src/mcpBundle.ts +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// @ts-ignore -import * as bundle from './mcpBundleImpl'; - -const zodToJsonSchema: (schema: any, options?: any) => any = bundle.zodToJsonSchema; -const Client: typeof import('@modelcontextprotocol/sdk/client/index.js').Client = bundle.Client; -const Server: typeof import('@modelcontextprotocol/sdk/server/index.js').Server = bundle.Server; -const SSEClientTransport: typeof import('@modelcontextprotocol/sdk/client/sse.js').SSEClientTransport = bundle.SSEClientTransport; -const SSEServerTransport: typeof import('@modelcontextprotocol/sdk/server/sse.js').SSEServerTransport = bundle.SSEServerTransport; -const StdioClientTransport: typeof import('@modelcontextprotocol/sdk/client/stdio.js').StdioClientTransport = bundle.StdioClientTransport; -const StdioServerTransport: typeof import('@modelcontextprotocol/sdk/server/stdio.js').StdioServerTransport = bundle.StdioServerTransport; -const StreamableHTTPServerTransport: typeof import('@modelcontextprotocol/sdk/server/streamableHttp.js').StreamableHTTPServerTransport = bundle.StreamableHTTPServerTransport; -const StreamableHTTPClientTransport: typeof import('@modelcontextprotocol/sdk/client/streamableHttp.js').StreamableHTTPClientTransport = bundle.StreamableHTTPClientTransport; -const CallToolRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').CallToolRequestSchema = bundle.CallToolRequestSchema; -const ListRootsRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').ListRootsRequestSchema = bundle.ListRootsRequestSchema; -const ProgressNotificationSchema: typeof import('@modelcontextprotocol/sdk/types.js').ProgressNotificationSchema = bundle.ProgressNotificationSchema; -const ListToolsRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').ListToolsRequestSchema = bundle.ListToolsRequestSchema; -const PingRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').PingRequestSchema = bundle.PingRequestSchema; - -export { - zodToJsonSchema, - Client, - Server, - SSEClientTransport, - SSEServerTransport, - StdioClientTransport, - StdioServerTransport, - StreamableHTTPClientTransport, - StreamableHTTPServerTransport, - CallToolRequestSchema, - ListRootsRequestSchema, - ListToolsRequestSchema, - PingRequestSchema, - ProgressNotificationSchema, -}; diff --git a/packages/playwright-core/src/outofprocess.ts b/packages/playwright-core/src/outofprocess.ts index f38e99ca18a68..b9beddbc4a1fc 100644 --- a/packages/playwright-core/src/outofprocess.ts +++ b/packages/playwright-core/src/outofprocess.ts @@ -17,11 +17,11 @@ import * as childProcess from 'child_process'; import path from 'path'; +import { PipeTransport } from '@utils/pipeTransport'; +import { nodePlatform } from '@utils/nodePlatform'; import { Connection } from './client/connection'; import { packageRoot } from './package'; -import { PipeTransport } from './server/utils/pipeTransport'; import { ManualPromise } from './utils/isomorphic/manualPromise'; -import { nodePlatform } from './server/utils/nodePlatform'; import type { Playwright } from './client/playwright'; diff --git a/packages/playwright-core/src/protocol/DEPS.list b/packages/playwright-core/src/protocol/DEPS.list index d4e5c2cb00b8a..047840f50927c 100644 --- a/packages/playwright-core/src/protocol/DEPS.list +++ b/packages/playwright-core/src/protocol/DEPS.list @@ -1,2 +1,2 @@ [*] -../utils/isomorphic +@isomorphic/** diff --git a/packages/playwright-core/src/remote/DEPS.list b/packages/playwright-core/src/remote/DEPS.list index f9c5148cac6fa..f8c54fd5a8110 100644 --- a/packages/playwright-core/src/remote/DEPS.list +++ b/packages/playwright-core/src/remote/DEPS.list @@ -2,7 +2,7 @@ ../server/ ../server/android/ ../server/dispatchers/ -../server/utils/ -../utils/ -../utils/isomorphic +@utils/** +../utils/** +@isomorphic/** ../utilsBundle.ts diff --git a/packages/playwright-core/src/remote/playwrightConnection.ts b/packages/playwright-core/src/remote/playwrightConnection.ts index a9b46700650e6..dbf41ceaa2551 100644 --- a/packages/playwright-core/src/remote/playwrightConnection.ts +++ b/packages/playwright-core/src/remote/playwrightConnection.ts @@ -14,13 +14,14 @@ * limitations under the License. */ +import { startProfiling, stopProfiling } from '@utils/profiler'; +import { debugLogger } from '@utils/debugLogger'; +import { monotonicTime } from '@isomorphic/time'; +import { Semaphore } from '@isomorphic/semaphore'; import { DispatcherConnection, PlaywrightDispatcher, RootDispatcher } from '../server'; import { AndroidDevice } from '../server/android/android'; import { Browser } from '../server/browser'; import { DebugControllerDispatcher } from '../server/dispatchers/debugControllerDispatcher'; -import { startProfiling, stopProfiling } from '../server/utils/profiler'; -import { monotonicTime, Semaphore } from '../utils'; -import { debugLogger } from '../server/utils/debugLogger'; import { PlaywrightDispatcherOptions } from '../server/dispatchers/playwrightDispatcher'; import type { DispatcherScope, Playwright } from '../server'; diff --git a/packages/playwright-core/src/remote/playwrightPipeServer.ts b/packages/playwright-core/src/remote/playwrightPipeServer.ts index f525d5b17d4ae..7186b7c2d14e4 100644 --- a/packages/playwright-core/src/remote/playwrightPipeServer.ts +++ b/packages/playwright-core/src/remote/playwrightPipeServer.ts @@ -17,11 +17,12 @@ import net from 'net'; import fs from 'fs'; +import { debugLogger } from '@utils/debugLogger'; +import { decorateServer } from '@utils/network'; +import { Semaphore } from '@isomorphic/semaphore'; import { PlaywrightConnection } from './playwrightConnection'; import { SocketServerTransport } from './serverTransport'; -import { debugLogger } from '../server/utils/debugLogger'; import { Browser } from '../server/browser'; -import { decorateServer, Semaphore } from '../utils'; import type { PlaywrightInitializeResult } from './playwrightConnection'; diff --git a/packages/playwright-core/src/remote/playwrightServer.ts b/packages/playwright-core/src/remote/playwrightServer.ts index 89a7cecae272c..5ba3c4b759905 100644 --- a/packages/playwright-core/src/remote/playwrightServer.ts +++ b/packages/playwright-core/src/remote/playwrightServer.ts @@ -14,16 +14,17 @@ * limitations under the License. */ +import { Semaphore } from '@isomorphic/semaphore'; +import { DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT } from '@isomorphic/time'; +import { WSServer } from '@utils/wsServer'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { getPlaywrightVersion } from '@utils/userAgent'; +import { SocksProxy } from '@utils/socksProxy'; +import { debugLogger } from '@utils/debugLogger'; +import { isUnderTest } from '@utils/debug'; import { PlaywrightConnection, PlaywrightInitializeResult } from './playwrightConnection'; import { WebSocketServerTransport } from './serverTransport'; import { createPlaywright } from '../server/playwright'; -import { Semaphore } from '../utils/isomorphic/semaphore'; -import { DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT } from '../utils/isomorphic/time'; -import { WSServer } from '../server/utils/wsServer'; -import { wrapInASCIIBox } from '../server/utils/ascii'; -import { getPlaywrightVersion } from '../server/utils/userAgent'; -import { debugLogger, isUnderTest } from '../utils'; -import { SocksProxy } from '../server/utils/socksProxy'; import { Browser } from '../server/browser'; import { nullProgress, ProgressController } from '../server/progress'; diff --git a/packages/playwright-core/src/remote/playwrightWebSocketServer.ts b/packages/playwright-core/src/remote/playwrightWebSocketServer.ts index 0c8dd1c2622f4..11e9c3786dc8d 100644 --- a/packages/playwright-core/src/remote/playwrightWebSocketServer.ts +++ b/packages/playwright-core/src/remote/playwrightWebSocketServer.ts @@ -14,12 +14,12 @@ * limitations under the License. */ +import { debugLogger } from '@utils/debugLogger'; +import { WSServer } from '@utils/wsServer'; +import { Semaphore } from '@isomorphic/semaphore'; import { PlaywrightConnection } from './playwrightConnection'; import { WebSocketServerTransport } from './serverTransport'; -import { debugLogger } from '../server/utils/debugLogger'; import { Browser } from '../server/browser'; -import { Semaphore } from '../utils'; -import { WSServer } from '../server/utils/wsServer'; import type { PlaywrightInitializeResult } from './playwrightConnection'; diff --git a/packages/playwright-core/src/server/DEPS.list b/packages/playwright-core/src/server/DEPS.list index 4dfd5fe9337df..5829d0dd1edd9 100644 --- a/packages/playwright-core/src/server/DEPS.list +++ b/packages/playwright-core/src/server/DEPS.list @@ -3,9 +3,8 @@ ../package.ts ../protocol/ ../utils -../utils/isomorphic/** +@isomorphic/** ../utilsBundle.ts -../zipBundle.ts ./ ./codegen/ ./isomorphic @@ -14,6 +13,14 @@ ./registry/ ./trace/recorder/tracing.ts ./utils/ +node_modules/jpeg-js +node_modules/mime +node_modules/pngjs +node_modules/proxy-from-env +node_modules/ws +node_modules/yaml +node_modules/yauzl +node_modules/yazl [devtoolsController.ts] ./chromium/ diff --git a/packages/playwright-core/src/server/android/DEPS.list b/packages/playwright-core/src/server/android/DEPS.list index 1ecc153814c31..2baec8bd40c47 100644 --- a/packages/playwright-core/src/server/android/DEPS.list +++ b/packages/playwright-core/src/server/android/DEPS.list @@ -1,8 +1,9 @@ [*] ../ ../../protocol/ -../../utils/isomorphic/ +@isomorphic/** ../../utilsBundle.ts ../chromium/ ../utils -../registry/ \ No newline at end of file +../registry/ +node_modules/debug \ No newline at end of file diff --git a/packages/playwright-core/src/server/android/android.ts b/packages/playwright-core/src/server/android/android.ts index a503e4b6d3168..801ae85cfed3a 100644 --- a/packages/playwright-core/src/server/android/android.ts +++ b/packages/playwright-core/src/server/android/android.ts @@ -19,21 +19,21 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; -import { PipeTransport } from '../utils/pipeTransport'; -import { createGuid } from '../utils/crypto'; -import { isUnderTest } from '../utils/debug'; -import { getPackageManagerExecCommand } from '../utils/env'; -import { makeWaitForNextTask } from '../utils/task'; -import { RecentLogsCollector } from '../utils/debugLogger'; -import { debug } from '../../utilsBundle'; +import debug from 'debug'; +import { PipeTransport } from '@utils/pipeTransport'; +import { createGuid } from '@utils/crypto'; +import { isUnderTest } from '@utils/debug'; +import { getPackageManagerExecCommand } from '@utils/env'; +import { makeWaitForNextTask } from '@utils/task'; +import { RecentLogsCollector } from '@utils/debugLogger'; +import { removeFolders } from '@utils/fileUtils'; +import { gracefullyCloseSet } from '@utils/processLauncher'; import { wsReceiver, wsSender } from '../../utilsBundle'; import { validateBrowserContextOptions } from '../browserContext'; import { chromiumSwitches } from '../chromium/chromiumSwitches'; import { shouldProxyLoopback, CRBrowser } from '../chromium/crBrowser'; -import { removeFolders } from '../utils/fileUtils'; import { helper } from '../helper'; import { SdkObject } from '../instrumentation'; -import { gracefullyCloseSet } from '../utils/processLauncher'; import { isAbortError, Progress, ProgressController, raceUncancellableOperationWithCleanup } from '../progress'; import { registry } from '../registry'; diff --git a/packages/playwright-core/src/server/android/backendAdb.ts b/packages/playwright-core/src/server/android/backendAdb.ts index b25b5a24f36fe..010dec61c3810 100644 --- a/packages/playwright-core/src/server/android/backendAdb.ts +++ b/packages/playwright-core/src/server/android/backendAdb.ts @@ -17,9 +17,8 @@ import { EventEmitter } from 'events'; import net from 'net'; -import { assert } from '../../utils/isomorphic/assert'; -import { debug } from '../../utilsBundle'; - +import debug from 'debug'; +import { assert } from '@isomorphic/assert'; import type { Backend, DeviceBackend, SocketBackend } from './android'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/server/artifact.ts b/packages/playwright-core/src/server/artifact.ts index 51c341b361a09..1a08e7e133737 100644 --- a/packages/playwright-core/src/server/artifact.ts +++ b/packages/playwright-core/src/server/artifact.ts @@ -16,10 +16,10 @@ import fs from 'fs'; -import { assert } from '../utils'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { assert } from '@isomorphic/assert'; import { TargetClosedError } from './errors'; import { SdkObject } from './instrumentation'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/bidi/DEPS.list b/packages/playwright-core/src/server/bidi/DEPS.list index 76fcdbab98d96..312e1a0583f9a 100644 --- a/packages/playwright-core/src/server/bidi/DEPS.list +++ b/packages/playwright-core/src/server/bidi/DEPS.list @@ -1,6 +1,6 @@ [*] -../../utils/ -../../utils/isomorphic/ +../../utils/** +@isomorphic/** ../ ../isomorphic/ ../utils diff --git a/packages/playwright-core/src/server/bidi/bidiBrowser.ts b/packages/playwright-core/src/server/bidi/bidiBrowser.ts index 3ce6bc5d3cf99..2607918afaf2c 100644 --- a/packages/playwright-core/src/server/bidi/bidiBrowser.ts +++ b/packages/playwright-core/src/server/bidi/bidiBrowser.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; import { Browser } from '../browser'; import { BrowserContext, verifyGeolocation } from '../browserContext'; import * as network from '../network'; @@ -24,7 +24,7 @@ import { BidiPage, kPlaywrightBindingChannel } from './bidiPage'; import { PageBinding } from '../page'; import * as bidi from './third_party/bidiProtocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { BrowserOptions } from '../browser'; import type { SdkObject } from '../instrumentation'; import type { InitScript, Page } from '../page'; diff --git a/packages/playwright-core/src/server/bidi/bidiChromium.ts b/packages/playwright-core/src/server/bidi/bidiChromium.ts index 2f9da8c6efd26..9cdd1da833233 100644 --- a/packages/playwright-core/src/server/bidi/bidiChromium.ts +++ b/packages/playwright-core/src/server/bidi/bidiChromium.ts @@ -16,12 +16,12 @@ import os from 'os'; -import { wrapInASCIIBox } from '../utils/ascii'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { RecentLogsCollector } from '@utils/debugLogger'; import { BrowserType, kNoXServerRunningError } from '../browserType'; import { BidiBrowser } from './bidiBrowser'; import { kBrowserCloseMessageId } from './bidiConnection'; import { chromiumSwitches } from '../chromium/chromiumSwitches'; -import { RecentLogsCollector } from '../utils/debugLogger'; import { waitForReadyState } from '../chromium/chromium'; import { shouldProxyLoopback } from '../chromium/crBrowser'; diff --git a/packages/playwright-core/src/server/bidi/bidiConnection.ts b/packages/playwright-core/src/server/bidi/bidiConnection.ts index 5579f2c2d472b..13b15c11f4b8c 100644 --- a/packages/playwright-core/src/server/bidi/bidiConnection.ts +++ b/packages/playwright-core/src/server/bidi/bidiConnection.ts @@ -16,11 +16,11 @@ import { EventEmitter } from 'events'; -import { debugLogger } from '../utils/debugLogger'; +import { debugLogger } from '@utils/debugLogger'; import { helper } from '../helper'; import { ProtocolError } from '../protocolError'; -import type { RecentLogsCollector } from '../utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; import type { ConnectionTransport, ProtocolRequest, ProtocolResponse } from '../transport'; import type { ProtocolLogger } from '../types'; import type * as bidiCommands from './third_party/bidiCommands'; diff --git a/packages/playwright-core/src/server/bidi/bidiExecutionContext.ts b/packages/playwright-core/src/server/bidi/bidiExecutionContext.ts index be222c80bd6d6..a08461ad30112 100644 --- a/packages/playwright-core/src/server/bidi/bidiExecutionContext.ts +++ b/packages/playwright-core/src/server/bidi/bidiExecutionContext.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { assert } from '../../utils'; -import { parseEvaluationResultValue } from '../../utils/isomorphic/utilityScriptSerializers'; +import { parseEvaluationResultValue } from '@isomorphic/utilityScriptSerializers'; +import { assert } from '@isomorphic/assert'; import * as js from '../javascript'; import * as dom from '../dom'; import * as bidi from './third_party/bidiProtocol'; diff --git a/packages/playwright-core/src/server/bidi/bidiFirefox.ts b/packages/playwright-core/src/server/bidi/bidiFirefox.ts index 199c9e72072da..89bd962393752 100644 --- a/packages/playwright-core/src/server/bidi/bidiFirefox.ts +++ b/packages/playwright-core/src/server/bidi/bidiFirefox.ts @@ -17,18 +17,18 @@ import os from 'os'; import path from 'path'; -import { wrapInASCIIBox } from '../utils/ascii'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { wrapInASCIIBox } from '@utils/ascii'; import { BrowserType, kNoXServerRunningError } from '../browserType'; import { BidiBrowser } from './bidiBrowser'; import { kBrowserCloseMessageId, kShutdownSessionNewMessageId } from './bidiConnection'; import { createProfile } from './third_party/firefoxPrefs'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; import type { BrowserOptions } from '../browser'; import type { SdkObject } from '../instrumentation'; import type { ConnectionTransport } from '../transport'; import type * as types from '../types'; -import type { RecentLogsCollector } from '../utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; export class BidiFirefox extends BrowserType { diff --git a/packages/playwright-core/src/server/bidi/bidiNetworkManager.ts b/packages/playwright-core/src/server/bidi/bidiNetworkManager.ts index f4f63c827ae6d..cad9e8982dd41 100644 --- a/packages/playwright-core/src/server/bidi/bidiNetworkManager.ts +++ b/packages/playwright-core/src/server/bidi/bidiNetworkManager.ts @@ -14,12 +14,12 @@ * limitations under the License. */ -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; import { parseRawCookie } from '../cookieStore'; import * as network from '../network'; import * as bidi from './third_party/bidiProtocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as frames from '../frames'; import type { Page } from '../page'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/server/bidi/bidiOverCdp.ts b/packages/playwright-core/src/server/bidi/bidiOverCdp.ts index 8acd45563d0a3..21095afc44ffb 100644 --- a/packages/playwright-core/src/server/bidi/bidiOverCdp.ts +++ b/packages/playwright-core/src/server/bidi/bidiOverCdp.ts @@ -17,7 +17,7 @@ import * as bidiMapper from 'chromium-bidi/lib/cjs/bidiMapper/BidiMapper'; import * as bidiCdpConnection from 'chromium-bidi/lib/cjs/cdp/CdpConnection'; -import { debugLogger } from '../utils/debugLogger'; +import { debugLogger } from '@utils/debugLogger'; import type { ConnectionTransport, ProtocolRequest, ProtocolResponse } from '../transport'; import type { ChromiumBidi } from 'chromium-bidi/lib/cjs/protocol/protocol'; diff --git a/packages/playwright-core/src/server/bidi/bidiPage.ts b/packages/playwright-core/src/server/bidi/bidiPage.ts index 90cb5b3320634..3d1a747005337 100644 --- a/packages/playwright-core/src/server/bidi/bidiPage.ts +++ b/packages/playwright-core/src/server/bidi/bidiPage.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { debugLogger } from '../utils/debugLogger'; -import { eventsHelper } from '../utils/eventsHelper'; +import { debugLogger } from '@utils/debugLogger'; +import { eventsHelper } from '@utils/eventsHelper'; import * as dialog from '../dialog'; import * as dom from '../dom'; import * as js from '../javascript'; @@ -29,7 +29,7 @@ import * as bidi from './third_party/bidiProtocol'; import { nullProgress } from '../progress'; import * as network from '../network'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as frames from '../frames'; import type { InitScript, PageDelegate } from '../page'; import type { Progress } from '../progress'; diff --git a/packages/playwright-core/src/server/bidi/bidiPdf.ts b/packages/playwright-core/src/server/bidi/bidiPdf.ts index b9a8c5cb92f89..bc67b3af82297 100644 --- a/packages/playwright-core/src/server/bidi/bidiPdf.ts +++ b/packages/playwright-core/src/server/bidi/bidiPdf.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { assert } from '../../utils'; +import { assert } from '@isomorphic/assert'; import type { BidiSession } from './bidiConnection'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/server/browser.ts b/packages/playwright-core/src/server/browser.ts index f310d16c79d2a..1967a9549a066 100644 --- a/packages/playwright-core/src/server/browser.ts +++ b/packages/playwright-core/src/server/browser.ts @@ -16,6 +16,8 @@ import fs from 'fs'; +import { makeSocketPath } from '@utils/fileUtils'; +import { createGuid } from '@utils/crypto'; import { BrowserContext, validateBrowserContextOptions } from './browserContext'; import { Download } from './download'; import { SdkObject } from './instrumentation'; @@ -24,16 +26,14 @@ import { ClientCertificatesProxy } from './socksClientCertificatesInterceptor'; import { PlaywrightPipeServer } from '../remote/playwrightPipeServer'; import { PlaywrightWebSocketServer } from '../remote/playwrightWebSocketServer'; import { BrowserInfo, serverRegistry } from '../serverRegistry'; -import { makeSocketPath } from './utils/fileUtils'; -import { createGuid } from '../utils'; import { nullProgress } from './progress'; import type * as types from './types'; import type { ProxySettings } from './types'; -import type { RecentLogsCollector } from './utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; import type * as channels from '@protocol/channels'; import type { ChildProcess } from 'child_process'; -import type { Language } from '../utils'; +import type { Language } from '@isomorphic/locatorGenerators'; import type { Progress } from './progress'; import type * as playwright from '../..'; diff --git a/packages/playwright-core/src/server/browserContext.ts b/packages/playwright-core/src/server/browserContext.ts index 7dd7f88165dbe..4b07029c2b4b4 100644 --- a/packages/playwright-core/src/server/browserContext.ts +++ b/packages/playwright-core/src/server/browserContext.ts @@ -17,13 +17,13 @@ import fs from 'fs'; -import { createGuid } from './utils/crypto'; -import { debugMode, isUnderTest } from './utils/debug'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; +import { createGuid } from '@utils/crypto'; +import { debugMode, isUnderTest } from '@utils/debug'; import { Clock } from './clock'; import { Debugger } from './debugger'; import { DialogManager } from './dialog'; import { BrowserContextAPIRequestContext } from './fetch'; -import { rewriteErrorMessage } from '../utils/isomorphic/stackTrace'; import { HarRecorder } from './har/harRecorder'; import { helper } from './helper'; import { EventMap, SdkObject } from './instrumentation'; diff --git a/packages/playwright-core/src/server/browserType.ts b/packages/playwright-core/src/server/browserType.ts index cddebdb2c8624..1cddbd5923c8d 100644 --- a/packages/playwright-core/src/server/browserType.ts +++ b/packages/playwright-core/src/server/browserType.ts @@ -18,21 +18,21 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import { assert } from '@isomorphic/assert'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { DEFAULT_PLAYWRIGHT_TIMEOUT } from '@isomorphic/time'; +import { debugMode } from '@utils/debug'; +import { existsAsync } from '@utils/fileUtils'; +import { envArrayToObject, launchProcess } from '@utils/processLauncher'; +import { RecentLogsCollector } from '@utils/debugLogger'; import { normalizeProxySettings, validateBrowserContextOptions } from './browserContext'; -import { debugMode } from './utils/debug'; -import { assert } from '../utils/isomorphic/assert'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; -import { DEFAULT_PLAYWRIGHT_TIMEOUT } from '../utils/isomorphic/time'; -import { existsAsync } from './utils/fileUtils'; import { helper } from './helper'; import { SdkObject } from './instrumentation'; import { PipeTransport } from './pipeTransport'; -import { envArrayToObject, launchProcess } from './utils/processLauncher'; import { isProtocolError } from './protocolError'; import { registry } from './registry'; import { ClientCertificatesProxy } from './socksClientCertificatesInterceptor'; import { WebSocketTransport } from './transport'; -import { RecentLogsCollector } from './utils/debugLogger'; import type { Browser, BrowserOptions, BrowserProcess } from './browser'; import type { BrowserContext } from './browserContext'; diff --git a/packages/playwright-core/src/server/chromium/chromium.ts b/packages/playwright-core/src/server/chromium/chromium.ts index efd94490a081d..cb162d334e578 100644 --- a/packages/playwright-core/src/server/chromium/chromium.ts +++ b/packages/playwright-core/src/server/chromium/chromium.ts @@ -19,15 +19,18 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { RecentLogsCollector } from '@utils/debugLogger'; +import { fetchData } from '@utils/network'; +import { getUserAgent } from '@utils/userAgent'; +import { removeFolders } from '@utils/fileUtils'; +import { gracefullyCloseSet } from '@utils/processLauncher'; +import { debugMode } from '@utils/debug'; +import { headersArrayToObject, headersObjectToArray } from '@isomorphic/headers'; import { chromiumSwitches } from './chromiumSwitches'; import { shouldProxyLoopback, CRBrowser } from './crBrowser'; import { kBrowserCloseMessageId } from './crConnection'; -import { debugMode, headersArrayToObject, headersObjectToArray, } from '../../utils'; -import { wrapInASCIIBox } from '../utils/ascii'; -import { RecentLogsCollector } from '../utils/debugLogger'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { fetchData } from '../utils/network'; -import { getUserAgent } from '../utils/userAgent'; import { validateBrowserContextOptions } from '../browserContext'; import { BrowserType, kNoXServerRunningError } from '../browserType'; import { helper } from '../helper'; @@ -35,10 +38,8 @@ import { registry } from '../registry'; import { WebSocketTransport } from '../transport'; import { CRDevTools } from './crDevTools'; import { Browser } from '../browser'; -import { removeFolders } from '../utils/fileUtils'; -import { gracefullyCloseSet } from '../utils/processLauncher'; -import type { HTTPRequestParams } from '../utils/network'; +import type { HTTPRequestParams } from '@utils/network'; import type { BrowserOptions, BrowserProcess } from '../browser'; import type { SdkObject } from '../instrumentation'; import type { Progress } from '../progress'; diff --git a/packages/playwright-core/src/server/chromium/crBrowser.ts b/packages/playwright-core/src/server/chromium/crBrowser.ts index 440439ed72649..b91df727c30f1 100644 --- a/packages/playwright-core/src/server/chromium/crBrowser.ts +++ b/packages/playwright-core/src/server/chromium/crBrowser.ts @@ -17,8 +17,8 @@ import path from 'path'; -import { assert } from '../../utils/isomorphic/assert'; -import { createGuid } from '../utils/crypto'; +import { assert } from '@isomorphic/assert'; +import { createGuid } from '@utils/crypto'; import { Artifact } from '../artifact'; import { Browser } from '../browser'; import { BrowserContext, verifyGeolocation } from '../browserContext'; diff --git a/packages/playwright-core/src/server/chromium/crConnection.ts b/packages/playwright-core/src/server/chromium/crConnection.ts index d85a6b41cadd1..54a776c5639cf 100644 --- a/packages/playwright-core/src/server/chromium/crConnection.ts +++ b/packages/playwright-core/src/server/chromium/crConnection.ts @@ -15,16 +15,17 @@ * limitations under the License. */ -import { assert, eventsHelper } from '../../utils'; -import { debugLogger } from '../utils/debugLogger'; +import { debugLogger } from '@utils/debugLogger'; +import { assert } from '@isomorphic/assert'; +import { eventsHelper } from '@utils/eventsHelper'; import { helper } from '../helper'; import { ProtocolError } from '../protocolError'; import { SdkObject } from '../instrumentation'; -import type { RegisteredListener } from '../../utils'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { ConnectionTransport, ProtocolRequest, ProtocolResponse } from '../transport'; import type { Protocol } from './protocol'; -import type { RecentLogsCollector } from '../utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; import type { ProtocolLogger } from '../types'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/chromium/crCoverage.ts b/packages/playwright-core/src/server/chromium/crCoverage.ts index 8946754c9b4ed..43f73ce1b39cf 100644 --- a/packages/playwright-core/src/server/chromium/crCoverage.ts +++ b/packages/playwright-core/src/server/chromium/crCoverage.ts @@ -15,13 +15,13 @@ * limitations under the License. */ -import { assert } from '../../utils'; -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; +import { assert } from '@isomorphic/assert'; import { raceUncancellableOperationWithCleanup } from '../progress'; import type { CRSession } from './crConnection'; import type { Protocol } from './protocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as channels from '@protocol/channels'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/chromium/crDragDrop.ts b/packages/playwright-core/src/server/chromium/crDragDrop.ts index f18ec75acfd57..e104741a9b4d8 100644 --- a/packages/playwright-core/src/server/chromium/crDragDrop.ts +++ b/packages/playwright-core/src/server/chromium/crDragDrop.ts @@ -13,8 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { assert } from '@isomorphic/assert'; import { toModifiersMask } from './crProtocolHelper'; -import { assert } from '../../utils'; import type { CRPage } from './crPage'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/server/chromium/crExecutionContext.ts b/packages/playwright-core/src/server/chromium/crExecutionContext.ts index 63eb493ea0601..5692d7513abd2 100644 --- a/packages/playwright-core/src/server/chromium/crExecutionContext.ts +++ b/packages/playwright-core/src/server/chromium/crExecutionContext.ts @@ -15,10 +15,10 @@ * limitations under the License. */ -import { assert } from '../../utils/isomorphic/assert'; +import { assert } from '@isomorphic/assert'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; +import { parseEvaluationResultValue } from '@isomorphic/utilityScriptSerializers'; import { getExceptionMessage, releaseObject } from './crProtocolHelper'; -import { rewriteErrorMessage } from '../../utils/isomorphic/stackTrace'; -import { parseEvaluationResultValue } from '../../utils/isomorphic/utilityScriptSerializers'; import * as js from '../javascript'; import * as dom from '../dom'; import { isSessionClosedError } from '../protocolError'; diff --git a/packages/playwright-core/src/server/chromium/crInput.ts b/packages/playwright-core/src/server/chromium/crInput.ts index aa8df78a0458c..5e8843244e73a 100644 --- a/packages/playwright-core/src/server/chromium/crInput.ts +++ b/packages/playwright-core/src/server/chromium/crInput.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { isString } from '../../utils'; +import { isString } from '@isomorphic/stringUtils'; import * as input from '../input'; import { macEditingCommands } from '../macEditingCommands'; import { toButtonsMask, toModifiersMask } from './crProtocolHelper'; diff --git a/packages/playwright-core/src/server/chromium/crNetworkManager.ts b/packages/playwright-core/src/server/chromium/crNetworkManager.ts index 0532e548b44ba..a5628e83b78aa 100644 --- a/packages/playwright-core/src/server/chromium/crNetworkManager.ts +++ b/packages/playwright-core/src/server/chromium/crNetworkManager.ts @@ -15,15 +15,16 @@ * limitations under the License. */ -import { assert, headersArrayToObject, headersObjectToArray } from '../../utils'; -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; +import { assert } from '@isomorphic/assert'; +import { headersArrayToObject, headersObjectToArray } from '@isomorphic/headers'; import { helper } from '../helper'; import * as network from '../network'; import { isProtocolError, isSessionClosedError } from '../protocolError'; import type { CRSession } from './crConnection'; import type { Protocol } from './protocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as contexts from '../browserContext'; import type * as frames from '../frames'; import type { Page } from '../page'; diff --git a/packages/playwright-core/src/server/chromium/crPage.ts b/packages/playwright-core/src/server/chromium/crPage.ts index ab314399544f5..f82592d62b422 100644 --- a/packages/playwright-core/src/server/chromium/crPage.ts +++ b/packages/playwright-core/src/server/chromium/crPage.ts @@ -15,9 +15,9 @@ * limitations under the License. */ -import { assert } from '../../utils/isomorphic/assert'; -import { eventsHelper } from '../utils/eventsHelper'; -import { rewriteErrorMessage } from '../../utils/isomorphic/stackTrace'; +import { assert } from '@isomorphic/assert'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; +import { eventsHelper } from '@utils/eventsHelper'; import * as dialog from '../dialog'; import * as dom from '../dom'; import * as frames from '../frames'; @@ -40,7 +40,7 @@ import { nullProgress } from '../progress'; import type { CRSession } from './crConnection'; import type { Protocol } from './protocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { InitScript, PageDelegate } from '../page'; import type { Progress } from '../progress'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/server/chromium/crPdf.ts b/packages/playwright-core/src/server/chromium/crPdf.ts index 70d11208b9e82..91be70fc73194 100644 --- a/packages/playwright-core/src/server/chromium/crPdf.ts +++ b/packages/playwright-core/src/server/chromium/crPdf.ts @@ -15,8 +15,8 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; import { readProtocolStream } from './crProtocolHelper'; -import { assert } from '../../utils'; import type { CRSession } from './crConnection'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/server/chromium/crProtocolHelper.ts b/packages/playwright-core/src/server/chromium/crProtocolHelper.ts index 2f60ff32d0192..71af3758c21d7 100644 --- a/packages/playwright-core/src/server/chromium/crProtocolHelper.ts +++ b/packages/playwright-core/src/server/chromium/crProtocolHelper.ts @@ -17,8 +17,8 @@ import fs from 'fs'; -import { splitErrorMessage } from '../../utils/isomorphic/stackTrace'; -import { mkdirIfNeeded } from '../utils/fileUtils'; +import { splitErrorMessage } from '@isomorphic/stackTrace'; +import { mkdirIfNeeded } from '@utils/fileUtils'; import type { CRSession } from './crConnection'; import type { Protocol } from './protocol'; diff --git a/packages/playwright-core/src/server/codegen/DEPS.list b/packages/playwright-core/src/server/codegen/DEPS.list index 58432390fd9d2..2a5dd1a135bf6 100644 --- a/packages/playwright-core/src/server/codegen/DEPS.list +++ b/packages/playwright-core/src/server/codegen/DEPS.list @@ -1,3 +1,3 @@ [*] -../../utils/ +../../utils/** ../deviceDescriptors.ts diff --git a/packages/playwright-core/src/server/codegen/csharp.ts b/packages/playwright-core/src/server/codegen/csharp.ts index 070b117aacc73..625d306ab0629 100644 --- a/packages/playwright-core/src/server/codegen/csharp.ts +++ b/packages/playwright-core/src/server/codegen/csharp.ts @@ -14,8 +14,9 @@ * limitations under the License. */ +import { asLocator } from '@isomorphic/locatorGenerators'; +import { escapeWithQuotes } from '@isomorphic/stringUtils'; import { sanitizeDeviceOptions, toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language'; -import { asLocator, escapeWithQuotes } from '../../utils'; import { deviceDescriptors } from '../deviceDescriptors'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; diff --git a/packages/playwright-core/src/server/codegen/java.ts b/packages/playwright-core/src/server/codegen/java.ts index 2c6856b67dfe4..7aa8c3ce483a3 100644 --- a/packages/playwright-core/src/server/codegen/java.ts +++ b/packages/playwright-core/src/server/codegen/java.ts @@ -14,10 +14,11 @@ * limitations under the License. */ +import { asLocator } from '@isomorphic/locatorGenerators'; +import { escapeWithQuotes } from '@isomorphic/stringUtils'; import { toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language'; import { deviceDescriptors } from '../deviceDescriptors'; import { JavaScriptFormatter } from './javascript'; -import { asLocator, escapeWithQuotes } from '../../utils'; import type { BrowserContextOptions } from '../../..'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/server/codegen/javascript.ts b/packages/playwright-core/src/server/codegen/javascript.ts index 6487f2efbde75..202dd6797a570 100644 --- a/packages/playwright-core/src/server/codegen/javascript.ts +++ b/packages/playwright-core/src/server/codegen/javascript.ts @@ -14,8 +14,9 @@ * limitations under the License. */ +import { asLocator } from '@isomorphic/locatorGenerators'; +import { escapeWithQuotes, formatObject, formatObjectOrVoid } from '@isomorphic/stringUtils'; import { sanitizeDeviceOptions, toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language'; -import { asLocator, escapeWithQuotes, formatObject, formatObjectOrVoid } from '../../utils'; import { deviceDescriptors } from '../deviceDescriptors'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; diff --git a/packages/playwright-core/src/server/codegen/jsonl.ts b/packages/playwright-core/src/server/codegen/jsonl.ts index a15acfb8f8e76..29591b6b3898b 100644 --- a/packages/playwright-core/src/server/codegen/jsonl.ts +++ b/packages/playwright-core/src/server/codegen/jsonl.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { asLocator } from '../../utils'; +import { asLocator } from '@isomorphic/locatorGenerators'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; import type * as actions from '@recorder/actions'; diff --git a/packages/playwright-core/src/server/codegen/python.ts b/packages/playwright-core/src/server/codegen/python.ts index 67d87c89e5389..e9f9caf40a7f7 100644 --- a/packages/playwright-core/src/server/codegen/python.ts +++ b/packages/playwright-core/src/server/codegen/python.ts @@ -14,8 +14,9 @@ * limitations under the License. */ +import { asLocator } from '@isomorphic/locatorGenerators'; +import { escapeWithQuotes, toSnakeCase } from '@isomorphic/stringUtils'; import { sanitizeDeviceOptions, toClickOptionsForSourceCode, toKeyboardModifiers, toSignalMap } from './language'; -import { asLocator, escapeWithQuotes, toSnakeCase } from '../../utils'; import { deviceDescriptors } from '../deviceDescriptors'; import type { Language, LanguageGenerator, LanguageGeneratorOptions } from './types'; diff --git a/packages/playwright-core/src/server/codegen/types.ts b/packages/playwright-core/src/server/codegen/types.ts index 896e6a3a49dff..ef905649f515e 100644 --- a/packages/playwright-core/src/server/codegen/types.ts +++ b/packages/playwright-core/src/server/codegen/types.ts @@ -15,9 +15,9 @@ */ import type { BrowserContextOptions, LaunchOptions } from '../../..'; -import type { Language } from '../../utils'; import type * as actions from '@recorder/actions'; -export type { Language } from '../../utils'; +import type { Language } from '@isomorphic/locatorGenerators'; +export type { Language }; export type LanguageGeneratorOptions = { browserName: string; diff --git a/packages/playwright-core/src/server/debugController.ts b/packages/playwright-core/src/server/debugController.ts index 4f85d90dcb83a..899d9b15d8c04 100644 --- a/packages/playwright-core/src/server/debugController.ts +++ b/packages/playwright-core/src/server/debugController.ts @@ -14,18 +14,18 @@ * limitations under the License. */ +import yaml from 'yaml'; +import { parseAriaSnapshotUnsafe } from '@isomorphic/ariaSnapshot'; +import { unsafeLocatorOrSelectorAsSelector } from '@isomorphic/locatorParser'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; +import { asLocator } from '@isomorphic/locatorGenerators'; import { SdkObject, createInstrumentation } from './instrumentation'; -import { gracefullyProcessExitDoNotHang } from './utils/processLauncher'; import { Recorder, RecorderEvent } from './recorder'; -import { asLocator } from '../utils'; -import { parseAriaSnapshotUnsafe } from '../utils/isomorphic/ariaSnapshot'; -import { yaml } from '../utilsBundle'; -import { unsafeLocatorOrSelectorAsSelector } from '../utils/isomorphic/locatorParser'; import { generateCode } from './codegen/language'; import { collapseActions } from './recorder/recorderUtils'; import { JavaScriptLanguageGenerator } from './codegen/javascript'; -import type { Language } from '../utils'; +import type { Language } from '@isomorphic/locatorGenerators'; import type { BrowserContext } from './browserContext'; import type { InstrumentationListener } from './instrumentation'; import type { Playwright } from './playwright'; diff --git a/packages/playwright-core/src/server/debugger.ts b/packages/playwright-core/src/server/debugger.ts index f48eb270d2f6b..cb440cdfa5257 100644 --- a/packages/playwright-core/src/server/debugger.ts +++ b/packages/playwright-core/src/server/debugger.ts @@ -14,10 +14,10 @@ * limitations under the License. */ +import { getMetainfo } from '@isomorphic/protocolMetainfo'; +import { monotonicTime } from '@isomorphic/time'; import { SdkObject } from './instrumentation'; -import { monotonicTime } from '../utils'; import { BrowserContext } from './browserContext'; -import { getMetainfo } from '../utils/isomorphic/protocolMetainfo'; import type { CallMetadata, InstrumentationListener } from './instrumentation'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/dialog.ts b/packages/playwright-core/src/server/dialog.ts index 0414af122346d..dba5b7b51ef41 100644 --- a/packages/playwright-core/src/server/dialog.ts +++ b/packages/playwright-core/src/server/dialog.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { assert } from '../utils'; +import { assert } from '@isomorphic/assert'; import { SdkObject } from './instrumentation'; import type { Instrumentation } from './instrumentation'; diff --git a/packages/playwright-core/src/server/dispatchers/DEPS.list b/packages/playwright-core/src/server/dispatchers/DEPS.list index b91f84e960ecb..e83bc932b6db0 100644 --- a/packages/playwright-core/src/server/dispatchers/DEPS.list +++ b/packages/playwright-core/src/server/dispatchers/DEPS.list @@ -1,8 +1,7 @@ [*] ../../generated/ ../../protocol/ -../../utils/ -../../utils/isomorphic -../../utilsBundle.ts -../../zipBundle.ts +../../utils/** +@isomorphic/** ../** +node_modules/yaml diff --git a/packages/playwright-core/src/server/dispatchers/androidDispatcher.ts b/packages/playwright-core/src/server/dispatchers/androidDispatcher.ts index abf9e0f607d6b..f2a538fb5557f 100644 --- a/packages/playwright-core/src/server/dispatchers/androidDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/androidDispatcher.ts @@ -14,10 +14,10 @@ * limitations under the License. */ +import { eventsHelper } from '@utils/eventsHelper'; import { BrowserContextDispatcher } from './browserContextDispatcher'; import { Dispatcher } from './dispatcher'; import { AndroidDevice } from '../android/android'; -import { eventsHelper } from '../utils/eventsHelper'; import { SdkObject } from '../instrumentation'; import type { RootDispatcher } from './dispatcher'; diff --git a/packages/playwright-core/src/server/dispatchers/artifactDispatcher.ts b/packages/playwright-core/src/server/dispatchers/artifactDispatcher.ts index 5dd09c9121d7f..bb17c2bae36f5 100644 --- a/packages/playwright-core/src/server/dispatchers/artifactDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/artifactDispatcher.ts @@ -16,9 +16,9 @@ import fs from 'fs'; +import { mkdirIfNeeded } from '@utils/fileUtils'; import { Dispatcher } from './dispatcher'; import { StreamDispatcher } from './streamDispatcher'; -import { mkdirIfNeeded } from '../utils/fileUtils'; import type { DispatcherScope } from './dispatcher'; import type { Artifact } from '../artifact'; diff --git a/packages/playwright-core/src/server/dispatchers/browserContextDispatcher.ts b/packages/playwright-core/src/server/dispatchers/browserContextDispatcher.ts index 899e5a706459a..734ba79035e65 100644 --- a/packages/playwright-core/src/server/dispatchers/browserContextDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/browserContextDispatcher.ts @@ -17,6 +17,8 @@ import fs from 'fs'; import path from 'path'; +import { deserializeURLMatch, urlMatches } from '@isomorphic/urlMatch'; +import { createGuid } from '@utils/crypto'; import { BrowserContext } from '../browserContext'; import { ArtifactDispatcher } from './artifactDispatcher'; import { CDPSessionDispatcher } from './cdpSessionDispatcher'; @@ -32,8 +34,6 @@ import { DisposableDispatcher } from './disposableDispatcher'; import { TracingDispatcher } from './tracingDispatcher'; import { WebSocketRouteDispatcher } from './webSocketRouteDispatcher'; import { WritableStreamDispatcher } from './writableStreamDispatcher'; -import { createGuid } from '../utils/crypto'; -import { deserializeURLMatch, urlMatches } from '../../utils/isomorphic/urlMatch'; import { Recorder } from '../recorder'; import { RecorderApp } from '../recorder/recorderApp'; import { ElementHandleDispatcher } from './elementHandlerDispatcher'; @@ -48,7 +48,7 @@ import type { Disposable } from '../disposable'; import type { DispatcherScope } from './dispatcher'; import type * as channels from '@protocol/channels'; import type { Progress } from '@protocol/progress'; -import type { URLMatch } from '../../utils/isomorphic/urlMatch'; +import type { URLMatch } from '@isomorphic/urlMatch'; export class BrowserContextDispatcher extends Dispatcher implements channels.BrowserContextChannel { _type_EventTarget = true; diff --git a/packages/playwright-core/src/server/dispatchers/debugControllerDispatcher.ts b/packages/playwright-core/src/server/dispatchers/debugControllerDispatcher.ts index 4ca9365d5e3aa..0c1dc7bbb69e9 100644 --- a/packages/playwright-core/src/server/dispatchers/debugControllerDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/debugControllerDispatcher.ts @@ -14,12 +14,12 @@ * limitations under the License. */ -import { eventsHelper } from '../../utils'; +import { eventsHelper } from '@utils/eventsHelper'; import { DebugController } from '../debugController'; import { Dispatcher } from './dispatcher'; import type { DispatcherConnection, RootDispatcher } from './dispatcher'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as channels from '@protocol/channels'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/dispatchers/debuggerDispatcher.ts b/packages/playwright-core/src/server/dispatchers/debuggerDispatcher.ts index bf622c7930a7a..f33978684b0d0 100644 --- a/packages/playwright-core/src/server/dispatchers/debuggerDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/debuggerDispatcher.ts @@ -14,9 +14,9 @@ * limitations under the License. */ +import { renderTitleForCall } from '@isomorphic/protocolFormatter'; import { Dispatcher } from './dispatcher'; import { Debugger } from '../debugger'; -import { renderTitleForCall } from '../../utils/isomorphic/protocolFormatter'; import type { BrowserContextDispatcher } from './browserContextDispatcher'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/server/dispatchers/dispatcher.ts b/packages/playwright-core/src/server/dispatchers/dispatcher.ts index d26c7066ba210..48feced737c37 100644 --- a/packages/playwright-core/src/server/dispatchers/dispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/dispatcher.ts @@ -16,20 +16,22 @@ import { EventEmitter } from 'events'; -import { eventsHelper } from '../utils/eventsHelper'; +import { getMetainfo } from '@isomorphic/protocolMetainfo'; +import { eventsHelper } from '@utils/eventsHelper'; +import { isUnderTest } from '@utils/debug'; +import { assert } from '@isomorphic/assert'; +import { monotonicTime } from '@isomorphic/time'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; import { ValidationError, createMetadataValidator, findValidator } from '../../protocol/validator'; -import { assert, monotonicTime, rewriteErrorMessage } from '../../utils'; -import { isUnderTest } from '../utils/debug'; import { TargetClosedError, isTargetClosedError, serializeError } from '../errors'; import { createRootSdkObject, SdkObject } from '../instrumentation'; import { isProtocolError } from '../protocolError'; import { compressCallLog } from '../callLog'; -import { getMetainfo } from '../../utils/isomorphic/protocolMetainfo'; import { Progress, ProgressController } from '../progress'; import type { CallMetadata } from '../instrumentation'; import type { PlaywrightDispatcher } from './playwrightDispatcher'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { ValidatorContext } from '../../protocol/validator'; import type * as channels from '@protocol/channels'; diff --git a/packages/playwright-core/src/server/dispatchers/frameDispatcher.ts b/packages/playwright-core/src/server/dispatchers/frameDispatcher.ts index e90a0a814bb67..c79cc9b111e0b 100644 --- a/packages/playwright-core/src/server/dispatchers/frameDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/frameDispatcher.ts @@ -14,15 +14,14 @@ * limitations under the License. */ +import yaml from 'yaml'; +import { parseAriaSnapshotUnsafe } from '@isomorphic/ariaSnapshot'; import { Frame } from '../frames'; import { Dispatcher } from './dispatcher'; import { ElementHandleDispatcher } from './elementHandlerDispatcher'; import { parseArgument, serializeResult } from './jsHandleDispatcher'; import { ResponseDispatcher } from './networkDispatchers'; import { RequestDispatcher } from './networkDispatchers'; -import { parseAriaSnapshotUnsafe } from '../../utils/isomorphic/ariaSnapshot'; -import { yaml } from '../../utilsBundle'; - import type { Progress } from '../progress'; import type { BrowserContextDispatcher } from './browserContextDispatcher'; import type { PageDispatcher } from './pageDispatcher'; diff --git a/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts b/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts index 062e6603df72b..7b30d75e761d5 100644 --- a/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/localUtilsDispatcher.ts @@ -15,25 +15,25 @@ */ import net from 'net'; +import { resolveGlobToRegexPattern } from '@isomorphic/urlMatch'; +import { getUserAgent } from '@utils/userAgent'; +import { fetchData } from '@utils/network'; import { Dispatcher } from './dispatcher'; import { SdkObject } from '../../server/instrumentation'; import * as localUtils from '../localUtils'; -import { getUserAgent } from '../utils/userAgent'; import { deviceDescriptors as descriptors } from '../deviceDescriptors'; import { JsonPipeDispatcher } from '../dispatchers/jsonPipeDispatcher'; import { PipeTransport } from '../pipeTransport'; import { Progress } from '../progress'; import { SocksInterceptor } from '../socksInterceptor'; import { WebSocketTransport } from '../transport'; -import { fetchData } from '../utils/network'; -import { resolveGlobToRegexPattern } from '../../utils/isomorphic/urlMatch'; import type { HarBackend } from '../harBackend'; import type { Playwright } from '../playwright'; import type { RootDispatcher } from './dispatcher'; import type * as channels from '@protocol/channels'; import type * as http from 'http'; -import type { HTTPRequestParams } from '../utils/network'; +import type { HTTPRequestParams } from '@utils/network'; export class LocalUtilsDispatcher extends Dispatcher implements channels.LocalUtilsChannel { _type_LocalUtils: boolean; diff --git a/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts b/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts index 1b351dc616dad..9d3dd342e356a 100644 --- a/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import { deserializeURLMatch, urlMatches } from '@isomorphic/urlMatch'; import { Page, Worker } from '../page'; import { Dispatcher } from './dispatcher'; import { parseError, serializeError } from '../errors'; @@ -27,7 +28,6 @@ import { RouteDispatcher, WebSocketDispatcher } from './networkDispatchers'; import { WebSocketRouteDispatcher } from './webSocketRouteDispatcher'; import { DisposableDispatcher } from './disposableDispatcher'; import { SdkObject } from '../instrumentation'; -import { deserializeURLMatch, urlMatches } from '../../utils/isomorphic/urlMatch'; import { Recorder } from '../recorder'; import { disposeAll } from '../disposable'; import { VideoRecorder } from '../videoRecorder'; @@ -46,7 +46,7 @@ import type { InitScript } from '../page'; import type { Disposable } from '../disposable'; import type * as channels from '@protocol/channels'; import type { Progress } from '@protocol/progress'; -import type { URLMatch } from '../../utils/isomorphic/urlMatch'; +import type { URLMatch } from '@isomorphic/urlMatch'; import type { ScreencastFrame } from '../types'; import type { ScreencastClient } from '../screencast'; diff --git a/packages/playwright-core/src/server/dispatchers/playwrightDispatcher.ts b/packages/playwright-core/src/server/dispatchers/playwrightDispatcher.ts index 4cf15affed3f8..eda7983bd75bd 100644 --- a/packages/playwright-core/src/server/dispatchers/playwrightDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/playwrightDispatcher.ts @@ -14,7 +14,8 @@ * limitations under the License. */ -import { SocksProxy } from '../utils/socksProxy'; +import { SocksProxy } from '@utils/socksProxy'; +import { eventsHelper } from '@utils/eventsHelper'; import { GlobalAPIRequestContext } from '../fetch'; import { AndroidDispatcher } from './androidDispatcher'; import { AndroidDeviceDispatcher } from './androidDispatcher'; @@ -25,11 +26,10 @@ import { ElectronDispatcher } from './electronDispatcher'; import { LocalUtilsDispatcher } from './localUtilsDispatcher'; import { APIRequestContextDispatcher } from './networkDispatchers'; import { SdkObject } from '../instrumentation'; -import { eventsHelper } from '../utils/eventsHelper'; import type { RootDispatcher } from './dispatcher'; -import type { SocksSocketClosedPayload, SocksSocketDataPayload, SocksSocketRequestedPayload } from '../utils/socksProxy'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { SocksSocketClosedPayload, SocksSocketDataPayload, SocksSocketRequestedPayload } from '@utils/socksProxy'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { AndroidDevice } from '../android/android'; import type { Browser } from '../browser'; import type { Playwright } from '../playwright'; diff --git a/packages/playwright-core/src/server/dispatchers/streamDispatcher.ts b/packages/playwright-core/src/server/dispatchers/streamDispatcher.ts index b84ab2ddbc33d..3e7625a907aa3 100644 --- a/packages/playwright-core/src/server/dispatchers/streamDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/streamDispatcher.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { ManualPromise } from '@isomorphic/manualPromise'; import { Dispatcher } from './dispatcher'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; import { SdkObject } from '../instrumentation'; import type { ArtifactDispatcher } from './artifactDispatcher'; diff --git a/packages/playwright-core/src/server/dispatchers/webSocketRouteDispatcher.ts b/packages/playwright-core/src/server/dispatchers/webSocketRouteDispatcher.ts index 93eb677c20724..32972ec8af42b 100644 --- a/packages/playwright-core/src/server/dispatchers/webSocketRouteDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/webSocketRouteDispatcher.ts @@ -14,13 +14,13 @@ * limitations under the License. */ +import { deserializeURLMatch, urlMatches } from '@isomorphic/urlMatch'; +import { eventsHelper } from '@utils/eventsHelper'; import { Page } from '../page'; import { Dispatcher } from './dispatcher'; import { PageDispatcher } from './pageDispatcher'; import * as rawWebSocketMockSource from '../../generated/webSocketMockSource'; import { SdkObject } from '../instrumentation'; -import { deserializeURLMatch, urlMatches } from '../../utils/isomorphic/urlMatch'; -import { eventsHelper } from '../utils/eventsHelper'; import type { BrowserContextDispatcher } from './browserContextDispatcher'; import type { BrowserContext } from '../browserContext'; diff --git a/packages/playwright-core/src/server/dom.ts b/packages/playwright-core/src/server/dom.ts index 0e46c800931c5..347dc1bec977b 100644 --- a/packages/playwright-core/src/server/dom.ts +++ b/packages/playwright-core/src/server/dom.ts @@ -16,8 +16,8 @@ import fs from 'fs'; +import { isUnderTest } from '@utils/debug'; import * as js from './javascript'; -import { isUnderTest } from '../utils'; import { prepareFilesForUpload } from './fileUploadUtils'; import * as rawInjectedScriptSource from '../generated/injectedScriptSource'; diff --git a/packages/playwright-core/src/server/download.ts b/packages/playwright-core/src/server/download.ts index 95ba4eb2b1e1c..6d88db191c9d9 100644 --- a/packages/playwright-core/src/server/download.ts +++ b/packages/playwright-core/src/server/download.ts @@ -16,8 +16,8 @@ import path from 'path'; +import { assert } from '@isomorphic/assert'; import { Page } from './page'; -import { assert } from '../utils'; import { Artifact } from './artifact'; export class Download { diff --git a/packages/playwright-core/src/server/electron/DEPS.list b/packages/playwright-core/src/server/electron/DEPS.list index fcb87d71e8c4c..ad3aea548bc2e 100644 --- a/packages/playwright-core/src/server/electron/DEPS.list +++ b/packages/playwright-core/src/server/electron/DEPS.list @@ -1,7 +1,7 @@ [*] ../ ../../package.ts -../../utils/ -../../utils/isomorphic/ +../../utils/** +@isomorphic/** ../chromium/ ../utils \ No newline at end of file diff --git a/packages/playwright-core/src/server/electron/electron.ts b/packages/playwright-core/src/server/electron/electron.ts index 912079ff5f27a..6586369ed70ff 100644 --- a/packages/playwright-core/src/server/electron/electron.ts +++ b/packages/playwright-core/src/server/electron/electron.ts @@ -19,11 +19,12 @@ import os from 'os'; import path from 'path'; import * as readline from 'readline'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { RecentLogsCollector } from '@utils/debugLogger'; +import { eventsHelper } from '@utils/eventsHelper'; +import { envArrayToObject, launchProcess } from '@utils/processLauncher'; +import { ManualPromise } from '@isomorphic/manualPromise'; import { libPath } from '../../package'; -import { ManualPromise } from '../../utils'; -import { wrapInASCIIBox } from '../utils/ascii'; -import { RecentLogsCollector } from '../utils/debugLogger'; -import { eventsHelper } from '../utils/eventsHelper'; import { validateBrowserContextOptions } from '../browserContext'; import { CRBrowser } from '../chromium/crBrowser'; import { CRConnection } from '../chromium/crConnection'; @@ -33,7 +34,6 @@ import { ConsoleMessage } from '../console'; import { helper } from '../helper'; import { SdkObject } from '../instrumentation'; import * as js from '../javascript'; -import { envArrayToObject, launchProcess } from '../utils/processLauncher'; import { WebSocketTransport } from '../transport'; import { nullProgress } from '../progress'; diff --git a/packages/playwright-core/src/server/errors.ts b/packages/playwright-core/src/server/errors.ts index fa4dc2ab1618c..67ebff9e793f5 100644 --- a/packages/playwright-core/src/server/errors.ts +++ b/packages/playwright-core/src/server/errors.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { isError } from '@isomorphic/rtti'; import { parseSerializedValue, serializeValue } from '../protocol/serializers'; -import { isError } from '../utils'; import type { SerializedError } from '@protocol/channels'; diff --git a/packages/playwright-core/src/server/fetch.ts b/packages/playwright-core/src/server/fetch.ts index dca6b204dddc6..a10875113c0d4 100644 --- a/packages/playwright-core/src/server/fetch.ts +++ b/packages/playwright-core/src/server/fetch.ts @@ -20,16 +20,20 @@ import { Transform, pipeline } from 'stream'; import { TLSSocket } from 'tls'; import * as zlib from 'zlib'; -import { assert, constructURLBasedOnBaseURL, createProxyAgent, eventsHelper, monotonicTime } from '../utils'; -import { createGuid } from './utils/crypto'; -import { getUserAgent } from './utils/userAgent'; +import { createGuid } from '@utils/crypto'; +import { getUserAgent } from '@utils/userAgent'; +import { httpHappyEyeballsAgent, httpsHappyEyeballsAgent, timingForSocket } from '@utils/happyEyeballs'; +import { assert } from '@isomorphic/assert'; +import { constructURLBasedOnBaseURL } from '@isomorphic/urlMatch'; +import { createProxyAgent } from '@utils/network'; +import { eventsHelper } from '@utils/eventsHelper'; +import { monotonicTime } from '@isomorphic/time'; import { BrowserContext, verifyClientCertificates } from './browserContext'; import { Cookie, CookieStore, domainMatches, parseRawCookie } from './cookieStore'; import { MultipartFormData } from './formData'; import { SdkObject } from './instrumentation'; import { isAbortError } from './progress'; import { getMatchingTLSOptionsForOrigin, rewriteOpenSSLErrorIfNeeded } from './socksClientCertificatesInterceptor'; -import { httpHappyEyeballsAgent, httpsHappyEyeballsAgent, timingForSocket } from './utils/happyEyeballs'; import { Tracing } from './trace/recorder/tracing'; import type { Playwright } from './playwright'; @@ -37,7 +41,7 @@ import type { Progress } from './progress'; import type * as types from './types'; import type { HeadersArray, ProxySettings } from './types'; import type { HTTPCredentials } from '../../types/types'; -import type { RegisteredListener } from '../utils'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as channels from '@protocol/channels'; import type * as har from '@trace/har'; import type { LookupAddress } from 'dns'; diff --git a/packages/playwright-core/src/server/fileUploadUtils.ts b/packages/playwright-core/src/server/fileUploadUtils.ts index 5a3487a5c10be..94921e1740daf 100644 --- a/packages/playwright-core/src/server/fileUploadUtils.ts +++ b/packages/playwright-core/src/server/fileUploadUtils.ts @@ -17,9 +17,8 @@ import fs from 'fs'; import path from 'path'; -import { assert } from '../utils/isomorphic/assert'; -import { mime } from '../utilsBundle'; - +import mime from 'mime'; +import { assert } from '@isomorphic/assert'; import type { WritableStreamDispatcher } from './dispatchers/writableStreamDispatcher'; import type { InputFilesItems } from './dom'; import type { Frame } from './frames'; diff --git a/packages/playwright-core/src/server/firefox/ffBrowser.ts b/packages/playwright-core/src/server/firefox/ffBrowser.ts index e06467925fa01..c3dc91c9e8ce6 100644 --- a/packages/playwright-core/src/server/firefox/ffBrowser.ts +++ b/packages/playwright-core/src/server/firefox/ffBrowser.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { assert } from '../../utils'; +import { assert } from '@isomorphic/assert'; import { Browser } from '../browser'; import { BrowserContext, verifyGeolocation } from '../browserContext'; import * as network from '../network'; diff --git a/packages/playwright-core/src/server/firefox/ffConnection.ts b/packages/playwright-core/src/server/firefox/ffConnection.ts index 4689e6df7260b..9815e42a7659c 100644 --- a/packages/playwright-core/src/server/firefox/ffConnection.ts +++ b/packages/playwright-core/src/server/firefox/ffConnection.ts @@ -17,13 +17,13 @@ import { EventEmitter } from 'events'; -import { debugLogger } from '../utils/debugLogger'; +import { debugLogger } from '@utils/debugLogger'; import { helper } from '../helper'; import { ProtocolError } from '../protocolError'; import type { ConnectionTransport, ProtocolRequest, ProtocolResponse } from '../transport'; import type { Protocol } from './protocol'; -import type { RecentLogsCollector } from '../utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; import type { ProtocolLogger } from '../types'; diff --git a/packages/playwright-core/src/server/firefox/ffExecutionContext.ts b/packages/playwright-core/src/server/firefox/ffExecutionContext.ts index e686081ab372f..398889146d0c5 100644 --- a/packages/playwright-core/src/server/firefox/ffExecutionContext.ts +++ b/packages/playwright-core/src/server/firefox/ffExecutionContext.ts @@ -15,9 +15,9 @@ * limitations under the License. */ -import { assert } from '../../utils/isomorphic/assert'; -import { rewriteErrorMessage } from '../../utils/isomorphic/stackTrace'; -import { parseEvaluationResultValue } from '../../utils/isomorphic/utilityScriptSerializers'; +import { assert } from '@isomorphic/assert'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; +import { parseEvaluationResultValue } from '@isomorphic/utilityScriptSerializers'; import * as js from '../javascript'; import * as dom from '../dom'; import { isSessionClosedError } from '../protocolError'; diff --git a/packages/playwright-core/src/server/firefox/ffNetworkManager.ts b/packages/playwright-core/src/server/firefox/ffNetworkManager.ts index de33acb6a2a80..535d2fbcd2423 100644 --- a/packages/playwright-core/src/server/firefox/ffNetworkManager.ts +++ b/packages/playwright-core/src/server/firefox/ffNetworkManager.ts @@ -15,12 +15,12 @@ * limitations under the License. */ -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; import * as network from '../network'; import type { FFSession } from './ffConnection'; import type { HeadersArray } from '../../server/types'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as frames from '../frames'; import type { Page } from '../page'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/server/firefox/ffPage.ts b/packages/playwright-core/src/server/firefox/ffPage.ts index 98cc613e2889b..038c90c9a5869 100644 --- a/packages/playwright-core/src/server/firefox/ffPage.ts +++ b/packages/playwright-core/src/server/firefox/ffPage.ts @@ -15,7 +15,8 @@ * limitations under the License. */ -import { eventsHelper } from '../utils/eventsHelper'; +import { splitErrorMessage } from '@isomorphic/stackTrace'; +import { eventsHelper } from '@utils/eventsHelper'; import * as dialog from '../dialog'; import * as dom from '../dom'; import { InitScript } from '../page'; @@ -24,14 +25,13 @@ import { FFSession } from './ffConnection'; import { createHandle, FFExecutionContext } from './ffExecutionContext'; import { RawKeyboardImpl, RawMouseImpl, RawTouchscreenImpl } from './ffInput'; import { FFNetworkManager } from './ffNetworkManager'; -import { splitErrorMessage } from '../../utils/isomorphic/stackTrace'; import { TargetClosedError } from '../errors'; import { startAutomaticVideoRecording } from '../videoRecorder'; import type { Progress } from '../progress'; import type { FFBrowserContext } from './ffBrowser'; import type { Protocol } from './protocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as frames from '../frames'; import type { PageDelegate } from '../page'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/server/firefox/firefox.ts b/packages/playwright-core/src/server/firefox/firefox.ts index 489a6119c8182..d469a67c5fd17 100644 --- a/packages/playwright-core/src/server/firefox/firefox.ts +++ b/packages/playwright-core/src/server/firefox/firefox.ts @@ -18,17 +18,17 @@ import os from 'os'; import path from 'path'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { wrapInASCIIBox } from '@utils/ascii'; import { FFBrowser } from './ffBrowser'; import { kBrowserCloseMessageId } from './ffConnection'; -import { wrapInASCIIBox } from '../utils/ascii'; import { BrowserType, kNoXServerRunningError } from '../browserType'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; import type { Browser, BrowserOptions } from '../browser'; import type { SdkObject } from '../instrumentation'; import type { ConnectionTransport } from '../transport'; import type * as types from '../types'; -import type { RecentLogsCollector } from '../utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; import type { BrowserContext } from '../browserContext'; import type * as channels from '@protocol/channels'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/formData.ts b/packages/playwright-core/src/server/formData.ts index d628480954a0a..e494003e2d072 100644 --- a/packages/playwright-core/src/server/formData.ts +++ b/packages/playwright-core/src/server/formData.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { mime } from '../utilsBundle'; - +import mime from 'mime'; import type * as channels from '@protocol/channels'; export class MultipartFormData { diff --git a/packages/playwright-core/src/server/frameSelectors.ts b/packages/playwright-core/src/server/frameSelectors.ts index 450f2ee654981..2cf448cc788a1 100644 --- a/packages/playwright-core/src/server/frameSelectors.ts +++ b/packages/playwright-core/src/server/frameSelectors.ts @@ -14,15 +14,15 @@ * limitations under the License. */ -import { asLocator } from '../utils'; -import { InvalidSelectorError, splitSelectorByFrame, stringifySelector, visitAllSelectorParts } from '../utils/isomorphic/selectorParser'; +import { InvalidSelectorError, splitSelectorByFrame, stringifySelector, visitAllSelectorParts } from '@isomorphic/selectorParser'; +import { asLocator } from '@isomorphic/locatorGenerators'; import type { ElementHandle, FrameExecutionContext } from './dom'; import type { Frame } from './frames'; import type { InjectedScript } from '@injected/injectedScript'; import type { JSHandle } from './javascript'; import type * as types from './types'; -import type { ParsedSelector } from '../utils/isomorphic/selectorParser'; +import type { ParsedSelector } from '@isomorphic/selectorParser'; export type SelectorInfo = { diff --git a/packages/playwright-core/src/server/frames.ts b/packages/playwright-core/src/server/frames.ts index beff0ce1b71ef..a342f2e27ba0d 100644 --- a/packages/playwright-core/src/server/frames.ts +++ b/packages/playwright-core/src/server/frames.ts @@ -15,6 +15,15 @@ * limitations under the License. */ +import { isInvalidSelectorError } from '@isomorphic/selectorParser'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { eventsHelper } from '@utils/eventsHelper'; +import { LongStandingScope } from '@isomorphic/manualPromise'; +import { asLocator } from '@isomorphic/locatorGenerators'; +import { assert } from '@isomorphic/assert'; +import { constructURLBasedOnBaseURL } from '@isomorphic/urlMatch'; +import { makeWaitForNextTask } from '@utils/task'; +import { renderTitleForCall } from '@isomorphic/protocolFormatter'; import { BrowserContext } from './browserContext'; import * as dom from './dom'; import { TimeoutError } from './errors'; @@ -27,11 +36,7 @@ import * as network from './network'; import { Page, ariaSnapshotForFrame } from './page'; import { isAbortError, nullProgress, ProgressController } from './progress'; import * as types from './types'; -import { LongStandingScope, asLocator, assert, constructURLBasedOnBaseURL, makeWaitForNextTask, renderTitleForCall } from '../utils'; import { isSessionClosedError } from './protocolError'; -import { eventsHelper } from './utils/eventsHelper'; -import { isInvalidSelectorError } from '../utils/isomorphic/selectorParser'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; import { compressCallLog } from './callLog'; import type { ConsoleMessage } from './console'; @@ -39,8 +44,8 @@ import type { SelectorInfo } from './frameSelectors'; import type { ElementStateWithoutStable, FrameExpectParams, InjectedScript } from '@injected/injectedScript'; import type { Progress } from './progress'; import type { ScreenshotOptions } from './screenshotter'; -import type { RegisteredListener } from './utils/eventsHelper'; -import type { ParsedSelector } from '../utils/isomorphic/selectorParser'; +import type { RegisteredListener } from '@utils/eventsHelper'; +import type { ParsedSelector } from '@isomorphic/selectorParser'; import type * as channels from '@protocol/channels'; type ContextData = { diff --git a/packages/playwright-core/src/server/har/harRecorder.ts b/packages/playwright-core/src/server/har/harRecorder.ts index 7d99a377902ce..4dc2fde5e973c 100644 --- a/packages/playwright-core/src/server/har/harRecorder.ts +++ b/packages/playwright-core/src/server/har/harRecorder.ts @@ -17,15 +17,14 @@ import fs from 'fs'; import path from 'path'; +import * as yazl from 'yazl'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { createGuid } from '@utils/crypto'; import { Artifact } from '../artifact'; import { HarTracer } from './harTracer'; -import { createGuid } from '../utils/crypto'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { yazl } from '../../zipBundle'; - import type { BrowserContext } from '../browserContext'; import type { HarTracerDelegate } from './harTracer'; -import type { ZipFile } from '../../zipBundle'; +import type { ZipFile } from '../../utilsBundle'; import type { Page } from '../page'; import type * as channels from '@protocol/channels'; import type * as har from '@trace/har'; diff --git a/packages/playwright-core/src/server/har/harTracer.ts b/packages/playwright-core/src/server/har/harTracer.ts index 67832906827c9..b16cf0729ee55 100644 --- a/packages/playwright-core/src/server/har/harTracer.ts +++ b/packages/playwright-core/src/server/har/harTracer.ts @@ -14,11 +14,15 @@ * limitations under the License. */ -import { assert, calculateSha1, monotonicTime } from '../../utils'; -import { getPlaywrightVersion, isTextualMimeType, urlMatches } from '../../utils'; -import { eventsHelper } from '../utils/eventsHelper'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { mime } from '../../utilsBundle'; +import mime from 'mime'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { eventsHelper } from '@utils/eventsHelper'; +import { assert } from '@isomorphic/assert'; +import { calculateSha1 } from '@utils/crypto'; +import { monotonicTime } from '@isomorphic/time'; +import { getPlaywrightVersion } from '@utils/userAgent'; +import { isTextualMimeType } from '@isomorphic/mimeType'; +import { urlMatches } from '@isomorphic/urlMatch'; import { BrowserContext } from '../browserContext'; import { APIRequestContext } from '../fetch'; import { Frame } from '../frames'; @@ -26,7 +30,7 @@ import { helper } from '../helper'; import * as network from '../network'; import { nullProgress } from '../progress'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { APIRequestEvent, APIRequestFinishedEvent } from '../fetch'; import type { Page } from '../page'; import type { Worker } from '../page'; diff --git a/packages/playwright-core/src/server/harBackend.ts b/packages/playwright-core/src/server/harBackend.ts index cbc82fdcfca43..d85a07dc5ffd9 100644 --- a/packages/playwright-core/src/server/harBackend.ts +++ b/packages/playwright-core/src/server/harBackend.ts @@ -17,10 +17,10 @@ import fs from 'fs'; import path from 'path'; -import { createGuid } from './utils/crypto'; -import { ZipFile } from './utils/zipFile'; +import { createGuid } from '@utils/crypto'; +import { ZipFile } from '@utils/zipFile'; -import type { HeadersArray } from '../utils/isomorphic/types'; +import type { HeadersArray } from '@isomorphic/types'; import type * as har from '@trace/har'; const redirectStatus = [301, 302, 303, 307, 308]; diff --git a/packages/playwright-core/src/server/helper.ts b/packages/playwright-core/src/server/helper.ts index e1e9e146815f7..8dc5389e5d5e2 100644 --- a/packages/playwright-core/src/server/helper.ts +++ b/packages/playwright-core/src/server/helper.ts @@ -15,12 +15,12 @@ * limitations under the License. */ -import { debugLogger } from './utils/debugLogger'; -import { eventsHelper } from './utils/eventsHelper'; +import { debugLogger } from '@utils/debugLogger'; +import { eventsHelper } from '@utils/eventsHelper'; import type { Progress } from './progress'; import type * as types from './types'; -import type { RegisteredListener } from './utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { EventEmitter } from 'events'; diff --git a/packages/playwright-core/src/server/input.ts b/packages/playwright-core/src/server/input.ts index f7f94b8654b45..9ff1f8bc8d66d 100644 --- a/packages/playwright-core/src/server/input.ts +++ b/packages/playwright-core/src/server/input.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { assert } from '../utils'; +import { assert } from '@isomorphic/assert'; import * as keyboardLayout from './usKeyboardLayout'; import { NonRecoverableDOMError } from './dom'; diff --git a/packages/playwright-core/src/server/instrumentation.ts b/packages/playwright-core/src/server/instrumentation.ts index 569c1f1638eef..01357e6eb69a0 100644 --- a/packages/playwright-core/src/server/instrumentation.ts +++ b/packages/playwright-core/src/server/instrumentation.ts @@ -16,8 +16,8 @@ import { EventEmitter } from 'events'; -import { createGuid } from './utils/crypto'; -import { debugLogger } from './utils/debugLogger'; +import { createGuid } from '@utils/crypto'; +import { debugLogger } from '@utils/debugLogger'; import type { Browser } from './browser'; import type { BrowserContext } from './browserContext'; @@ -30,7 +30,7 @@ import type { Page } from './page'; import type { Playwright } from './playwright'; import type { CallMetadata } from '@protocol/callMetadata'; export type { CallMetadata } from '@protocol/callMetadata'; -import type { LogName } from './utils/debugLogger'; +import type { LogName } from '@utils/debugLogger'; export type Attribution = { playwright: Playwright; diff --git a/packages/playwright-core/src/server/javascript.ts b/packages/playwright-core/src/server/javascript.ts index 950f9d0f9e6ab..85008919d76e3 100644 --- a/packages/playwright-core/src/server/javascript.ts +++ b/packages/playwright-core/src/server/javascript.ts @@ -14,11 +14,11 @@ * limitations under the License. */ +import { serializeAsCallArgument } from '@isomorphic/utilityScriptSerializers'; +import { LongStandingScope } from '@isomorphic/manualPromise'; +import { isUnderTest } from '@utils/debug'; import { SdkObject } from './instrumentation'; import * as rawUtilityScriptSource from '../generated/utilityScriptSource'; -import { isUnderTest } from '../utils'; -import { serializeAsCallArgument } from '../utils/isomorphic/utilityScriptSerializers'; -import { LongStandingScope } from '../utils/isomorphic/manualPromise'; import type * as dom from './dom'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/launchApp.ts b/packages/playwright-core/src/server/launchApp.ts index 650505054d1cf..40a999d47e3d5 100644 --- a/packages/playwright-core/src/server/launchApp.ts +++ b/packages/playwright-core/src/server/launchApp.ts @@ -17,8 +17,10 @@ import fs from 'fs'; import path from 'path'; +import { isUnderTest } from '@utils/debug'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; +import { wrapInASCIIBox } from '@utils/ascii'; import { libPath } from '../package'; -import { isUnderTest, rewriteErrorMessage, wrapInASCIIBox } from '../utils'; import { buildPlaywrightCLICommand, findChromiumChannelBestEffort } from './registry'; import { registryDirectory } from './registry'; import { nullProgress, ProgressController } from './progress'; diff --git a/packages/playwright-core/src/server/localUtils.ts b/packages/playwright-core/src/server/localUtils.ts index f6cdd4238d0d1..661287f1c9c8c 100644 --- a/packages/playwright-core/src/server/localUtils.ts +++ b/packages/playwright-core/src/server/localUtils.ts @@ -18,15 +18,15 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; -import { calculateSha1 } from './utils/crypto'; +import * as yauzl from 'yauzl'; +import * as yazl from 'yazl'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { serializeClientSideCallMetadata } from '@isomorphic/trace/traceUtils'; +import { assert } from '@isomorphic/assert'; +import { calculateSha1 } from '@utils/crypto'; +import { ZipFile } from '@utils/zipFile'; +import { removeFolders } from '@utils/fileUtils'; import { HarBackend } from './harBackend'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; -import { ZipFile } from './utils/zipFile'; -import { serializeClientSideCallMetadata } from '../utils/isomorphic/trace/traceUtils'; -import { assert } from '../utils/isomorphic/assert'; -import { removeFolders } from './utils/fileUtils'; -import { yauzl, yazl } from '../zipBundle'; - import type * as channels from '@protocol/channels'; import type * as har from '@trace/har'; import type EventEmitter from 'events'; diff --git a/packages/playwright-core/src/server/network.ts b/packages/playwright-core/src/server/network.ts index 574fc63d8aec3..eafa7f097be68 100644 --- a/packages/playwright-core/src/server/network.ts +++ b/packages/playwright-core/src/server/network.ts @@ -14,18 +14,18 @@ * limitations under the License. */ -import { assert } from '../utils'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { assert } from '@isomorphic/assert'; import { BrowserContext } from './browserContext'; import { APIRequestContext } from './fetch'; import { SdkObject } from './instrumentation'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; import type * as contexts from './browserContext'; import type * as frames from './frames'; import type * as pages from './page'; import type * as types from './types'; import type { NormalizedContinueOverrides } from './types'; -import type { HeadersArray, NameValue } from '../utils/isomorphic/types'; +import type { HeadersArray, NameValue } from '@isomorphic/types'; import type * as channels from '@protocol/channels'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/overlay.ts b/packages/playwright-core/src/server/overlay.ts index 25606452e5bf4..65128a97807a3 100644 --- a/packages/playwright-core/src/server/overlay.ts +++ b/packages/playwright-core/src/server/overlay.ts @@ -14,7 +14,9 @@ * limitations under the License. */ -import { createGuid, debugLogger, escapeHTML } from '../utils'; +import { createGuid } from '@utils/crypto'; +import { debugLogger } from '@utils/debugLogger'; +import { escapeHTML } from '@isomorphic/stringUtils'; import { Page } from './page'; export class Overlay { diff --git a/packages/playwright-core/src/server/page.ts b/packages/playwright-core/src/server/page.ts index c1acb77805495..90f94de419abc 100644 --- a/packages/playwright-core/src/server/page.ts +++ b/packages/playwright-core/src/server/page.ts @@ -15,6 +15,16 @@ * limitations under the License. */ +import { isInvalidSelectorError, stringifySelector } from '@isomorphic/selectorParser'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { parseEvaluationResultValue } from '@isomorphic/utilityScriptSerializers'; +import { getComparator } from '@utils/comparators'; +import { debugLogger } from '@utils/debugLogger'; +import { LongStandingScope } from '@isomorphic/manualPromise'; +import { assert } from '@isomorphic/assert'; +import { renderTitleForCall } from '@isomorphic/protocolFormatter'; +import { trimStringWithEllipsis } from '@isomorphic/stringUtils'; +import { asLocator } from '@isomorphic/locatorGenerators'; import { BrowserContext } from './browserContext'; import { DisposableObject } from './disposable'; import { ConsoleMessage } from './console'; @@ -26,13 +36,6 @@ import * as input from './input'; import { SdkObject } from './instrumentation'; import * as js from './javascript'; import { Screenshotter, validateScreenshotOptions } from './screenshotter'; -import { LongStandingScope, assert, renderTitleForCall, trimStringWithEllipsis } from '../utils'; -import { asLocator } from '../utils'; -import { getComparator } from './utils/comparators'; -import { debugLogger } from './utils/debugLogger'; -import { isInvalidSelectorError, stringifySelector } from '../utils/isomorphic/selectorParser'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; -import { parseEvaluationResultValue } from '../utils/isomorphic/utilityScriptSerializers'; import { compressCallLog } from './callLog'; import * as rawBindingsControllerSource from '../generated/bindingsControllerSource'; import { Overlay } from './overlay'; @@ -47,7 +50,7 @@ import type * as network from './network'; import type { Progress } from './progress'; import type { ScreenshotOptions } from './screenshotter'; import type * as types from './types'; -import type { ImageComparatorOptions } from './utils/comparators'; +import type { ImageComparatorOptions } from '@utils/comparators'; import type * as channels from '@protocol/channels'; import type { BindingPayload } from '@injected/bindingsController'; import type { SelectorInfo } from './frameSelectors'; diff --git a/packages/playwright-core/src/server/pipeTransport.ts b/packages/playwright-core/src/server/pipeTransport.ts index ba811e606e496..82ef02143857c 100644 --- a/packages/playwright-core/src/server/pipeTransport.ts +++ b/packages/playwright-core/src/server/pipeTransport.ts @@ -15,8 +15,8 @@ * limitations under the License. */ -import { makeWaitForNextTask } from '../utils'; -import { debugLogger } from './utils/debugLogger'; +import { debugLogger } from '@utils/debugLogger'; +import { makeWaitForNextTask } from '@utils/task'; import type { ConnectionTransport, ProtocolRequest, ProtocolResponse } from './transport'; diff --git a/packages/playwright-core/src/server/playwright.ts b/packages/playwright-core/src/server/playwright.ts index c4bb0ff3ec35d..3430f7829f27c 100644 --- a/packages/playwright-core/src/server/playwright.ts +++ b/packages/playwright-core/src/server/playwright.ts @@ -26,7 +26,7 @@ import { SdkObject, createRootSdkObject } from './instrumentation'; import { WebKit } from './webkit/webkit'; import type { BrowserType } from './browserType'; -import type { Language } from '../utils'; +import type { Language } from '@isomorphic/locatorGenerators'; import type { Browser } from './browser'; import type { Page } from './page'; diff --git a/packages/playwright-core/src/server/progress.ts b/packages/playwright-core/src/server/progress.ts index 461e982a84e63..c55bcc0c093e1 100644 --- a/packages/playwright-core/src/server/progress.ts +++ b/packages/playwright-core/src/server/progress.ts @@ -14,9 +14,11 @@ * limitations under the License. */ +import { ManualPromise } from '@isomorphic/manualPromise'; +import { assert } from '@isomorphic/assert'; +import { monotonicTime } from '@isomorphic/time'; +import { debugLogger } from '@utils/debugLogger'; import { TimeoutError } from './errors'; -import { assert, monotonicTime, debugLogger } from '../utils'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; import type { Progress } from '@protocol/progress'; import type { CallMetadata, SdkObject } from './instrumentation'; diff --git a/packages/playwright-core/src/server/protocolError.ts b/packages/playwright-core/src/server/protocolError.ts index 9ef856c2eb9fb..097ef1bde5cf5 100644 --- a/packages/playwright-core/src/server/protocolError.ts +++ b/packages/playwright-core/src/server/protocolError.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { rewriteErrorMessage } from '../utils/isomorphic/stackTrace'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; export class ProtocolError extends Error { type: 'error' | 'closed' | 'crashed'; diff --git a/packages/playwright-core/src/server/recorder.ts b/packages/playwright-core/src/server/recorder.ts index 4e6c1241a69ce..4f506e850604f 100644 --- a/packages/playwright-core/src/server/recorder.ts +++ b/packages/playwright-core/src/server/recorder.ts @@ -17,31 +17,32 @@ import EventEmitter from 'events'; import fs from 'fs'; -import { isUnderTest } from '../utils'; +import { locatorOrSelectorAsSelector } from '@isomorphic/locatorParser'; +import { stringifySelector } from '@isomorphic/selectorParser'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { isUnderTest } from '@utils/debug'; +import { eventsHelper } from '@utils/eventsHelper'; +import { monotonicTime } from '@isomorphic/time'; import { BrowserContext } from './browserContext'; import { Debugger } from './debugger'; import { buildFullSelector, generateFrameSelector, metadataToCallLog } from './recorder/recorderUtils'; -import { locatorOrSelectorAsSelector } from '../utils/isomorphic/locatorParser'; -import { stringifySelector } from '../utils/isomorphic/selectorParser'; import { nullProgress, ProgressController } from './progress'; -import { ManualPromise } from '../utils/isomorphic/manualPromise'; import { RecorderSignalProcessor } from './recorder/recorderSignalProcessor'; import * as rawRecorderSource from './../generated/pollingRecorderSource'; -import { eventsHelper, monotonicTime } from './../utils'; import { Frame } from './frames'; import { Page } from './page'; import { performAction } from './recorder/recorderRunner'; import type { Language } from './codegen/types'; import type { CallMetadata, InstrumentationListener, SdkObject } from './instrumentation'; -import type { Point } from '../utils/isomorphic/types'; +import type { Point } from '@isomorphic/types'; import type { AriaTemplateNode } from '@isomorphic/ariaSnapshot'; import type { Progress } from './progress'; import type * as channels from '@protocol/channels'; import type * as actions from '@recorder/actions'; import type { CallLog, CallLogStatus, ElementInfo, Mode, OverlayState, Source, UIState } from '@recorder/recorderTypes'; -import type { RegisteredListener } from '../utils'; +import type { RegisteredListener } from '@utils/eventsHelper'; const recorderSymbol = Symbol('recorderSymbol'); diff --git a/packages/playwright-core/src/server/recorder/DEPS.list b/packages/playwright-core/src/server/recorder/DEPS.list index 61d3676264f53..2f7a6575bece3 100644 --- a/packages/playwright-core/src/server/recorder/DEPS.list +++ b/packages/playwright-core/src/server/recorder/DEPS.list @@ -9,5 +9,4 @@ ../../package.ts ../../protocol/ ../../utils/** -../../utilsBundle.ts -../../zipBundle.ts +node_modules/mime diff --git a/packages/playwright-core/src/server/recorder/recorderApp.ts b/packages/playwright-core/src/server/recorder/recorderApp.ts index fda72ca039ada..f5538450b5957 100644 --- a/packages/playwright-core/src/server/recorder/recorderApp.ts +++ b/packages/playwright-core/src/server/recorder/recorderApp.ts @@ -17,9 +17,9 @@ import fs from 'fs'; import path from 'path'; +import mime from 'mime'; +import { isUnderTest } from '@utils/debug'; import { libPath } from '../../package'; -import { isUnderTest } from '../utils/debug'; -import { mime } from '../../utilsBundle'; import { syncLocalStorageWithSettings } from '../launchApp'; import { launchApp } from '../launchApp'; import { nullProgress, ProgressController } from '../progress'; diff --git a/packages/playwright-core/src/server/recorder/recorderRunner.ts b/packages/playwright-core/src/server/recorder/recorderRunner.ts index 3daf608c80a20..17f0dd1265dd2 100644 --- a/packages/playwright-core/src/server/recorder/recorderRunner.ts +++ b/packages/playwright-core/src/server/recorder/recorderRunner.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { serializeExpectedTextValues } from '../../utils'; +import { serializeExpectedTextValues } from '@utils/expectUtils'; import { toKeyboardModifiers } from '../codegen/language'; import { buildFullSelector, mainFrameForAction } from './recorderUtils'; import { Progress } from '../progress'; diff --git a/packages/playwright-core/src/server/recorder/recorderSignalProcessor.ts b/packages/playwright-core/src/server/recorder/recorderSignalProcessor.ts index 4e15d80e82a35..ce8e0349d2130 100644 --- a/packages/playwright-core/src/server/recorder/recorderSignalProcessor.ts +++ b/packages/playwright-core/src/server/recorder/recorderSignalProcessor.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { isUnderTest } from '../utils/debug'; -import { monotonicTime } from '../../utils/isomorphic/time'; +import { monotonicTime } from '@isomorphic/time'; +import { isUnderTest } from '@utils/debug'; import { generateFrameSelector } from './recorderUtils'; import { nullProgress } from '../progress'; diff --git a/packages/playwright-core/src/server/recorder/recorderUtils.ts b/packages/playwright-core/src/server/recorder/recorderUtils.ts index a90def3332931..fca4472208ce3 100644 --- a/packages/playwright-core/src/server/recorder/recorderUtils.ts +++ b/packages/playwright-core/src/server/recorder/recorderUtils.ts @@ -14,9 +14,10 @@ * limitations under the License. */ -import { renderTitleForCall } from '../../utils/isomorphic/protocolFormatter'; -import { monotonicTime, quoteCSSAttributeValue } from '../../utils'; -import { raceAgainstDeadline } from '../../utils/isomorphic/timeoutRunner'; +import { renderTitleForCall } from '@isomorphic/protocolFormatter'; +import { raceAgainstDeadline } from '@isomorphic/timeoutRunner'; +import { monotonicTime } from '@isomorphic/time'; +import { quoteCSSAttributeValue } from '@isomorphic/stringUtils'; import { Frame } from '../frames'; import type { CallMetadata } from '../instrumentation'; diff --git a/packages/playwright-core/src/server/registry/DEPS.list b/packages/playwright-core/src/server/registry/DEPS.list index a96f617a75640..c073ba8febe17 100644 --- a/packages/playwright-core/src/server/registry/DEPS.list +++ b/packages/playwright-core/src/server/registry/DEPS.list @@ -1,8 +1,9 @@ [*] ../../package.ts -../../utils/ -../../utils/isomorphic/ +../../utils/** +@isomorphic/** ../../utilsBundle.ts -../../zipBundle.ts -../utils/ +../utils/** ./ +node_modules/colors/safe +node_modules/progress diff --git a/packages/playwright-core/src/server/registry/browserFetcher.ts b/packages/playwright-core/src/server/registry/browserFetcher.ts index d67ae4a44eb3d..b2a6638b11bfb 100644 --- a/packages/playwright-core/src/server/registry/browserFetcher.ts +++ b/packages/playwright-core/src/server/registry/browserFetcher.ts @@ -20,12 +20,13 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import ProgressBar from 'progress'; +import colors from 'colors/safe'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { debugLogger } from '@utils/debugLogger'; +import { getUserAgent } from '@utils/userAgent'; +import { existsAsync, removeFolders } from '@utils/fileUtils'; import { libPath } from '../../package'; -import { debugLogger } from '../utils/debugLogger'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { getUserAgent } from '../utils/userAgent'; -import { progress as ProgressBar, colors } from '../../utilsBundle'; -import { existsAsync, removeFolders } from '../utils/fileUtils'; import { browserDirectoryToMarkerFilePath } from '.'; diff --git a/packages/playwright-core/src/server/registry/dependencies.ts b/packages/playwright-core/src/server/registry/dependencies.ts index 69cd5195c65a4..658cfd48d72bf 100644 --- a/packages/playwright-core/src/server/registry/dependencies.ts +++ b/packages/playwright-core/src/server/registry/dependencies.ts @@ -19,11 +19,11 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { hostPlatform, isOfficiallySupportedPlatform } from '@utils/hostPlatform'; +import { spawnAsync } from '@utils/spawnAsync'; +import { getPlaywrightVersion } from '@utils/userAgent'; import { deps } from './nativeDeps'; -import { wrapInASCIIBox } from '../utils/ascii'; -import { hostPlatform, isOfficiallySupportedPlatform } from '../utils/hostPlatform'; -import { spawnAsync } from '../utils/spawnAsync'; -import { getPlaywrightVersion } from '../utils/userAgent'; import { packageJSON, binPath } from '../../package'; import { buildPlaywrightCLICommand, registry } from '.'; diff --git a/packages/playwright-core/src/server/registry/index.ts b/packages/playwright-core/src/server/registry/index.ts index 0565330be35fc..039d37a406097 100644 --- a/packages/playwright-core/src/server/registry/index.ts +++ b/packages/playwright-core/src/server/registry/index.ts @@ -20,22 +20,23 @@ import os from 'os'; import path from 'path'; import * as util from 'util'; -import { downloadBrowserWithProgressBar, logPolitely } from './browserFetcher'; -import { dockerVersion, readDockerVersionSync, transformCommandsForRoot } from './dependencies'; -import { installDependenciesLinux, installDependenciesWindows, validateDependenciesLinux, validateDependenciesWindows } from './dependencies'; -import { calculateSha1, getAsBooleanFromENV, getFromENV, getPackageManagerExecCommand } from '../../utils'; -import { wrapInASCIIBox } from '../utils/ascii'; -import { debugLogger } from '../utils/debugLogger'; -import { shortPlatform, hostPlatform, isOfficiallySupportedPlatform } from '../utils/hostPlatform'; -import { fetchData, NET_DEFAULT_TIMEOUT } from '../utils/network'; -import { spawnAsync } from '../utils/spawnAsync'; -import { getEmbedderName } from '../utils/userAgent'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { debugLogger } from '@utils/debugLogger'; +import { shortPlatform, hostPlatform, isOfficiallySupportedPlatform } from '@utils/hostPlatform'; +import { fetchData, NET_DEFAULT_TIMEOUT } from '@utils/network'; +import { spawnAsync } from '@utils/spawnAsync'; +import { getEmbedderName } from '@utils/userAgent'; +import { canAccessFile, existsAsync, removeFolders } from '@utils/fileUtils'; +import { calculateSha1 } from '@utils/crypto'; +import { getAsBooleanFromENV, getFromENV, getPackageManagerExecCommand } from '@utils/env'; import { lockfile } from '../../utilsBundle'; -import { canAccessFile, existsAsync, removeFolders } from '../utils/fileUtils'; +import { installDependenciesLinux, installDependenciesWindows, validateDependenciesLinux, validateDependenciesWindows } from './dependencies'; +import { dockerVersion, readDockerVersionSync, transformCommandsForRoot } from './dependencies'; +import { downloadBrowserWithProgressBar, logPolitely } from './browserFetcher'; import { packageRoot, binPath } from '../../package'; import type { DependencyGroup } from './dependencies'; -import type { HostPlatform } from '../utils/hostPlatform'; +import type { HostPlatform } from '@utils/hostPlatform'; export { writeDockerVersion } from './dependencies'; diff --git a/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts b/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts index eb683b5f7cea1..503d81a2bc3ac 100644 --- a/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts +++ b/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts @@ -17,10 +17,10 @@ import fs from 'fs'; import path from 'path'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { httpRequest } from '../utils/network'; -import { extract } from '../../zipBundle'; -import { removeFolders } from '../utils/fileUtils'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { httpRequest } from '@utils/network'; +import { removeFolders } from '@utils/fileUtils'; +import { extract } from '../../utilsBundle'; export type DownloadParams = { title: string; diff --git a/packages/playwright-core/src/server/screencast.ts b/packages/playwright-core/src/server/screencast.ts index e1f18f99c84bb..fc913390bd1cb 100644 --- a/packages/playwright-core/src/server/screencast.ts +++ b/packages/playwright-core/src/server/screencast.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { renderTitleForCall } from '../utils'; -import { debugLogger } from '../utils'; +import { renderTitleForCall } from '@isomorphic/protocolFormatter'; +import { debugLogger } from '@utils/debugLogger'; import { Page } from './page'; import type * as types from './types'; diff --git a/packages/playwright-core/src/server/screenshotter.ts b/packages/playwright-core/src/server/screenshotter.ts index ad1103c71e1ad..fe854a1fb6183 100644 --- a/packages/playwright-core/src/server/screenshotter.ts +++ b/packages/playwright-core/src/server/screenshotter.ts @@ -15,17 +15,17 @@ * limitations under the License. */ +import { MultiMap } from '@isomorphic/multimap'; +import { assert } from '@isomorphic/assert'; import { helper } from './helper'; -import { assert } from '../utils'; -import { MultiMap } from '../utils/isomorphic/multimap'; import type * as dom from './dom'; import type { Frame } from './frames'; import type { Page } from './page'; import type { Progress } from './progress'; import type * as types from './types'; -import type { Rect } from '../utils/isomorphic/types'; -import type { ParsedSelector } from '../utils/isomorphic/selectorParser'; +import type { Rect } from '@isomorphic/types'; +import type { ParsedSelector } from '@isomorphic/selectorParser'; declare global { diff --git a/packages/playwright-core/src/server/selectors.ts b/packages/playwright-core/src/server/selectors.ts index fbe46ea310e6a..3b90294deb9b4 100644 --- a/packages/playwright-core/src/server/selectors.ts +++ b/packages/playwright-core/src/server/selectors.ts @@ -14,10 +14,10 @@ * limitations under the License. */ -import { createGuid } from './utils/crypto'; -import { InvalidSelectorError, parseSelector, stringifySelector, visitAllSelectorParts } from '../utils/isomorphic/selectorParser'; +import { InvalidSelectorError, parseSelector, stringifySelector, visitAllSelectorParts } from '@isomorphic/selectorParser'; +import { createGuid } from '@utils/crypto'; -import type { ParsedSelector } from '../utils/isomorphic/selectorParser'; +import type { ParsedSelector } from '@isomorphic/selectorParser'; import type * as channels from '@protocol/channels'; export class Selectors { diff --git a/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts b/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts index 38c10b6ccbf6a..90ffb72194e2e 100644 --- a/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts +++ b/packages/playwright-core/src/server/socksClientCertificatesInterceptor.ts @@ -20,16 +20,17 @@ import net from 'net'; import stream from 'stream'; import tls from 'tls'; -import { SocksProxy } from './utils/socksProxy'; -import { escapeHTML, generateSelfSignedCertificate, rewriteErrorMessage } from '../utils'; +import { getProxyForUrl } from 'proxy-from-env'; +import { SocksProxy } from '@utils/socksProxy'; +import { createProxyAgent } from '@utils/network'; +import { debugLogger } from '@utils/debugLogger'; +import { createSocket } from '@utils/happyEyeballs'; +import { escapeHTML } from '@isomorphic/stringUtils'; +import { generateSelfSignedCertificate } from '@utils/crypto'; +import { rewriteErrorMessage } from '@isomorphic/stackTrace'; import { verifyClientCertificates } from './browserContext'; -import { createProxyAgent } from './utils/network'; -import { debugLogger } from './utils/debugLogger'; -import { createSocket } from './utils/happyEyeballs'; -import { getProxyForUrl } from '../utilsBundle'; - import type * as types from './types'; -import type { SocksSocketClosedPayload, SocksSocketDataPayload, SocksSocketRequestedPayload } from './utils/socksProxy'; +import type { SocksSocketClosedPayload, SocksSocketDataPayload, SocksSocketRequestedPayload } from '@utils/socksProxy'; import type https from 'https'; import type { Progress } from '@protocol/progress'; diff --git a/packages/playwright-core/src/server/socksInterceptor.ts b/packages/playwright-core/src/server/socksInterceptor.ts index cebf4ec6443ed..c410ff19bcf2f 100644 --- a/packages/playwright-core/src/server/socksInterceptor.ts +++ b/packages/playwright-core/src/server/socksInterceptor.ts @@ -16,9 +16,9 @@ import EventEmitter from 'events'; -import * as socks from './utils/socksProxy'; +import * as socks from '@utils/socksProxy'; +import { isUnderTest } from '@utils/debug'; import { ValidationError, findValidator } from '../protocol/validator'; -import { isUnderTest } from './utils/debug'; import type { WebSocketTransport } from './transport'; import type { ValidatorContext } from '../protocol/validator'; diff --git a/packages/playwright-core/src/server/trace/recorder/DEPS.list b/packages/playwright-core/src/server/trace/recorder/DEPS.list index 195bdb5eb866b..20c549c7c0ca1 100644 --- a/packages/playwright-core/src/server/trace/recorder/DEPS.list +++ b/packages/playwright-core/src/server/trace/recorder/DEPS.list @@ -2,9 +2,8 @@ ../../ ../../har/ ../../../protocol/ -../../../utilsBundle.ts -../../../utils/isomorphic/ -../../../zipBundle.ts +@isomorphic/** ../../dispatchers/dispatcher.ts ../../utils ../common/ +node_modules/mime diff --git a/packages/playwright-core/src/server/trace/recorder/snapshotter.ts b/packages/playwright-core/src/server/trace/recorder/snapshotter.ts index 9fea21453ee39..54bfeca93541c 100644 --- a/packages/playwright-core/src/server/trace/recorder/snapshotter.ts +++ b/packages/playwright-core/src/server/trace/recorder/snapshotter.ts @@ -14,18 +14,18 @@ * limitations under the License. */ +import mime from 'mime'; +import { monotonicTime } from '@isomorphic/time'; +import { calculateSha1, createGuid } from '@utils/crypto'; +import { debugLogger } from '@utils/debugLogger'; +import { eventsHelper } from '@utils/eventsHelper'; import { frameSnapshotStreamer } from './snapshotterInjected'; -import { monotonicTime } from '../../../utils/isomorphic/time'; -import { calculateSha1, createGuid } from '../../utils/crypto'; -import { debugLogger } from '../../utils/debugLogger'; -import { eventsHelper } from '../../utils/eventsHelper'; -import { mime } from '../../../utilsBundle'; import { BrowserContext } from '../../browserContext'; import { Page } from '../../page'; import { nullProgress } from '../../progress'; import type { SnapshotData } from './snapshotterInjected'; -import type { RegisteredListener } from '../../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { Frame } from '../../frames'; import type { InitScript } from '../../page'; import type { FrameSnapshot } from '@trace/snapshot'; diff --git a/packages/playwright-core/src/server/trace/recorder/tracing.ts b/packages/playwright-core/src/server/trace/recorder/tracing.ts index 6e976e7389285..231bd9019eef2 100644 --- a/packages/playwright-core/src/server/trace/recorder/tracing.ts +++ b/packages/playwright-core/src/server/trace/recorder/tracing.ts @@ -18,27 +18,27 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import { getMetainfo } from '@isomorphic/protocolMetainfo'; +import { assert } from '@isomorphic/assert'; +import { monotonicTime } from '@isomorphic/time'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { eventsHelper } from '@utils/eventsHelper'; +import { createGuid } from '@utils/crypto'; +import { getPlaywrightVersion } from '@utils/userAgent'; +import { SerializedFS, removeFolders } from '@utils/fileUtils'; import { Snapshotter } from './snapshotter'; -import { getMetainfo } from '../../../utils/isomorphic/protocolMetainfo'; -import { assert } from '../../../utils/isomorphic/assert'; -import { monotonicTime } from '../../../utils/isomorphic/time'; -import { ManualPromise } from '../../../utils/isomorphic/manualPromise'; -import { eventsHelper } from '../../utils/eventsHelper'; -import { createGuid } from '../../utils/crypto'; -import { getPlaywrightVersion } from '../../utils/userAgent'; import { Artifact } from '../../artifact'; import { BrowserContext } from '../../browserContext'; import { Dispatcher } from '../../dispatchers/dispatcher'; import { serializeError } from '../../errors'; -import { SerializedFS, removeFolders } from '../../utils/fileUtils'; import { HarTracer } from '../../har/harTracer'; import { SdkObject } from '../../instrumentation'; import { Page } from '../../page'; import { isAbortError, nullProgress } from '../../progress'; import type { SnapshotterBlob, SnapshotterDelegate } from './snapshotter'; -import type { NameValue } from '../../../utils/isomorphic/types'; -import type { RegisteredListener } from '../../../utils'; +import type { NameValue } from '@isomorphic/types'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { ConsoleMessage } from '../../console'; import type { Dialog } from '../../dialog'; import type { Download } from '../../download'; diff --git a/packages/playwright-core/src/server/trace/viewer/DEPS.list b/packages/playwright-core/src/server/trace/viewer/DEPS.list index bafc0d1ab7ec1..fbb5428e46001 100644 --- a/packages/playwright-core/src/server/trace/viewer/DEPS.list +++ b/packages/playwright-core/src/server/trace/viewer/DEPS.list @@ -1,8 +1,8 @@ [*] ../../ -../../utils/ +../../utils/** ../../registry/ ../../../generated/ ../../../package.ts -../../../utils/ -../../../utilsBundle.ts +../../../utils/** +node_modules/open diff --git a/packages/playwright-core/src/server/trace/viewer/traceViewer.ts b/packages/playwright-core/src/server/trace/viewer/traceViewer.ts index 262cc9779cfc7..019fefffcd8fd 100644 --- a/packages/playwright-core/src/server/trace/viewer/traceViewer.ts +++ b/packages/playwright-core/src/server/trace/viewer/traceViewer.ts @@ -17,18 +17,18 @@ import fs from 'fs'; import path from 'path'; +import open from 'open'; +import { HttpServer } from '@utils/httpServer'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; +import { isUnderTest } from '@utils/debug'; import { libPath } from '../../../package'; -import { gracefullyProcessExitDoNotHang } from '../../../utils'; -import { isUnderTest } from '../../../utils'; -import { HttpServer } from '../../utils/httpServer'; -import { open } from '../../../utilsBundle'; import { syncLocalStorageWithSettings } from '../../launchApp'; import { launchApp } from '../../launchApp'; import { createPlaywright } from '../../playwright'; import { ProgressController } from '../../progress'; import { nullProgress } from '../../progress'; -import type { Transport } from '../../utils/httpServer'; +import type { Transport } from '@utils/httpServer'; import type { BrowserType } from '../../browserType'; import type { Page } from '../../page'; import type http from 'http'; diff --git a/packages/playwright-core/src/server/transport.ts b/packages/playwright-core/src/server/transport.ts index c8b63fe7acde8..9752d678eee55 100644 --- a/packages/playwright-core/src/server/transport.ts +++ b/packages/playwright-core/src/server/transport.ts @@ -15,10 +15,9 @@ * limitations under the License. */ -import { makeWaitForNextTask } from '../utils'; -import { httpHappyEyeballsAgent, httpsHappyEyeballsAgent } from './utils/happyEyeballs'; -import { ws } from '../utilsBundle'; - +import ws from 'ws'; +import { httpHappyEyeballsAgent, httpsHappyEyeballsAgent } from '@utils/happyEyeballs'; +import { makeWaitForNextTask } from '@utils/task'; import type { WebSocket } from '../utilsBundle'; import type { Progress } from './progress'; import type { HeadersArray } from './types'; diff --git a/packages/playwright-core/src/server/types.ts b/packages/playwright-core/src/server/types.ts index 1b28efb468602..08c04be8ecef0 100644 --- a/packages/playwright-core/src/server/types.ts +++ b/packages/playwright-core/src/server/types.ts @@ -15,8 +15,8 @@ * limitations under the License. */ -import type { HeadersArray, Point, Size } from '../utils/isomorphic/types'; -export type { HeadersArray, Point, Quad, Rect, Size } from '../utils/isomorphic/types'; +import type { HeadersArray, Point, Size } from '@isomorphic/types'; +export type { HeadersArray, Point, Quad, Rect, Size } from '@isomorphic/types'; import type * as channels from '@protocol/channels'; export type StrictOptions = { diff --git a/packages/playwright-core/src/server/utils/DEPS.list b/packages/playwright-core/src/server/utils/DEPS.list index b601e7f24de9c..00f40942c5d5a 100644 --- a/packages/playwright-core/src/server/utils/DEPS.list +++ b/packages/playwright-core/src/server/utils/DEPS.list @@ -1,11 +1,20 @@ [*] -../../mcpBundle.ts -../../zodBundle.ts ../../package.ts ../../utils -../../utils/isomorphic +@isomorphic/** ../../utilsBundle.ts -../../zipBundle.ts +node_modules/colors/safe +node_modules/debug +node_modules/diff +node_modules/https-proxy-agent +node_modules/jpeg-js +node_modules/mime +node_modules/pngjs +node_modules/proxy-from-env +node_modules/socks-proxy-agent +node_modules/ws +node_modules/yauzl +node_modules/yazl [comparators.ts] ./image_tools diff --git a/packages/playwright-core/src/server/utils/comparators.ts b/packages/playwright-core/src/server/utils/comparators.ts index e7bf50ddd25ee..bfd8bae4da557 100644 --- a/packages/playwright-core/src/server/utils/comparators.ts +++ b/packages/playwright-core/src/server/utils/comparators.ts @@ -15,15 +15,16 @@ * limitations under the License. */ -import { compare } from './image_tools/compare'; +import jpegjs from 'jpeg-js'; +import colors from 'colors/safe'; +import * as diff from 'diff'; +import { PNG } from 'pngjs'; +import { padImageToSize } from '@isomorphic/imageUtils'; // @ts-ignore import pixelmatch from '../../third_party/pixelmatch'; -import { jpegjs } from '../../utilsBundle'; -import { colors, diff } from '../../utilsBundle'; -import { PNG } from '../../utilsBundle'; -import { padImageToSize } from '../../utils/isomorphic/imageUtils'; +import { compare } from './image_tools/compare'; -import type { ImageData } from '../../utils/isomorphic/imageUtils'; +import type { ImageData } from '@isomorphic/imageUtils'; export type ImageComparatorOptions = { threshold?: number, maxDiffPixels?: number, maxDiffPixelRatio?: number, comparator?: string }; export type ComparatorResult = { diff?: Buffer; errorMessage: string; } | null; diff --git a/packages/playwright-core/src/server/utils/crypto.ts b/packages/playwright-core/src/server/utils/crypto.ts index ab51dbb25a3c6..c5ed49e8ac973 100644 --- a/packages/playwright-core/src/server/utils/crypto.ts +++ b/packages/playwright-core/src/server/utils/crypto.ts @@ -16,7 +16,7 @@ import crypto from 'crypto'; -import { assert } from '../../utils/isomorphic/assert'; +import { assert } from '@isomorphic/assert'; export function createGuid(): string { return crypto.randomBytes(16).toString('hex'); diff --git a/packages/playwright-core/src/server/utils/debugLogger.ts b/packages/playwright-core/src/server/utils/debugLogger.ts index ec2cef4a1cd7d..7d02cc6f5171b 100644 --- a/packages/playwright-core/src/server/utils/debugLogger.ts +++ b/packages/playwright-core/src/server/utils/debugLogger.ts @@ -16,8 +16,7 @@ import fs from 'fs'; -import { debug } from '../../utilsBundle'; - +import debug from 'debug'; const debugLoggerColorMap = { 'api': 45, // cyan 'protocol': 34, // green diff --git a/packages/playwright-core/src/server/utils/expectUtils.ts b/packages/playwright-core/src/server/utils/expectUtils.ts index adfef78cacd1e..d06b901f1acba 100644 --- a/packages/playwright-core/src/server/utils/expectUtils.ts +++ b/packages/playwright-core/src/server/utils/expectUtils.ts @@ -14,9 +14,8 @@ * limitations under the License. */ -import { isRegExp, isString } from '../../utils/isomorphic/rtti'; -import { colors } from '../../utilsBundle'; - +import colors from 'colors/safe'; +import { isRegExp, isString } from '@isomorphic/rtti'; import type { ExpectedTextValue } from '@protocol/channels'; export interface InternalMatcherUtils { diff --git a/packages/playwright-core/src/server/utils/fileUtils.ts b/packages/playwright-core/src/server/utils/fileUtils.ts index c6e8249e476e2..6516c8b3ca78b 100644 --- a/packages/playwright-core/src/server/utils/fileUtils.ts +++ b/packages/playwright-core/src/server/utils/fileUtils.ts @@ -18,11 +18,10 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import * as yazl from 'yazl'; +import { ManualPromise } from '@isomorphic/manualPromise'; import { calculateSha1 } from './crypto'; -import { yazl } from '../../zipBundle'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; - import type { EventEmitter } from 'events'; export const existsAsync = (path: string): Promise => new Promise(resolve => fs.stat(path, err => resolve(!err))); diff --git a/packages/playwright-core/src/server/utils/happyEyeballs.ts b/packages/playwright-core/src/server/utils/happyEyeballs.ts index 03ba6beef3465..e9761eadf3d1f 100644 --- a/packages/playwright-core/src/server/utils/happyEyeballs.ts +++ b/packages/playwright-core/src/server/utils/happyEyeballs.ts @@ -20,9 +20,9 @@ import https from 'https'; import net from 'net'; import tls from 'tls'; -import { assert } from '../../utils/isomorphic/assert'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { monotonicTime } from '../../utils/isomorphic/time'; +import { assert } from '@isomorphic/assert'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { monotonicTime } from '@isomorphic/time'; // Implementation(partial) of Happy Eyeballs 2 algorithm described in // https://www.rfc-editor.org/rfc/rfc8305 diff --git a/packages/playwright-core/src/server/utils/httpServer.ts b/packages/playwright-core/src/server/utils/httpServer.ts index e75fcce341cb7..b62dc2d53ea74 100644 --- a/packages/playwright-core/src/server/utils/httpServer.ts +++ b/packages/playwright-core/src/server/utils/httpServer.ts @@ -17,9 +17,10 @@ import fs from 'fs'; import path from 'path'; -import { mime, wsServer } from '../../utilsBundle'; +import mime from 'mime'; +import { WebSocketServer as wsServer } from 'ws'; +import { assert } from '@isomorphic/assert'; import { createGuid } from './crypto'; -import { assert } from '../../utils/isomorphic/assert'; import { createHttpServer, startHttpServer } from './network'; import type http from 'http'; diff --git a/packages/playwright-core/src/server/utils/network.ts b/packages/playwright-core/src/server/utils/network.ts index 6948b3c477a61..c23eacb61fd81 100644 --- a/packages/playwright-core/src/server/utils/network.ts +++ b/packages/playwright-core/src/server/utils/network.ts @@ -19,9 +19,11 @@ import http from 'http'; import http2 from 'http2'; import https from 'https'; -import { HttpsProxyAgent, SocksProxyAgent, getProxyForUrl } from '../../utilsBundle'; +import { HttpsProxyAgent } from 'https-proxy-agent'; +import { SocksProxyAgent } from 'socks-proxy-agent'; +import { getProxyForUrl } from 'proxy-from-env'; +import { ManualPromise } from '@isomorphic/manualPromise'; import { httpHappyEyeballsAgent, httpsHappyEyeballsAgent } from './happyEyeballs'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; import type net from 'net'; import type { ProxySettings } from '../types'; diff --git a/packages/playwright-core/src/server/utils/nodePlatform.ts b/packages/playwright-core/src/server/utils/nodePlatform.ts index c033e59d4eb73..4468d888d3350 100644 --- a/packages/playwright-core/src/server/utils/nodePlatform.ts +++ b/packages/playwright-core/src/server/utils/nodePlatform.ts @@ -21,7 +21,7 @@ import * as util from 'util'; import { Readable, Writable, pipeline } from 'stream'; import { EventEmitter } from 'events'; -import { colors } from '../../utilsBundle'; +import colors from 'colors/safe'; import { debugLogger } from './debugLogger'; import { currentZone, emptyZone } from './zones'; import { debugMode, isUnderTest } from './debug'; diff --git a/packages/playwright-core/src/server/utils/socksProxy.ts b/packages/playwright-core/src/server/utils/socksProxy.ts index 40c62c43c3327..03ca66e618f49 100644 --- a/packages/playwright-core/src/server/utils/socksProxy.ts +++ b/packages/playwright-core/src/server/utils/socksProxy.ts @@ -17,7 +17,7 @@ import EventEmitter from 'events'; import net from 'net'; -import { assert } from '../../utils/isomorphic/assert'; +import { assert } from '@isomorphic/assert'; import { createGuid } from './crypto'; import { debugLogger } from './debugLogger'; import { createSocket } from './happyEyeballs'; diff --git a/packages/playwright-core/src/server/utils/wsServer.ts b/packages/playwright-core/src/server/utils/wsServer.ts index 95fdd2f72c58e..7d456ceac5973 100644 --- a/packages/playwright-core/src/server/utils/wsServer.ts +++ b/packages/playwright-core/src/server/utils/wsServer.ts @@ -14,8 +14,8 @@ * limitations under the License. */ +import { WebSocketServer as wsServer } from 'ws'; import { createHttpServer } from './network'; -import { wsServer } from '../../utilsBundle'; import { debugLogger } from './debugLogger'; import type { WebSocket, WebSocketServer } from '../../utilsBundle'; diff --git a/packages/playwright-core/src/server/utils/zipFile.ts b/packages/playwright-core/src/server/utils/zipFile.ts index 43b5a3430c7d1..97ace6f011b83 100644 --- a/packages/playwright-core/src/server/utils/zipFile.ts +++ b/packages/playwright-core/src/server/utils/zipFile.ts @@ -14,9 +14,8 @@ * limitations under the License. */ -import { yauzl } from '../../zipBundle'; - -import type { Entry, UnzipFile } from '../../zipBundle'; +import * as yauzl from 'yauzl'; +import type { Entry, UnzipFile } from '../../utilsBundle'; export class ZipFile { private _fileName: string; diff --git a/packages/playwright-core/src/server/videoRecorder.ts b/packages/playwright-core/src/server/videoRecorder.ts index f10e12d38ad12..4be4c100eb110 100644 --- a/packages/playwright-core/src/server/videoRecorder.ts +++ b/packages/playwright-core/src/server/videoRecorder.ts @@ -16,9 +16,13 @@ import path from 'path'; -import { assert, createGuid, debugLogger, mkdirIfNeeded, monotonicTime } from '../utils'; -import { launchProcess } from './utils/processLauncher'; -import { jpegjs } from '../utilsBundle'; +import jpegjs from 'jpeg-js'; +import { launchProcess } from '@utils/processLauncher'; +import { assert } from '@isomorphic/assert'; +import { createGuid } from '@utils/crypto'; +import { debugLogger } from '@utils/debugLogger'; +import { mkdirIfNeeded } from '@utils/fileUtils'; +import { monotonicTime } from '@isomorphic/time'; import { Artifact } from './artifact'; import { registry } from './registry'; diff --git a/packages/playwright-core/src/server/webkit/webkit.ts b/packages/playwright-core/src/server/webkit/webkit.ts index c2daa135c9669..40dce2b2aaf87 100644 --- a/packages/playwright-core/src/server/webkit/webkit.ts +++ b/packages/playwright-core/src/server/webkit/webkit.ts @@ -17,11 +17,11 @@ import path from 'path'; +import { wrapInASCIIBox } from '@utils/ascii'; +import { spawnAsync } from '@utils/spawnAsync'; import { kBrowserCloseMessageId } from './wkConnection'; -import { wrapInASCIIBox } from '../utils/ascii'; import { BrowserType, kNoXServerRunningError } from '../browserType'; import { WKBrowser } from '../webkit/wkBrowser'; -import { spawnAsync } from '../utils/spawnAsync'; import type { BrowserOptions } from '../browser'; import type { SdkObject } from '../instrumentation'; diff --git a/packages/playwright-core/src/server/webkit/wkBrowser.ts b/packages/playwright-core/src/server/webkit/wkBrowser.ts index 39f7a1cebcf5c..dee948a113f8f 100644 --- a/packages/playwright-core/src/server/webkit/wkBrowser.ts +++ b/packages/playwright-core/src/server/webkit/wkBrowser.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { assert } from '../../utils'; +import { assert } from '@isomorphic/assert'; import { Browser } from '../browser'; import { BrowserContext, verifyGeolocation } from '../browserContext'; import * as network from '../network'; diff --git a/packages/playwright-core/src/server/webkit/wkConnection.ts b/packages/playwright-core/src/server/webkit/wkConnection.ts index eb48e564fa7e5..a6ec6b890b0ee 100644 --- a/packages/playwright-core/src/server/webkit/wkConnection.ts +++ b/packages/playwright-core/src/server/webkit/wkConnection.ts @@ -17,14 +17,14 @@ import { EventEmitter } from 'events'; -import { assert } from '../../utils'; -import { debugLogger } from '../utils/debugLogger'; +import { debugLogger } from '@utils/debugLogger'; +import { assert } from '@isomorphic/assert'; import { helper } from '../helper'; import { ProtocolError } from '../protocolError'; import type { ConnectionTransport, ProtocolRequest, ProtocolResponse } from '../transport'; import type { Protocol } from './protocol'; -import type { RecentLogsCollector } from '../utils/debugLogger'; +import type { RecentLogsCollector } from '@utils/debugLogger'; import type { ProtocolLogger } from '../types'; diff --git a/packages/playwright-core/src/server/webkit/wkExecutionContext.ts b/packages/playwright-core/src/server/webkit/wkExecutionContext.ts index 41ce8d2bc7e90..17d194105932d 100644 --- a/packages/playwright-core/src/server/webkit/wkExecutionContext.ts +++ b/packages/playwright-core/src/server/webkit/wkExecutionContext.ts @@ -15,11 +15,11 @@ * limitations under the License. */ +import { assert } from '@isomorphic/assert'; +import { parseEvaluationResultValue } from '@isomorphic/utilityScriptSerializers'; import * as js from '../javascript'; import * as dom from '../dom'; import { isSessionClosedError } from '../protocolError'; -import { assert } from '../../utils/isomorphic/assert'; -import { parseEvaluationResultValue } from '../../utils/isomorphic/utilityScriptSerializers'; import type { Protocol } from './protocol'; import type { WKSession } from './wkConnection'; diff --git a/packages/playwright-core/src/server/webkit/wkInput.ts b/packages/playwright-core/src/server/webkit/wkInput.ts index 23b4e36c73994..8945e4560ddcf 100644 --- a/packages/playwright-core/src/server/webkit/wkInput.ts +++ b/packages/playwright-core/src/server/webkit/wkInput.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { isString } from '../../utils'; +import { isString } from '@isomorphic/stringUtils'; import * as input from '../input'; import { macEditingCommands } from '../macEditingCommands'; diff --git a/packages/playwright-core/src/server/webkit/wkInterceptableRequest.ts b/packages/playwright-core/src/server/webkit/wkInterceptableRequest.ts index 180348fda1c98..c0d0e1dde28fa 100644 --- a/packages/playwright-core/src/server/webkit/wkInterceptableRequest.ts +++ b/packages/playwright-core/src/server/webkit/wkInterceptableRequest.ts @@ -15,7 +15,8 @@ * limitations under the License. */ -import { assert, headersArrayToObject, headersObjectToArray } from '../../utils'; +import { assert } from '@isomorphic/assert'; +import { headersArrayToObject, headersObjectToArray } from '@isomorphic/headers'; import * as network from '../network'; import type * as frames from '../frames'; diff --git a/packages/playwright-core/src/server/webkit/wkPage.ts b/packages/playwright-core/src/server/webkit/wkPage.ts index 71e25667c2cf3..3e9f8c2bace87 100644 --- a/packages/playwright-core/src/server/webkit/wkPage.ts +++ b/packages/playwright-core/src/server/webkit/wkPage.ts @@ -15,12 +15,13 @@ * limitations under the License. */ -import { assert } from '../../utils'; -import { headersArrayToObject } from '../../utils/isomorphic/headers'; -import { eventsHelper } from '../utils/eventsHelper'; -import { hostPlatform } from '../utils/hostPlatform'; -import { splitErrorMessage } from '../../utils/isomorphic/stackTrace'; -import { PNG, jpegjs } from '../../utilsBundle'; +import { PNG } from 'pngjs'; +import jpegjs from 'jpeg-js'; +import { headersArrayToObject } from '@isomorphic/headers'; +import { splitErrorMessage } from '@isomorphic/stackTrace'; +import { eventsHelper } from '@utils/eventsHelper'; +import { hostPlatform } from '@utils/hostPlatform'; +import { assert } from '@isomorphic/assert'; import * as dialog from '../dialog'; import * as dom from '../dom'; import { TargetClosedError } from '../errors'; @@ -40,7 +41,7 @@ import { nullProgress } from '../progress'; import type { Protocol } from './protocol'; import type { WKBrowserContext } from './wkBrowser'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as frames from '../frames'; import type { JSHandle } from '../javascript'; import type { InitScript, PageDelegate } from '../page'; diff --git a/packages/playwright-core/src/server/webkit/wkProvisionalPage.ts b/packages/playwright-core/src/server/webkit/wkProvisionalPage.ts index 4fa5d3e709fd2..034a2a616a4e6 100644 --- a/packages/playwright-core/src/server/webkit/wkProvisionalPage.ts +++ b/packages/playwright-core/src/server/webkit/wkProvisionalPage.ts @@ -14,13 +14,13 @@ * limitations under the License. */ -import { assert } from '../../utils'; -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; +import { assert } from '@isomorphic/assert'; import type { Protocol } from './protocol'; import type { WKSession } from './wkConnection'; import type { WKPage } from './wkPage'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type * as network from '../network'; export class WKProvisionalPage { diff --git a/packages/playwright-core/src/server/webkit/wkWorkers.ts b/packages/playwright-core/src/server/webkit/wkWorkers.ts index ece751725d328..4668423ca50fd 100644 --- a/packages/playwright-core/src/server/webkit/wkWorkers.ts +++ b/packages/playwright-core/src/server/webkit/wkWorkers.ts @@ -14,13 +14,13 @@ * limitations under the License. */ -import { eventsHelper } from '../utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; import { Worker } from '../page'; import { WKSession } from './wkConnection'; import { createHandle, WKExecutionContext } from './wkExecutionContext'; import type { Protocol } from './protocol'; -import type { RegisteredListener } from '../utils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { Page } from '../page'; import type * as types from '../types'; diff --git a/packages/playwright-core/src/tools/backend/DEPS.list b/packages/playwright-core/src/tools/backend/DEPS.list index 84a517d68cf2b..a7f42394ab32b 100644 --- a/packages/playwright-core/src/tools/backend/DEPS.list +++ b/packages/playwright-core/src/tools/backend/DEPS.list @@ -1,9 +1,12 @@ [*] ../../.. ../.. -../../zodBundle.ts -../../server/utils/ -../../utils/ -../../utils/isomorphic/ -../../utilsBundle.ts -../utils/ +@utils/** +../../utils/** +@isomorphic/** +../utils/** +node_modules/@modelcontextprotocol/sdk/types.js +node_modules/debug +node_modules/jpeg-js +node_modules/pngjs +node_modules/zod diff --git a/packages/playwright-core/src/tools/backend/browserBackend.ts b/packages/playwright-core/src/tools/backend/browserBackend.ts index d972782850b92..12b18ad2971e2 100644 --- a/packages/playwright-core/src/tools/backend/browserBackend.ts +++ b/packages/playwright-core/src/tools/backend/browserBackend.ts @@ -14,11 +14,10 @@ * limitations under the License. */ +import debug from 'debug'; import { Context } from './context'; import { Response } from './response'; import { SessionLog } from './sessionLog'; -import { debug } from '../../utilsBundle'; - import type { ContextConfig } from './context'; import type * as playwright from '../../..'; import type { Tool } from './tool'; diff --git a/packages/playwright-core/src/tools/backend/common.ts b/packages/playwright-core/src/tools/backend/common.ts index 8cc9dbdcc37b3..fb0375535f118 100644 --- a/packages/playwright-core/src/tools/backend/common.ts +++ b/packages/playwright-core/src/tools/backend/common.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTabTool, defineTool } from './tool'; import { renderTabsMarkdown } from './response'; diff --git a/packages/playwright-core/src/tools/backend/config.ts b/packages/playwright-core/src/tools/backend/config.ts index 3894da55e0f2f..ad38933ae70fc 100644 --- a/packages/playwright-core/src/tools/backend/config.ts +++ b/packages/playwright-core/src/tools/backend/config.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; const configShow = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/console.ts b/packages/playwright-core/src/tools/backend/console.ts index b4158df0e4226..60c19c25bf75d 100644 --- a/packages/playwright-core/src/tools/backend/console.ts +++ b/packages/playwright-core/src/tools/backend/console.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTabTool } from './tool'; const console = defineTabTool({ diff --git a/packages/playwright-core/src/tools/backend/context.ts b/packages/playwright-core/src/tools/backend/context.ts index ca2fe4d9b3ebd..4083e6d82943e 100644 --- a/packages/playwright-core/src/tools/backend/context.ts +++ b/packages/playwright-core/src/tools/backend/context.ts @@ -17,17 +17,17 @@ import fs from 'fs'; import path from 'path'; -import { debug } from '../../utilsBundle'; -import { escapeWithQuotes } from '../../utils/isomorphic/stringUtils'; +import debug from 'debug'; +import { escapeWithQuotes } from '@isomorphic/stringUtils'; +import { disposeAll } from '@utils/disposable'; +import { eventsHelper } from '@utils/eventsHelper'; import { playwright } from '../../inprocess'; import { Tab } from './tab'; -import { disposeAll } from '../../server/utils/disposable'; -import { eventsHelper } from '../../server/utils/eventsHelper'; import type * as playwrightTypes from '../../..'; import type { SessionLog } from './sessionLog'; -import type { Disposable } from '../../server/utils/disposable'; +import type { Disposable } from '@utils/disposable'; import type { ToolCapability } from './tool'; const testDebug = debug('pw:mcp:test'); diff --git a/packages/playwright-core/src/tools/backend/cookies.ts b/packages/playwright-core/src/tools/backend/cookies.ts index fda8a8cbe2441..1c52428d79ed0 100644 --- a/packages/playwright-core/src/tools/backend/cookies.ts +++ b/packages/playwright-core/src/tools/backend/cookies.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; const cookieList = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/devtools.ts b/packages/playwright-core/src/tools/backend/devtools.ts index 02c3742b98575..2b934f177967e 100644 --- a/packages/playwright-core/src/tools/backend/devtools.ts +++ b/packages/playwright-core/src/tools/backend/devtools.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; const resume = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/dialogs.ts b/packages/playwright-core/src/tools/backend/dialogs.ts index 23934e2156ed7..6d3d0f251d1e4 100644 --- a/packages/playwright-core/src/tools/backend/dialogs.ts +++ b/packages/playwright-core/src/tools/backend/dialogs.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTabTool } from './tool'; export const handleDialog = defineTabTool({ diff --git a/packages/playwright-core/src/tools/backend/evaluate.ts b/packages/playwright-core/src/tools/backend/evaluate.ts index c675807c6a383..60f99faf847f0 100644 --- a/packages/playwright-core/src/tools/backend/evaluate.ts +++ b/packages/playwright-core/src/tools/backend/evaluate.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; -import { escapeWithQuotes } from '../../utils/isomorphic/stringUtils'; +import * as z from 'zod'; +import { escapeWithQuotes } from '@isomorphic/stringUtils'; import { defineTabTool } from './tool'; diff --git a/packages/playwright-core/src/tools/backend/files.ts b/packages/playwright-core/src/tools/backend/files.ts index 947da57a95b00..e1918ebffb670 100644 --- a/packages/playwright-core/src/tools/backend/files.ts +++ b/packages/playwright-core/src/tools/backend/files.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTabTool } from './tool'; export const uploadFile = defineTabTool({ diff --git a/packages/playwright-core/src/tools/backend/form.ts b/packages/playwright-core/src/tools/backend/form.ts index ca410367d7b0c..bc5a7d570494e 100644 --- a/packages/playwright-core/src/tools/backend/form.ts +++ b/packages/playwright-core/src/tools/backend/form.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; -import { escapeWithQuotes } from '../../utils/isomorphic/stringUtils'; +import * as z from 'zod'; +import { escapeWithQuotes } from '@isomorphic/stringUtils'; import { defineTabTool } from './tool'; diff --git a/packages/playwright-core/src/tools/backend/keyboard.ts b/packages/playwright-core/src/tools/backend/keyboard.ts index d196b9b048186..3e39d6817945f 100644 --- a/packages/playwright-core/src/tools/backend/keyboard.ts +++ b/packages/playwright-core/src/tools/backend/keyboard.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTabTool } from './tool'; import { elementSchema } from './snapshot'; diff --git a/packages/playwright-core/src/tools/backend/logFile.ts b/packages/playwright-core/src/tools/backend/logFile.ts index 053a84e53c3ed..1bbaefcb4db01 100644 --- a/packages/playwright-core/src/tools/backend/logFile.ts +++ b/packages/playwright-core/src/tools/backend/logFile.ts @@ -17,8 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { debug } from '../../utilsBundle'; - +import debug from 'debug'; import type { Context } from './context'; export type LogChunk = { diff --git a/packages/playwright-core/src/tools/backend/mouse.ts b/packages/playwright-core/src/tools/backend/mouse.ts index f74d025cffe21..ec46c2adcddf8 100644 --- a/packages/playwright-core/src/tools/backend/mouse.ts +++ b/packages/playwright-core/src/tools/backend/mouse.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; -import { formatObjectOrVoid } from '../../utils/isomorphic/stringUtils'; +import * as z from 'zod'; +import { formatObjectOrVoid } from '@isomorphic/stringUtils'; import { defineTabTool } from './tool'; const mouseMove = defineTabTool({ diff --git a/packages/playwright-core/src/tools/backend/navigate.ts b/packages/playwright-core/src/tools/backend/navigate.ts index ba74e4c64c552..fcaa3b0d4693e 100644 --- a/packages/playwright-core/src/tools/backend/navigate.ts +++ b/packages/playwright-core/src/tools/backend/navigate.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool, defineTabTool } from './tool'; const navigate = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/network.ts b/packages/playwright-core/src/tools/backend/network.ts index f0d674133d7cb..724edbaf51351 100644 --- a/packages/playwright-core/src/tools/backend/network.ts +++ b/packages/playwright-core/src/tools/backend/network.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool, defineTabTool } from './tool'; import type * as playwright from '../../..'; diff --git a/packages/playwright-core/src/tools/backend/pdf.ts b/packages/playwright-core/src/tools/backend/pdf.ts index 93b0291ba0045..a31a3569fda1e 100644 --- a/packages/playwright-core/src/tools/backend/pdf.ts +++ b/packages/playwright-core/src/tools/backend/pdf.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; -import { formatObject } from '../../utils/isomorphic/stringUtils'; +import * as z from 'zod'; +import { formatObject } from '@isomorphic/stringUtils'; import { defineTabTool } from './tool'; diff --git a/packages/playwright-core/src/tools/backend/response.ts b/packages/playwright-core/src/tools/backend/response.ts index 08806c106a429..5a0b0306693b6 100644 --- a/packages/playwright-core/src/tools/backend/response.ts +++ b/packages/playwright-core/src/tools/backend/response.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { debug } from '../../utilsBundle'; +import debug from 'debug'; import { renderModalStates } from './tab'; import { scaleImageToFitMessage } from './screenshot'; diff --git a/packages/playwright-core/src/tools/backend/route.ts b/packages/playwright-core/src/tools/backend/route.ts index de7e15f1dc028..0080b4a9ec762 100644 --- a/packages/playwright-core/src/tools/backend/route.ts +++ b/packages/playwright-core/src/tools/backend/route.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; import type * as playwright from '../../..'; diff --git a/packages/playwright-core/src/tools/backend/runCode.ts b/packages/playwright-core/src/tools/backend/runCode.ts index 58e4f1c33cd84..6b690992d7381 100644 --- a/packages/playwright-core/src/tools/backend/runCode.ts +++ b/packages/playwright-core/src/tools/backend/runCode.ts @@ -17,9 +17,9 @@ import fs from 'fs'; import vm from 'vm'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; +import * as z from 'zod'; +import { ManualPromise } from '@isomorphic/manualPromise'; -import { z } from '../../zodBundle'; import { defineTabTool } from './tool'; const codeSchema = z.object({ diff --git a/packages/playwright-core/src/tools/backend/screenshot.ts b/packages/playwright-core/src/tools/backend/screenshot.ts index 8031e53903c07..01463714d0e87 100644 --- a/packages/playwright-core/src/tools/backend/screenshot.ts +++ b/packages/playwright-core/src/tools/backend/screenshot.ts @@ -14,11 +14,12 @@ * limitations under the License. */ -import { scaleImageToSize } from '../../utils/isomorphic/imageUtils'; -import { jpegjs, PNG } from '../../utilsBundle'; -import { formatObject } from '../../utils/isomorphic/stringUtils'; +import jpegjs from 'jpeg-js'; +import { PNG } from 'pngjs'; +import * as z from 'zod'; +import { formatObject } from '@isomorphic/stringUtils'; -import { z } from '../../zodBundle'; +import { scaleImageToSize } from '@isomorphic/imageUtils'; import { defineTabTool } from './tool'; import type * as playwright from '../../..'; diff --git a/packages/playwright-core/src/tools/backend/snapshot.ts b/packages/playwright-core/src/tools/backend/snapshot.ts index 75ae63f1cf24f..62f27a0a76b94 100644 --- a/packages/playwright-core/src/tools/backend/snapshot.ts +++ b/packages/playwright-core/src/tools/backend/snapshot.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; -import { formatObject, formatObjectOrVoid } from '../../utils/isomorphic/stringUtils'; +import * as z from 'zod'; +import { formatObject, formatObjectOrVoid } from '@isomorphic/stringUtils'; import { defineTabTool, defineTool } from './tool'; diff --git a/packages/playwright-core/src/tools/backend/storage.ts b/packages/playwright-core/src/tools/backend/storage.ts index 2127d5dd066ed..62bb898e8cb4e 100644 --- a/packages/playwright-core/src/tools/backend/storage.ts +++ b/packages/playwright-core/src/tools/backend/storage.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; const storageState = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/tab.ts b/packages/playwright-core/src/tools/backend/tab.ts index 0c9ea7b37f41b..2cbe7f26f6ae6 100644 --- a/packages/playwright-core/src/tools/backend/tab.ts +++ b/packages/playwright-core/src/tools/backend/tab.ts @@ -15,20 +15,19 @@ */ import { EventEmitter } from 'events'; -import { asLocator } from '../../utils/isomorphic/locatorGenerators'; -import { locatorOrSelectorAsSelector } from '../../utils/isomorphic/locatorParser'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; -import { debug } from '../../utilsBundle'; - -import { eventsHelper } from '../../server/utils/eventsHelper'; -import { disposeAll } from '../../server/utils/disposable'; +import debug from 'debug'; +import { asLocator } from '@isomorphic/locatorGenerators'; +import { locatorOrSelectorAsSelector } from '@isomorphic/locatorParser'; +import { ManualPromise } from '@isomorphic/manualPromise'; +import { eventsHelper } from '@utils/eventsHelper'; +import { disposeAll } from '@utils/disposable'; import { waitForCompletion, eventWaiter } from './utils'; import { LogFile } from './logFile'; import { ModalState } from './tool'; import { handleDialog } from './dialogs'; import { uploadFile } from './files'; -import type { Disposable } from '../../server/utils/disposable'; +import type { Disposable } from '@utils/disposable'; import type { Context, ContextConfig } from './context'; import type * as playwright from '../../..'; diff --git a/packages/playwright-core/src/tools/backend/tabs.ts b/packages/playwright-core/src/tools/backend/tabs.ts index 23543db3af709..bd4a53e40fb91 100644 --- a/packages/playwright-core/src/tools/backend/tabs.ts +++ b/packages/playwright-core/src/tools/backend/tabs.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; import { renderTabsMarkdown } from './response'; diff --git a/packages/playwright-core/src/tools/backend/tools.ts b/packages/playwright-core/src/tools/backend/tools.ts index 9cb7a63b6e14b..a5fdfdc664c42 100644 --- a/packages/playwright-core/src/tools/backend/tools.ts +++ b/packages/playwright-core/src/tools/backend/tools.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; - +import * as z from 'zod'; import common from './common'; import config from './config'; import console from './console'; diff --git a/packages/playwright-core/src/tools/backend/tracing.ts b/packages/playwright-core/src/tools/backend/tracing.ts index 075727f71246a..345f449478fd8 100644 --- a/packages/playwright-core/src/tools/backend/tracing.ts +++ b/packages/playwright-core/src/tools/backend/tracing.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; diff --git a/packages/playwright-core/src/tools/backend/verify.ts b/packages/playwright-core/src/tools/backend/verify.ts index 821018a18cc27..99daa453378e3 100644 --- a/packages/playwright-core/src/tools/backend/verify.ts +++ b/packages/playwright-core/src/tools/backend/verify.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; -import { escapeWithQuotes } from '../../utils/isomorphic/stringUtils'; +import * as z from 'zod'; +import { escapeWithQuotes } from '@isomorphic/stringUtils'; import { defineTabTool } from './tool'; import type * as playwright from '../../..'; diff --git a/packages/playwright-core/src/tools/backend/video.ts b/packages/playwright-core/src/tools/backend/video.ts index 29f5f681a121b..7dcfe2508899f 100644 --- a/packages/playwright-core/src/tools/backend/video.ts +++ b/packages/playwright-core/src/tools/backend/video.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; const videoStart = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/wait.ts b/packages/playwright-core/src/tools/backend/wait.ts index 6b8c4b03c9497..cdf9e90d13243 100644 --- a/packages/playwright-core/src/tools/backend/wait.ts +++ b/packages/playwright-core/src/tools/backend/wait.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTool } from './tool'; const wait = defineTool({ diff --git a/packages/playwright-core/src/tools/backend/webstorage.ts b/packages/playwright-core/src/tools/backend/webstorage.ts index 0c11e2129a84d..956522811a51e 100644 --- a/packages/playwright-core/src/tools/backend/webstorage.ts +++ b/packages/playwright-core/src/tools/backend/webstorage.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { defineTabTool } from './tool'; const localStorageList = defineTabTool({ diff --git a/packages/playwright-core/src/tools/cli-daemon/DEPS.list b/packages/playwright-core/src/tools/cli-daemon/DEPS.list index 4e974a22c50ba..f935c1e3d9052 100644 --- a/packages/playwright-core/src/tools/cli-daemon/DEPS.list +++ b/packages/playwright-core/src/tools/cli-daemon/DEPS.list @@ -5,8 +5,8 @@ ../backend/ ../mcp/ ../../utilsBundle.ts -../../utils/ -../../zodBundle.ts +../../utils/** ../../server/registry/index.ts -../../server/utils/ +@utils/** ../../serverRegistry.ts +node_modules/zod diff --git a/packages/playwright-core/src/tools/cli-daemon/command.ts b/packages/playwright-core/src/tools/cli-daemon/command.ts index faf5aa838bc7a..6781f05705eb8 100644 --- a/packages/playwright-core/src/tools/cli-daemon/command.ts +++ b/packages/playwright-core/src/tools/cli-daemon/command.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; - +import * as z from 'zod'; import type zodType from 'zod'; export type Category = 'core' | 'navigation' | 'keyboard' | 'mouse' | 'export' | 'storage' | 'tabs' | 'network' | 'devtools' | 'browsers' | 'config' | 'install'; diff --git a/packages/playwright-core/src/tools/cli-daemon/commands.ts b/packages/playwright-core/src/tools/cli-daemon/commands.ts index ab434620018f8..59d2484d1ac2c 100644 --- a/packages/playwright-core/src/tools/cli-daemon/commands.ts +++ b/packages/playwright-core/src/tools/cli-daemon/commands.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; +import * as z from 'zod'; import { declareCommand } from './command'; import type { AnyCommandSchema } from './command'; diff --git a/packages/playwright-core/src/tools/cli-daemon/daemon.ts b/packages/playwright-core/src/tools/cli-daemon/daemon.ts index 0d3bc70810b8b..7ae2ebb9edf75 100644 --- a/packages/playwright-core/src/tools/cli-daemon/daemon.ts +++ b/packages/playwright-core/src/tools/cli-daemon/daemon.ts @@ -18,9 +18,9 @@ import fs from 'fs'; import net from 'net'; import path from 'path'; -import { decorateServer } from '../../server/utils/network'; -import { makeSocketPath } from '../../server/utils/fileUtils'; -import { gracefullyProcessExitDoNotHang } from '../../server/utils/processLauncher'; +import { decorateServer } from '@utils/network'; +import { makeSocketPath } from '@utils/fileUtils'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { BrowserBackend } from '../backend/browserBackend'; import { browserTools } from '../backend/tools'; diff --git a/packages/playwright-core/src/tools/cli-daemon/helpGenerator.ts b/packages/playwright-core/src/tools/cli-daemon/helpGenerator.ts index ca85c7a943e77..c167a2e115d6a 100644 --- a/packages/playwright-core/src/tools/cli-daemon/helpGenerator.ts +++ b/packages/playwright-core/src/tools/cli-daemon/helpGenerator.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { z } from '../../zodBundle'; - +import * as z from 'zod'; import { commands } from './commands'; import type zodType from 'zod'; diff --git a/packages/playwright-core/src/tools/cli-daemon/program.ts b/packages/playwright-core/src/tools/cli-daemon/program.ts index 1cc96c627e0a9..3b4312d80e4b8 100644 --- a/packages/playwright-core/src/tools/cli-daemon/program.ts +++ b/packages/playwright-core/src/tools/cli-daemon/program.ts @@ -20,6 +20,7 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; +import { getAsBooleanFromENV } from '@utils/env'; import { libPath } from '../../package'; import { startCliDaemonServer } from './daemon'; import { setupExitWatchdog } from '../mcp/watchdog'; @@ -27,7 +28,6 @@ import { createBrowserWithInfo } from '../mcp/browserFactory'; import * as configUtils from '../mcp/config'; import { createClientInfo } from '../cli-client/registry'; import { registry as browserRegistry } from '../../server/registry/index'; -import { getAsBooleanFromENV } from '../../server/utils/env'; import type { Command } from '../../utilsBundle'; export function decorateProgram(program: Command) { diff --git a/packages/playwright-core/src/tools/dashboard/DEPS.list b/packages/playwright-core/src/tools/dashboard/DEPS.list index 84abdb0beef37..11da601b9e881 100644 --- a/packages/playwright-core/src/tools/dashboard/DEPS.list +++ b/packages/playwright-core/src/tools/dashboard/DEPS.list @@ -3,8 +3,8 @@ ../../ ../../client/connect.ts ../../server/registry/index.ts -../../server/utils/ +@utils/** ../../serverRegistry.ts -../../utils/ +../../utils/** ../cli-client/registry.ts -../utils/ +../utils/** diff --git a/packages/playwright-core/src/tools/dashboard/dashboardApp.ts b/packages/playwright-core/src/tools/dashboard/dashboardApp.ts index 89c190d6bfc1c..97665054b37d9 100644 --- a/packages/playwright-core/src/tools/dashboard/dashboardApp.ts +++ b/packages/playwright-core/src/tools/dashboard/dashboardApp.ts @@ -19,11 +19,11 @@ import path from 'path'; import net from 'net'; import http from 'http'; -import { playwright } from '../../inprocess'; +import { HttpServer } from '@utils/httpServer'; +import { makeSocketPath } from '@utils/fileUtils'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { libPath } from '../../package'; -import { HttpServer } from '../../server/utils/httpServer'; -import { makeSocketPath } from '../../server/utils/fileUtils'; -import { gracefullyProcessExitDoNotHang } from '../../server/utils/processLauncher'; +import { playwright } from '../../inprocess'; import { findChromiumChannelBestEffort, registryDirectory } from '../../server/registry/index'; import { CDPConnection, DashboardConnection } from './dashboardController'; import { serverRegistry } from '../../serverRegistry'; diff --git a/packages/playwright-core/src/tools/dashboard/dashboardController.ts b/packages/playwright-core/src/tools/dashboard/dashboardController.ts index d2b07474f39e5..9fb79198ccc65 100644 --- a/packages/playwright-core/src/tools/dashboard/dashboardController.ts +++ b/packages/playwright-core/src/tools/dashboard/dashboardController.ts @@ -14,11 +14,11 @@ * limitations under the License. */ -import { eventsHelper } from '../../server/utils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; import { connectToBrowserAcrossVersions } from '../utils/connect'; import type * as api from '../../..'; -import type { Transport } from '../../server/utils/httpServer'; +import type { Transport } from '@utils/httpServer'; import type { DashboardChannel, DashboardChannelEvents, Tab } from '@dashboard/dashboardChannel'; import type { BrowserDescriptor } from '../../serverRegistry'; diff --git a/packages/playwright-core/src/tools/mcp/DEPS.list b/packages/playwright-core/src/tools/mcp/DEPS.list index 5488c6bb277ac..54e62c13c4fa5 100644 --- a/packages/playwright-core/src/tools/mcp/DEPS.list +++ b/packages/playwright-core/src/tools/mcp/DEPS.list @@ -3,14 +3,19 @@ ../../ ../utils/mcp/ ../backend/ -../../utils/ -../../utils/isomorphic/ +../../utils/** +@isomorphic/** ../../utilsBundle.ts -../../mcpBundle.ts ../../server/ ../../server/registry/ -../../server/utils/ +@utils/** ../../serverRegistry.ts +node_modules/@modelcontextprotocol/sdk/server/index.js +node_modules/commander +node_modules/debug +node_modules/dotenv +node_modules/ini +node_modules/ws [browserFactory.ts] ../../client/connect.ts diff --git a/packages/playwright-core/src/tools/mcp/cdpRelay.ts b/packages/playwright-core/src/tools/mcp/cdpRelay.ts index b2a21680510f3..34ee5173ec085 100644 --- a/packages/playwright-core/src/tools/mcp/cdpRelay.ts +++ b/packages/playwright-core/src/tools/mcp/cdpRelay.ts @@ -26,9 +26,10 @@ import { spawn } from 'child_process'; import http from 'http'; import os from 'os'; -import { debug, ws, wsServer } from '../../utilsBundle'; +import debug from 'debug'; +import ws, { WebSocketServer as wsServer } from 'ws'; +import { ManualPromise } from '@isomorphic/manualPromise'; import { registry } from '../../server/registry/index'; -import { ManualPromise } from '../../utils/isomorphic/manualPromise'; import { addressToString } from '../utils/mcp/http'; import { logUnhandledError } from './log'; diff --git a/packages/playwright-core/src/tools/mcp/config.ts b/packages/playwright-core/src/tools/mcp/config.ts index 76ff16031910d..05de0f86337b9 100644 --- a/packages/playwright-core/src/tools/mcp/config.ts +++ b/packages/playwright-core/src/tools/mcp/config.ts @@ -18,9 +18,8 @@ import fs from 'fs'; import path from 'path'; import os from 'os'; +import dotenv from 'dotenv'; import { playwright } from '../../inprocess'; -import { dotenv } from '../../utilsBundle'; - import { configFromIniFile } from './configIni'; import type * as playwrightTypes from '../../..'; diff --git a/packages/playwright-core/src/tools/mcp/configIni.ts b/packages/playwright-core/src/tools/mcp/configIni.ts index 6ad1b90cacf0a..078295e7a9ae8 100644 --- a/packages/playwright-core/src/tools/mcp/configIni.ts +++ b/packages/playwright-core/src/tools/mcp/configIni.ts @@ -16,8 +16,7 @@ import fs from 'fs'; -import { ini } from '../../utilsBundle'; - +import * as ini from 'ini'; import type { Config } from './config.d'; export function configFromIniFile(filePath: string): Config { diff --git a/packages/playwright-core/src/tools/mcp/extensionContextFactory.ts b/packages/playwright-core/src/tools/mcp/extensionContextFactory.ts index 942b71cb49c3f..d9ab2fd97b35a 100644 --- a/packages/playwright-core/src/tools/mcp/extensionContextFactory.ts +++ b/packages/playwright-core/src/tools/mcp/extensionContextFactory.ts @@ -14,9 +14,9 @@ * limitations under the License. */ +import debug from 'debug'; +import { createHttpServer, startHttpServer } from '@utils/network'; import { playwright } from '../../inprocess'; -import { debug } from '../../utilsBundle'; -import { createHttpServer, startHttpServer } from '../../server/utils/network'; import { CDPRelayServer } from './cdpRelay'; import type * as playwrightTypes from '../../..'; diff --git a/packages/playwright-core/src/tools/mcp/log.ts b/packages/playwright-core/src/tools/mcp/log.ts index f06c311b31f6a..c39c1869d78ae 100644 --- a/packages/playwright-core/src/tools/mcp/log.ts +++ b/packages/playwright-core/src/tools/mcp/log.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { debug } from '../../utilsBundle'; - +import debug from 'debug'; const errorDebug = debug('pw:mcp:error'); export function logUnhandledError(error: unknown) { diff --git a/packages/playwright-core/src/tools/mcp/program.ts b/packages/playwright-core/src/tools/mcp/program.ts index 02c5fb0274fe0..390a28f9bed18 100644 --- a/packages/playwright-core/src/tools/mcp/program.ts +++ b/packages/playwright-core/src/tools/mcp/program.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { ProgramOption } from '../../utilsBundle'; - +import { Option as ProgramOption } from 'commander'; import * as mcpServer from '../utils/mcp/server'; import { commaSeparatedList, dotenvFileLoader, enumParser, headerParser, numberParser, resolutionParser, resolveCLIConfigForMCP, semicolonSeparatedList } from './config'; import { setupExitWatchdog } from './watchdog'; diff --git a/packages/playwright-core/src/tools/mcp/watchdog.ts b/packages/playwright-core/src/tools/mcp/watchdog.ts index b9d13812309d9..0f947ee7ca8bf 100644 --- a/packages/playwright-core/src/tools/mcp/watchdog.ts +++ b/packages/playwright-core/src/tools/mcp/watchdog.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { gracefullyCloseAll, gracefullyCloseSet } from '../../utils'; +import { gracefullyCloseAll, gracefullyCloseSet } from '@utils/processLauncher'; import { testDebug } from './log'; export function setupExitWatchdog() { diff --git a/packages/playwright-core/src/tools/trace/DEPS.list b/packages/playwright-core/src/tools/trace/DEPS.list index 006ec02875c3d..fcbcf9fe6ea27 100644 --- a/packages/playwright-core/src/tools/trace/DEPS.list +++ b/packages/playwright-core/src/tools/trace/DEPS.list @@ -1,7 +1,7 @@ [*] ../../package.ts -../../utils/isomorphic/** -../../server/utils/zipFile.ts +@isomorphic/** +@utils/** ./*.ts [traceSnapshot.ts] diff --git a/packages/playwright-core/src/tools/trace/traceActions.ts b/packages/playwright-core/src/tools/trace/traceActions.ts index d19964e3fc8b8..2e11a78157d57 100644 --- a/packages/playwright-core/src/tools/trace/traceActions.ts +++ b/packages/playwright-core/src/tools/trace/traceActions.ts @@ -16,10 +16,10 @@ /* eslint-disable no-console */ -import { buildActionTree } from '../../utils/isomorphic/trace/traceModel'; -import { asLocatorDescription } from '../../utils/isomorphic/locatorGenerators'; +import { buildActionTree } from '@isomorphic/trace/traceModel'; +import { asLocatorDescription } from '@isomorphic/locatorGenerators'; +import { msToString } from '@isomorphic/formatUtils'; import { loadTrace, formatTimestamp, actionTitle } from './traceUtils'; -import { msToString } from '../../utils/isomorphic/formatUtils'; import type { ActionTraceEventInContext } from '@isomorphic/trace/traceModel'; import type { Language } from '@isomorphic/locatorGenerators'; diff --git a/packages/playwright-core/src/tools/trace/traceOpen.ts b/packages/playwright-core/src/tools/trace/traceOpen.ts index d45cf4e939264..5f21076c8bf7d 100644 --- a/packages/playwright-core/src/tools/trace/traceOpen.ts +++ b/packages/playwright-core/src/tools/trace/traceOpen.ts @@ -16,8 +16,8 @@ /* eslint-disable no-console */ +import { msToString } from '@isomorphic/formatUtils'; import { openTrace, loadTrace } from './traceUtils'; -import { msToString } from '../../utils/isomorphic/formatUtils'; export async function traceOpen(traceFile: string) { await openTrace(traceFile); diff --git a/packages/playwright-core/src/tools/trace/traceParser.ts b/packages/playwright-core/src/tools/trace/traceParser.ts index a56896b559fb2..a0804b0913106 100644 --- a/packages/playwright-core/src/tools/trace/traceParser.ts +++ b/packages/playwright-core/src/tools/trace/traceParser.ts @@ -16,7 +16,7 @@ import fs from 'fs'; import path from 'path'; -import { ZipFile } from '../../server/utils/zipFile'; +import { ZipFile } from '@utils/zipFile'; import type { TraceLoaderBackend } from '@isomorphic/trace/traceLoader'; diff --git a/packages/playwright-core/src/tools/trace/traceRequests.ts b/packages/playwright-core/src/tools/trace/traceRequests.ts index 3327016ad7579..547669d8b92ab 100644 --- a/packages/playwright-core/src/tools/trace/traceRequests.ts +++ b/packages/playwright-core/src/tools/trace/traceRequests.ts @@ -17,8 +17,8 @@ /* eslint-disable no-console */ import path from 'path'; +import { msToString } from '@isomorphic/formatUtils'; import { loadTrace } from './traceUtils'; -import { msToString } from '../../utils/isomorphic/formatUtils'; export async function traceRequests(options: { grep?: string, method?: string, status?: string, failed?: boolean }) { const trace = await loadTrace(); diff --git a/packages/playwright-core/src/tools/trace/traceSnapshot.ts b/packages/playwright-core/src/tools/trace/traceSnapshot.ts index bc19b79d5aec1..df417abc424b6 100644 --- a/packages/playwright-core/src/tools/trace/traceSnapshot.ts +++ b/packages/playwright-core/src/tools/trace/traceSnapshot.ts @@ -16,11 +16,13 @@ /* eslint-disable no-console */ -import { TraceLoader } from '../../utils/isomorphic/trace/traceLoader'; +import { TraceLoader } from '@isomorphic/trace/traceLoader'; +import { gracefullyCloseAll } from '@utils/processLauncher'; +import { HttpServer } from '@utils/httpServer'; +import { SnapshotServer } from '@isomorphic/trace/snapshotServer'; import { BrowserBackend } from '../backend/browserBackend'; import { browserTools } from '../backend/tools'; import { playwright } from '../../inprocess'; -import { gracefullyCloseAll, HttpServer, SnapshotServer } from '../../utils'; import { parseCommand } from '../cli-daemon/command'; import { minimist } from '../cli-client/minimist'; import { commands } from '../cli-daemon/commands'; diff --git a/packages/playwright-core/src/tools/trace/traceUtils.ts b/packages/playwright-core/src/tools/trace/traceUtils.ts index 6d37f64d84a22..03bd6a461e79e 100644 --- a/packages/playwright-core/src/tools/trace/traceUtils.ts +++ b/packages/playwright-core/src/tools/trace/traceUtils.ts @@ -17,9 +17,9 @@ import fs from 'fs'; import path from 'path'; -import { TraceModel, buildActionTree } from '../../utils/isomorphic/trace/traceModel'; -import { TraceLoader } from '../../utils/isomorphic/trace/traceLoader'; -import { renderTitleForCall } from '../../utils/isomorphic/protocolFormatter'; +import { TraceModel, buildActionTree } from '@isomorphic/trace/traceModel'; +import { TraceLoader } from '@isomorphic/trace/traceLoader'; +import { renderTitleForCall } from '@isomorphic/protocolFormatter'; import { DirTraceLoaderBackend, extractTrace } from './traceParser'; import type { ActionTraceEventInContext } from '@isomorphic/trace/traceModel'; diff --git a/packages/playwright-core/src/tools/utils/mcp/DEPS.list b/packages/playwright-core/src/tools/utils/mcp/DEPS.list index 2b5fc59b8ad6e..cf776078ddcf4 100644 --- a/packages/playwright-core/src/tools/utils/mcp/DEPS.list +++ b/packages/playwright-core/src/tools/utils/mcp/DEPS.list @@ -1,5 +1,9 @@ [*] -../../../mcpBundle.ts -../../../zodBundle.ts -../../../utilsBundle.ts -../../../server/utils/network.ts +@utils/network.ts +node_modules/@modelcontextprotocol/sdk/server/index.js +node_modules/@modelcontextprotocol/sdk/server/sse.js +node_modules/@modelcontextprotocol/sdk/server/stdio.js +node_modules/@modelcontextprotocol/sdk/server/streamableHttp.js +node_modules/@modelcontextprotocol/sdk/types.js +node_modules/debug +node_modules/zod diff --git a/packages/playwright-core/src/tools/utils/mcp/http.ts b/packages/playwright-core/src/tools/utils/mcp/http.ts index e124c330e2ba8..4d621ae6e40fd 100644 --- a/packages/playwright-core/src/tools/utils/mcp/http.ts +++ b/packages/playwright-core/src/tools/utils/mcp/http.ts @@ -19,15 +19,16 @@ import net from 'net'; import http from 'http'; import crypto from 'crypto'; -import { debug } from '../../../utilsBundle'; -import * as mcpBundle from '../../../mcpBundle'; -import { createHttpServer, startHttpServer } from '../../../server/utils/network'; +import debug from 'debug'; +import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; +import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; +import { createHttpServer, startHttpServer } from '@utils/network'; import * as mcpServer from './server'; import type { ServerBackendFactory } from './server'; -import type { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; -import type { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; +import type { SSEServerTransport as SSEServerTransportType } from '@modelcontextprotocol/sdk/server/sse.js'; +import type { StreamableHTTPServerTransport as StreamableHTTPServerTransportType } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; const testDebug = debug('pw:mcp:test'); @@ -95,7 +96,7 @@ async function installHttpTransport(httpServer: http.Server, serverBackendFactor return url; } -async function handleSSE(serverBackendFactory: ServerBackendFactory, req: http.IncomingMessage, res: http.ServerResponse, url: URL, sessions: Map) { +async function handleSSE(serverBackendFactory: ServerBackendFactory, req: http.IncomingMessage, res: http.ServerResponse, url: URL, sessions: Map) { if (req.method === 'POST') { const sessionId = url.searchParams.get('sessionId'); if (!sessionId) { @@ -111,7 +112,7 @@ async function handleSSE(serverBackendFactory: ServerBackendFactory, req: http.I return await transport.handlePostMessage(req, res); } else if (req.method === 'GET') { - const transport = new mcpBundle.SSEServerTransport('/sse', res); + const transport = new SSEServerTransport('/sse', res); sessions.set(transport.sessionId, transport); testDebug(`create SSE session`); await mcpServer.connect(serverBackendFactory, transport, false); @@ -126,7 +127,7 @@ async function handleSSE(serverBackendFactory: ServerBackendFactory, req: http.I res.end('Method not allowed'); } -async function handleStreamable(serverBackendFactory: ServerBackendFactory, req: http.IncomingMessage, res: http.ServerResponse, sessions: Map) { +async function handleStreamable(serverBackendFactory: ServerBackendFactory, req: http.IncomingMessage, res: http.ServerResponse, sessions: Map) { const sessionId = req.headers['mcp-session-id'] as string | undefined; if (sessionId) { const transport = sessions.get(sessionId); @@ -139,7 +140,7 @@ async function handleStreamable(serverBackendFactory: ServerBackendFactory, req: } if (req.method === 'POST') { - const transport = new mcpBundle.StreamableHTTPServerTransport({ + const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: () => crypto.randomUUID(), onsessioninitialized: async sessionId => { testDebug(`create http session`); diff --git a/packages/playwright-core/src/tools/utils/mcp/server.ts b/packages/playwright-core/src/tools/utils/mcp/server.ts index fd33cbd6a3ff0..df8feeb798d3e 100644 --- a/packages/playwright-core/src/tools/utils/mcp/server.ts +++ b/packages/playwright-core/src/tools/utils/mcp/server.ts @@ -16,9 +16,10 @@ import { fileURLToPath } from 'url'; -import { debug } from '../../../utilsBundle'; -import * as mcpBundle from '../../../mcpBundle'; - +import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js'; +import debug from 'debug'; +import { Server } from '@modelcontextprotocol/sdk/server/index.js'; +import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { startMcpHttpServer } from './http'; import { toMcpTool } from './tool'; @@ -26,7 +27,7 @@ import type { CallToolResult, CallToolRequest, Root } from '@modelcontextprotoco import type { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; export type { Server } from '@modelcontextprotocol/sdk/server/index.js'; export type { Tool, CallToolResult, CallToolRequest, Root } from '@modelcontextprotocol/sdk/types.js'; -import type { Server } from '@modelcontextprotocol/sdk/server/index.js'; +import type { Server as ServerType } from '@modelcontextprotocol/sdk/server/index.js'; import type { ToolSchema } from './tool'; const serverDebug = debug('pw:mcp:server'); @@ -82,14 +83,14 @@ export async function connect(factory: ServerBackendFactory, transport: Transpor await server.connect(transport); } -export function createServer(name: string, version: string, factory: ServerBackendFactory, runHeartbeat: boolean): Server { - const server = new mcpBundle.Server({ name, version }, { +export function createServer(name: string, version: string, factory: ServerBackendFactory, runHeartbeat: boolean): ServerType { + const server = new Server({ name, version }, { capabilities: { tools: {}, } }); - server.setRequestHandler(mcpBundle.ListToolsRequestSchema, async () => { + server.setRequestHandler(ListToolsRequestSchema, async () => { serverDebug('listTools'); return { tools: factory.toolSchemas.map(s => toMcpTool(s)) }; }); @@ -99,7 +100,7 @@ export function createServer(name: string, version: string, factory: ServerBacke const onClose = () => backendPromise?.then(b => backendManager.disposeBackend(b)).catch(serverDebug); addServerListener(server, 'close', onClose); - server.setRequestHandler(mcpBundle.CallToolRequestSchema, async (request, extra) => { + server.setRequestHandler(CallToolRequestSchema, async (request, extra) => { serverDebug('callTool', request); const progressToken = request.params._meta?.progressToken; @@ -146,7 +147,7 @@ export function createServer(name: string, version: string, factory: ServerBacke return server; } -const initializeServer = async (server: Server, factory: ServerBackendFactory, runHeartbeat: boolean): Promise => { +const initializeServer = async (server: ServerType, factory: ServerBackendFactory, runHeartbeat: boolean): Promise => { const capabilities = server.getClientCapabilities(); let clientRoots: Root[] = []; if (capabilities?.roots) { @@ -168,7 +169,7 @@ const initializeServer = async (server: Server, factory: ServerBackendFactory, r return backend; }; -const startHeartbeat = (server: Server) => { +const startHeartbeat = (server: ServerType) => { const beat = () => { Promise.race([ server.ping(), @@ -183,7 +184,7 @@ const startHeartbeat = (server: Server) => { beat(); }; -function addServerListener(server: Server, event: 'close' | 'initialized', listener: () => void) { +function addServerListener(server: ServerType, event: 'close' | 'initialized', listener: () => void) { const oldListener = server[`on${event}`]; server[`on${event}`] = () => { oldListener?.(); @@ -193,7 +194,7 @@ function addServerListener(server: Server, event: 'close' | 'initialized', liste export async function start(serverBackendFactory: ServerBackendFactory, options: { host?: string; port?: number, allowedHosts?: string[], socketPath?: string } = {}) { if (options.port === undefined) { - await connect(serverBackendFactory, new mcpBundle.StdioServerTransport(), false); + await connect(serverBackendFactory, new StdioServerTransport(), false); return; } diff --git a/packages/playwright-core/src/tools/utils/mcp/tool.ts b/packages/playwright-core/src/tools/utils/mcp/tool.ts index a2b8866127f6c..3afe9d77ca78b 100644 --- a/packages/playwright-core/src/tools/utils/mcp/tool.ts +++ b/packages/playwright-core/src/tools/utils/mcp/tool.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z as zod } from '../../../zodBundle'; +import * as zod from 'zod'; import type { z } from 'zod'; import type * as mcpServer from './server'; diff --git a/packages/playwright-core/src/utils.ts b/packages/playwright-core/src/utils.ts deleted file mode 100644 index 2bdb8dc009b8a..0000000000000 --- a/packages/playwright-core/src/utils.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './utils/isomorphic'; -export * from './server/utils'; - -export { colors } from './utilsBundle'; diff --git a/packages/playwright-core/src/utils/isomorphic/DEPS.list b/packages/playwright-core/src/utils/isomorphic/DEPS.list deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/packages/playwright-core/src/utilsBundle.ts b/packages/playwright-core/src/utilsBundle.ts index e22bf61a8b820..47d21b2aebdf2 100644 --- a/packages/playwright-core/src/utilsBundle.ts +++ b/packages/playwright-core/src/utilsBundle.ts @@ -14,28 +14,61 @@ * limitations under the License. */ -export const colors: typeof import('../bundles/utils/node_modules/colors/safe') = require('./utilsBundleImpl').colors; -export const debug: typeof import('../bundles/utils/node_modules/@types/debug') = require('./utilsBundleImpl').debug; -export const diff: typeof import('../bundles/utils/node_modules/@types/diff') = require('./utilsBundleImpl').diff; -export const dotenv: typeof import('../bundles/utils/node_modules/dotenv') = require('./utilsBundleImpl').dotenv; -export const ini: typeof import('../bundles/utils/node_modules/@types/ini') = require('./utilsBundleImpl').ini; -export const getProxyForUrl: typeof import('../bundles/utils/node_modules/@types/proxy-from-env').getProxyForUrl = require('./utilsBundleImpl').getProxyForUrl; -export const HttpsProxyAgent: typeof import('../bundles/utils/node_modules/https-proxy-agent').HttpsProxyAgent = require('./utilsBundleImpl').HttpsProxyAgent; -export const jpegjs: typeof import('../bundles/utils/node_modules/jpeg-js') = require('./utilsBundleImpl').jpegjs; -export const lockfile: typeof import('../bundles/utils/node_modules/@types/proper-lockfile') = require('./utilsBundleImpl').lockfile; -export const mime: typeof import('../bundles/utils/node_modules/@types/mime') = require('./utilsBundleImpl').mime; -export const minimatch: typeof import('../bundles/utils/node_modules/@types/minimatch') = require('./utilsBundleImpl').minimatch; -export const open: typeof import('../bundles/utils/node_modules/open') = require('./utilsBundleImpl').open; -export const PNG: typeof import('../bundles/utils/node_modules/@types/pngjs').PNG = require('./utilsBundleImpl').PNG; -export const program: typeof import('../bundles/utils/node_modules/commander').program = require('./utilsBundleImpl').program; -export const ProgramOption: typeof import('../bundles/utils/node_modules/commander').Option = require('./utilsBundleImpl').ProgramOption; -export const progress: typeof import('../bundles/utils/node_modules/@types/progress') = require('./utilsBundleImpl').progress; -export const SocksProxyAgent: typeof import('../bundles/utils/node_modules/socks-proxy-agent').SocksProxyAgent = require('./utilsBundleImpl').SocksProxyAgent; -export const ws: typeof import('../bundles/utils/node_modules/@types/ws') = require('./utilsBundleImpl').ws; -export const wsServer: typeof import('../bundles/utils/node_modules/@types/ws').WebSocketServer = require('./utilsBundleImpl').wsServer; -export const wsReceiver = require('./utilsBundleImpl').wsReceiver; -export const wsSender = require('./utilsBundleImpl').wsSender; -export const yaml: typeof import('../bundles/utils/node_modules/yaml') = require('./utilsBundleImpl').yaml; -export type { Range as YAMLRange, Scalar as YAMLScalar, YAMLError, YAMLMap, YAMLSeq } from '../bundles/utils/node_modules/yaml'; -export type { Command } from '../bundles/utils/node_modules/commander'; -export type { EventEmitter as WebSocketEventEmitter, RawData as WebSocketRawData, WebSocket, WebSocketServer } from '../bundles/utils/node_modules/@types/ws'; +// @ts-ignore +const _impl = require('./utilsBundleImpl'); + +export const colors: typeof import('colors/safe') = _impl.colors; +export const debug: typeof import('debug') = _impl.debug; +export const diff: typeof import('diff') = _impl.diff; +export const dotenv: typeof import('dotenv') = _impl.dotenv; +export const ini: typeof import('ini') = _impl.ini; +export const getProxyForUrl: typeof import('proxy-from-env').getProxyForUrl = _impl.getProxyForUrl; +export const HttpsProxyAgent: typeof import('https-proxy-agent').HttpsProxyAgent = _impl.HttpsProxyAgent; +export const jpegjs: typeof import('jpeg-js') = _impl.jpegjs; +export const lockfile: typeof import('proper-lockfile') = _impl.lockfile; +export const mime: typeof import('mime') = _impl.mime; +export const minimatch: typeof import('minimatch') = _impl.minimatch; +export const open: typeof import('open') = _impl.open; +export const PNG: typeof import('pngjs').PNG = _impl.PNG; +export const program: typeof import('commander').program = _impl.program; +export const ProgramOption: typeof import('commander').Option = _impl.ProgramOption; +export const progress: typeof import('progress') = _impl.progress; +export const SocksProxyAgent: typeof import('socks-proxy-agent').SocksProxyAgent = _impl.SocksProxyAgent; +export const ws: typeof import('ws') = _impl.ws; +export const wsServer: typeof import('ws').WebSocketServer = _impl.wsServer; +export const wsReceiver = _impl.wsReceiver; +export const wsSender = _impl.wsSender; +export const yaml: typeof import('yaml') = _impl.yaml; +export type { Range as YAMLRange, Scalar as YAMLScalar, YAMLError, YAMLMap, YAMLSeq } from 'yaml'; +export const json5: typeof import('json5') = _impl.json5; +export const sourceMapSupport: typeof import('source-map-support') = _impl.sourceMapSupport; +export const stoppable: typeof import('stoppable') = _impl.stoppable; +export const enquirer: typeof import('enquirer') = _impl.enquirer; +export const chokidar: typeof import('chokidar') = _impl.chokidar; +export const getEastAsianWidth: typeof import('get-east-asian-width') = _impl.getEastAsianWidth; +export type { RawSourceMap } from 'source-map'; +export type { Command } from 'commander'; +export type { RawData as WebSocketRawData, WebSocket, WebSocketServer } from 'ws'; +export type { EventEmitter as WebSocketEventEmitter } from 'events'; + +export const yazl: typeof import('yazl') = _impl.yazl; +export type { ZipFile } from 'yazl'; +export const yauzl: typeof import('yauzl') = _impl.yauzl; +export type { Entry, ZipFile as UnzipFile } from 'yauzl'; +export const extract: typeof import('../bundles/utils/src/third_party/extract-zip') = _impl.extract; + +export const z: typeof import('zod') = _impl.z; +export const zodToJsonSchema: (schema: any, options?: any) => any = _impl.zodToJsonSchema; +export const Client: typeof import('@modelcontextprotocol/sdk/client/index.js').Client = _impl.Client; +export const Server: typeof import('@modelcontextprotocol/sdk/server/index.js').Server = _impl.Server; +export const SSEClientTransport: typeof import('@modelcontextprotocol/sdk/client/sse.js').SSEClientTransport = _impl.SSEClientTransport; +export const SSEServerTransport: typeof import('@modelcontextprotocol/sdk/server/sse.js').SSEServerTransport = _impl.SSEServerTransport; +export const StdioClientTransport: typeof import('@modelcontextprotocol/sdk/client/stdio.js').StdioClientTransport = _impl.StdioClientTransport; +export const StdioServerTransport: typeof import('@modelcontextprotocol/sdk/server/stdio.js').StdioServerTransport = _impl.StdioServerTransport; +export const StreamableHTTPServerTransport: typeof import('@modelcontextprotocol/sdk/server/streamableHttp.js').StreamableHTTPServerTransport = _impl.StreamableHTTPServerTransport; +export const StreamableHTTPClientTransport: typeof import('@modelcontextprotocol/sdk/client/streamableHttp.js').StreamableHTTPClientTransport = _impl.StreamableHTTPClientTransport; +export const CallToolRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').CallToolRequestSchema = _impl.CallToolRequestSchema; +export const ListRootsRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').ListRootsRequestSchema = _impl.ListRootsRequestSchema; +export const ProgressNotificationSchema: typeof import('@modelcontextprotocol/sdk/types.js').ProgressNotificationSchema = _impl.ProgressNotificationSchema; +export const ListToolsRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').ListToolsRequestSchema = _impl.ListToolsRequestSchema; +export const PingRequestSchema: typeof import('@modelcontextprotocol/sdk/types.js').PingRequestSchema = _impl.PingRequestSchema; diff --git a/packages/playwright-core/src/zipBundle.ts b/packages/playwright-core/src/zipBundle.ts deleted file mode 100644 index 093a51698fc68..0000000000000 --- a/packages/playwright-core/src/zipBundle.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export const yazl: typeof import('../bundles/zip/node_modules/@types/yazl') = require('./zipBundleImpl').yazl; -export type { ZipFile } from '../bundles/zip/node_modules/@types/yazl'; -export const yauzl: typeof import('../bundles/zip/node_modules/@types/yauzl') = require('./zipBundleImpl').yauzl; -export type { Entry, ZipFile as UnzipFile } from '../bundles/zip/node_modules/@types/yauzl'; -export const extract: typeof import('../bundles/zip/src/third_party/extract-zip.d.ts') = require('./zipBundleImpl').extract; diff --git a/packages/playwright-core/src/zodBundle.ts b/packages/playwright-core/src/zodBundle.ts deleted file mode 100644 index e2dbe76193105..0000000000000 --- a/packages/playwright-core/src/zodBundle.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// @ts-ignore -import * as bundle from './zodBundleImpl'; - -const z: typeof import('zod') = bundle.z; - -export { - z, -}; diff --git a/packages/playwright-ct-core/src/vitePlugin.ts b/packages/playwright-ct-core/src/vitePlugin.ts index f0facbbf9ab07..3f9d13f295a2e 100644 --- a/packages/playwright-ct-core/src/vitePlugin.ts +++ b/packages/playwright-ct-core/src/vitePlugin.ts @@ -17,12 +17,11 @@ import fs from 'fs'; import path from 'path'; -import { iso, serverUtils } from 'playwright-core/lib/coreBundle'; -import { colors, debug } from 'playwright-core/lib/utilsBundle'; +import { iso, utils } from 'playwright-core/lib/coreBundle'; +import { colors, debug, stoppable } from 'playwright-core/lib/utilsBundle'; import { setExternalDependencies } from 'playwright/lib/transform/compilationCache'; import { resolveHook } from 'playwright/lib/transform/transform'; import { removeDirAndLogToConsole } from 'playwright/lib/util'; -import { stoppable } from 'playwright/lib/utilsBundle'; import { source as injectedSource } from './generated/indexSource'; import { createConfig, frameworkConfig, hasJSComponents, populateComponentsFromTests, resolveDirs, transformIndexFile } from './viteUtils'; @@ -40,7 +39,7 @@ import type { ComponentRegistry } from './viteUtils'; const log = debug('pw:vite'); let stoppableServer: any; -const playwrightVersion = serverUtils.getPlaywrightVersion(); +const playwrightVersion = utils.getPlaywrightVersion(); export function createPlugin(): TestRunnerPlugin { let configDir: string; @@ -118,7 +117,7 @@ export async function buildBundle(config: FullConfig, configDir: string): Promis let buildInfo: BuildInfo; const registerSource = injectedSource + '\n' + await fs.promises.readFile(registerSourceFile, 'utf-8'); - const registerSourceHash = serverUtils.calculateSha1(registerSource); + const registerSourceHash = utils.calculateSha1(registerSource); const { version: viteVersion, build, mergeConfig } = await import('vite'); diff --git a/packages/playwright-firefox/install.js b/packages/playwright-firefox/install.js index d53beb1048213..d024766ec9124 100644 --- a/packages/playwright-firefox/install.js +++ b/packages/playwright-firefox/install.js @@ -17,7 +17,7 @@ let install; try { - if (!require('playwright-core/lib/coreBundle').serverUtils.isLikelyNpxGlobal()) + if (!require('playwright-core/lib/coreBundle').utils.isLikelyNpxGlobal()) install = require('playwright-core/lib/coreBundle').registry.installBrowsersForNpmInstall; } catch (e) { // Dev build, don't install browsers by default. diff --git a/packages/playwright-webkit/install.js b/packages/playwright-webkit/install.js index f4cb8dfcadb53..c9ac528acade0 100644 --- a/packages/playwright-webkit/install.js +++ b/packages/playwright-webkit/install.js @@ -17,7 +17,7 @@ let install; try { - if (!require('playwright-core/lib/coreBundle').serverUtils.isLikelyNpxGlobal()) + if (!require('playwright-core/lib/coreBundle').utils.isLikelyNpxGlobal()) install = require('playwright-core/lib/coreBundle').registry.installBrowsersForNpmInstall; } catch (e) { // Dev build, don't install browsers by default. diff --git a/packages/playwright/ThirdPartyNotices.txt b/packages/playwright/ThirdPartyNotices.txt index 9035e8e8abd6e..2debc12ac38c2 100644 --- a/packages/playwright/ThirdPartyNotices.txt +++ b/packages/playwright/ThirdPartyNotices.txt @@ -71,17 +71,12 @@ This project incorporates components from the projects listed below. The origina - @types/stack-utils@2.0.3 (https://github.com/DefinitelyTyped/DefinitelyTyped) - @types/yargs-parser@21.0.3 (https://github.com/DefinitelyTyped/DefinitelyTyped) - @types/yargs@17.0.34 (https://github.com/DefinitelyTyped/DefinitelyTyped) -- ansi-colors@4.1.3 (https://github.com/doowb/ansi-colors) - ansi-styles@4.3.0 (https://github.com/chalk/ansi-styles) - ansi-styles@5.2.0 (https://github.com/chalk/ansi-styles) -- anymatch@3.1.3 (https://github.com/micromatch/anymatch) -- binary-extensions@2.2.0 (https://github.com/sindresorhus/binary-extensions) - braces@3.0.3 (https://github.com/micromatch/braces) - browserslist@4.25.1 (https://github.com/browserslist/browserslist) -- buffer-from@1.1.2 (https://github.com/LinusU/buffer-from) - caniuse-lite@1.0.30001731 (https://github.com/browserslist/caniuse-lite) - chalk@4.1.2 (https://github.com/chalk/chalk) -- chokidar@3.6.0 (https://github.com/paulmillr/chokidar) - ci-info@4.3.1 (https://github.com/watson/ci-info) - codemirror@5.65.18 (https://github.com/codemirror/CodeMirror) - color-convert@2.0.1 (https://github.com/Qix-/color-convert) @@ -89,19 +84,13 @@ This project incorporates components from the projects listed below. The origina - convert-source-map@2.0.0 (https://github.com/thlorenz/convert-source-map) - debug@4.4.0 (https://github.com/debug-js/debug) - electron-to-chromium@1.5.192 (https://github.com/kilian/electron-to-chromium) -- enquirer@2.3.6 (https://github.com/enquirer/enquirer) - escalade@3.2.0 (https://github.com/lukeed/escalade) - escape-string-regexp@2.0.0 (https://github.com/sindresorhus/escape-string-regexp) - expect@30.2.0 (https://github.com/jestjs/jest) - fill-range@7.1.1 (https://github.com/jonschlinkert/fill-range) - gensync@1.0.0-beta.2 (https://github.com/loganfsmyth/gensync) -- get-east-asian-width@1.3.0 (https://github.com/sindresorhus/get-east-asian-width) -- glob-parent@5.1.2 (https://github.com/gulpjs/glob-parent) - graceful-fs@4.2.11 (https://github.com/isaacs/node-graceful-fs) - has-flag@4.0.0 (https://github.com/sindresorhus/has-flag) -- is-binary-path@2.1.0 (https://github.com/sindresorhus/is-binary-path) -- is-extglob@2.1.1 (https://github.com/jonschlinkert/is-extglob) -- is-glob@4.0.3 (https://github.com/micromatch/is-glob) - is-number@7.0.0 (https://github.com/jonschlinkert/is-number) - jest-diff@30.2.0 (https://github.com/jestjs/jest) - jest-matcher-utils@30.2.0 (https://github.com/jestjs/jest) @@ -116,19 +105,14 @@ This project incorporates components from the projects listed below. The origina - micromatch@4.0.8 (https://github.com/micromatch/micromatch) - ms@2.1.3 (https://github.com/vercel/ms) - node-releases@2.0.19 (https://github.com/chicoxyzzy/node-releases) -- normalize-path@3.0.0 (https://github.com/jonschlinkert/normalize-path) - picocolors@1.1.1 (https://github.com/alexeyraspopov/picocolors) - picomatch@2.3.2 (https://github.com/micromatch/picomatch) - picomatch@4.0.4 (https://github.com/micromatch/picomatch) - pretty-format@30.2.0 (https://github.com/jestjs/jest) - react-is@18.3.1 (https://github.com/facebook/react) -- readdirp@3.6.0 (https://github.com/paulmillr/readdirp) - semver@6.3.1 (https://github.com/npm/node-semver) - slash@3.0.0 (https://github.com/sindresorhus/slash) -- source-map-support@0.5.21 (https://github.com/evanw/node-source-map-support) -- source-map@0.6.1 (https://github.com/mozilla/source-map) - stack-utils@2.0.6 (https://github.com/tapjs/stack-utils) -- stoppable@1.1.0 (https://github.com/hunterloftis/stoppable) - supports-color@7.2.0 (https://github.com/chalk/supports-color) - to-regex-range@5.0.1 (https://github.com/micromatch/to-regex-range) - undici-types@7.16.0 (https://github.com/nodejs/undici) @@ -2105,32 +2089,6 @@ MIT License ========================================= END OF @types/yargs@17.0.34 AND INFORMATION -%% ansi-colors@4.1.3 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2015-present, Brian Woodward. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF ansi-colors@4.1.3 AND INFORMATION - %% ansi-styles@4.3.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -2159,40 +2117,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF ansi-styles@5.2.0 AND INFORMATION -%% anymatch@3.1.3 NOTICES AND INFORMATION BEGIN HERE -========================================= -The ISC License - -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -========================================= -END OF anymatch@3.1.3 AND INFORMATION - -%% binary-extensions@2.2.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -MIT License - -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF binary-extensions@2.2.0 AND INFORMATION - %% braces@3.0.3 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -2244,32 +2168,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ========================================= END OF browserslist@4.25.1 AND INFORMATION -%% buffer-from@1.1.2 NOTICES AND INFORMATION BEGIN HERE -========================================= -MIT License - -Copyright (c) 2016, 2018 Linus Unnebäck - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -========================================= -END OF buffer-from@1.1.2 AND INFORMATION - %% caniuse-lite@1.0.30001731 NOTICES AND INFORMATION BEGIN HERE ========================================= Attribution 4.0 International @@ -2684,32 +2582,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF chalk@4.1.2 AND INFORMATION -%% chokidar@3.6.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the “Software”), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF chokidar@3.6.0 AND INFORMATION - %% ci-info@4.3.1 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -2862,32 +2734,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH RE ========================================= END OF electron-to-chromium@1.5.192 AND INFORMATION -%% enquirer@2.3.6 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2016-present, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF enquirer@2.3.6 AND INFORMATION - %% escalade@3.2.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -2981,40 +2827,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF gensync@1.0.0-beta.2 AND INFORMATION -%% get-east-asian-width@1.3.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF get-east-asian-width@1.3.0 AND INFORMATION - -%% glob-parent@5.1.2 NOTICES AND INFORMATION BEGIN HERE -========================================= -The ISC License - -Copyright (c) 2015, 2019 Elan Shanker - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -========================================= -END OF glob-parent@5.1.2 AND INFORMATION - %% graceful-fs@4.2.11 NOTICES AND INFORMATION BEGIN HERE ========================================= The ISC License @@ -3049,72 +2861,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF has-flag@4.0.0 AND INFORMATION -%% is-binary-path@2.1.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -MIT License - -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -========================================= -END OF is-binary-path@2.1.0 AND INFORMATION - -%% is-extglob@2.1.1 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2014-2016, Jon Schlinkert - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF is-extglob@2.1.1 AND INFORMATION - -%% is-glob@4.0.3 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2014-2017, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF is-glob@4.0.3 AND INFORMATION - %% is-number@7.0.0 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -3480,32 +3226,6 @@ THE SOFTWARE. ========================================= END OF node-releases@2.0.19 AND INFORMATION -%% normalize-path@3.0.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2014-2018, Jon Schlinkert. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF normalize-path@3.0.0 AND INFORMATION - %% picocolors@1.1.1 NOTICES AND INFORMATION BEGIN HERE ========================================= ISC License @@ -3631,32 +3351,6 @@ SOFTWARE. ========================================= END OF react-is@18.3.1 AND INFORMATION -%% readdirp@3.6.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -MIT License - -Copyright (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -========================================= -END OF readdirp@3.6.0 AND INFORMATION - %% semver@6.3.1 NOTICES AND INFORMATION BEGIN HERE ========================================= The ISC License @@ -3691,64 +3385,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ========================================= END OF slash@3.0.0 AND INFORMATION -%% source-map-support@0.5.21 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2014 Evan Wallace - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -========================================= -END OF source-map-support@0.5.21 AND INFORMATION - -%% source-map@0.6.1 NOTICES AND INFORMATION BEGIN HERE -========================================= -Copyright (c) 2009-2011, Mozilla Foundation and contributors -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the names of the Mozilla Foundation nor the names of project - contributors may be used to endorse or promote products derived from this - software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -========================================= -END OF source-map@0.6.1 AND INFORMATION - %% stack-utils@2.0.6 NOTICES AND INFORMATION BEGIN HERE ========================================= The MIT License (MIT) @@ -3775,32 +3411,6 @@ THE SOFTWARE. ========================================= END OF stack-utils@2.0.6 AND INFORMATION -%% stoppable@1.1.0 NOTICES AND INFORMATION BEGIN HERE -========================================= -The MIT License (MIT) - -Copyright (c) 2017 Hunter Loftis - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF stoppable@1.1.0 AND INFORMATION - %% supports-color@7.2.0 NOTICES AND INFORMATION BEGIN HERE ========================================= MIT License @@ -3914,6 +3524,6 @@ END OF yallist@3.1.1 AND INFORMATION SUMMARY BEGIN HERE ========================================= -Total Packages: 130 +Total Packages: 114 ========================================= END OF SUMMARY \ No newline at end of file diff --git a/packages/playwright/bundles/utils/package-lock.json b/packages/playwright/bundles/utils/package-lock.json deleted file mode 100644 index 4e004c094f1dc..0000000000000 --- a/packages/playwright/bundles/utils/package-lock.json +++ /dev/null @@ -1,473 +0,0 @@ -{ - "name": "utils-bundle", - "version": "0.0.1", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "utils-bundle", - "version": "0.0.1", - "dependencies": { - "chokidar": "3.6.0", - "enquirer": "2.3.6", - "get-east-asian-width": "1.3.0", - "json5": "2.2.3", - "source-map-support": "0.5.21", - "stoppable": "1.1.0" - }, - "devDependencies": { - "@types/source-map-support": "^0.5.4", - "@types/stoppable": "^1.1.1" - } - }, - "node_modules/@types/node": { - "version": "18.6.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.4.tgz", - "integrity": "sha512-I4BD3L+6AWiUobfxZ49DlU43gtI+FTHSv9pE2Zekg6KjMpre4ByusaljW3vYSLJrvQ1ck1hUaeVu8HVlY3vzHg==", - "dev": true - }, - "node_modules/@types/source-map-support": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.4.tgz", - "integrity": "sha512-9zGujX1sOPg32XLyfgEB/0G9ZnrjthL/Iv1ZfuAjj8LEilHZEpQSQs1scpRXPhHzGYgWiLz9ldF1cI8JhL+yMw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.0" - } - }, - "node_modules/@types/stoppable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/stoppable/-/stoppable-1.1.1.tgz", - "integrity": "sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/stoppable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", - "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", - "engines": { - "node": ">=4", - "npm": ">=6" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - } - }, - "dependencies": { - "@types/node": { - "version": "18.6.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.6.4.tgz", - "integrity": "sha512-I4BD3L+6AWiUobfxZ49DlU43gtI+FTHSv9pE2Zekg6KjMpre4ByusaljW3vYSLJrvQ1ck1hUaeVu8HVlY3vzHg==", - "dev": true - }, - "@types/source-map-support": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.4.tgz", - "integrity": "sha512-9zGujX1sOPg32XLyfgEB/0G9ZnrjthL/Iv1ZfuAjj8LEilHZEpQSQs1scpRXPhHzGYgWiLz9ldF1cI8JhL+yMw==", - "dev": true, - "requires": { - "source-map": "^0.6.0" - } - }, - "@types/stoppable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/stoppable/-/stoppable-1.1.1.tgz", - "integrity": "sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "requires": { - "fill-range": "^7.1.1" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==" - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==" - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "stoppable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", - "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - } - } -} diff --git a/packages/playwright/bundles/utils/package.json b/packages/playwright/bundles/utils/package.json deleted file mode 100644 index c6f39dd86fa10..0000000000000 --- a/packages/playwright/bundles/utils/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "utils-bundle", - "version": "0.0.1", - "private": true, - "dependencies": { - "chokidar": "3.6.0", - "enquirer": "2.3.6", - "get-east-asian-width": "1.3.0", - "json5": "2.2.3", - "source-map-support": "0.5.21", - "stoppable": "1.1.0" - }, - "devDependencies": { - "@types/source-map-support": "^0.5.4", - "@types/stoppable": "^1.1.1" - } -} diff --git a/packages/playwright/bundles/utils/src/utilsBundleImpl.ts b/packages/playwright/bundles/utils/src/utilsBundleImpl.ts deleted file mode 100644 index 6e75f7cf6e3a6..0000000000000 --- a/packages/playwright/bundles/utils/src/utilsBundleImpl.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import json5Library from 'json5'; -export const json5 = json5Library; - -import sourceMapSupportLibrary from 'source-map-support'; -export const sourceMapSupport = sourceMapSupportLibrary; - -import stoppableLibrary from 'stoppable'; -export const stoppable = stoppableLibrary; - -import enquirerLibrary from 'enquirer'; -export const enquirer = enquirerLibrary; - -import chokidarLibrary from 'chokidar'; -export const chokidar = chokidarLibrary; - -import * as getEastAsianWidthLibrary from 'get-east-asian-width'; -export const getEastAsianWidth = getEastAsianWidthLibrary; diff --git a/packages/playwright/package.json b/packages/playwright/package.json index f34e60af14c88..1671d4ba405f8 100644 --- a/packages/playwright/package.json +++ b/packages/playwright/package.json @@ -37,7 +37,6 @@ "default": "./jsx-runtime.js" }, "./lib/util": "./lib/util.js", - "./lib/utilsBundle": "./lib/utilsBundle.js", "./types/test": { "types": "./types/test.d.ts" }, diff --git a/packages/playwright/src/DEPS.list b/packages/playwright/src/DEPS.list index 6d3615f364f26..81ae6218f6b4e 100644 --- a/packages/playwright/src/DEPS.list +++ b/packages/playwright/src/DEPS.list @@ -1,9 +1,12 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** common/ ./util.ts -./utilsBundle.ts +node_modules/commander +node_modules/debug +node_modules/mime +node_modules/minimatch [program.ts] ** diff --git a/packages/playwright/src/agents/DEPS.list b/packages/playwright/src/agents/DEPS.list index 8e77643e06dc9..f4d799271f0a7 100644 --- a/packages/playwright/src/agents/DEPS.list +++ b/packages/playwright/src/agents/DEPS.list @@ -1,8 +1,10 @@ [*] -@serverUtils/** +@utils/** ../mcp/sdk/ ../mcp/test/ ../common/ +node_modules/colors/safe +node_modules/yaml [generateAgents.ts] ../mcp/test/ diff --git a/packages/playwright/src/agents/agentParser.ts b/packages/playwright/src/agents/agentParser.ts index 1e39c94782865..8335119ea9443 100644 --- a/packages/playwright/src/agents/agentParser.ts +++ b/packages/playwright/src/agents/agentParser.ts @@ -16,8 +16,7 @@ import fs from 'fs'; -import { yaml } from 'playwright-core/lib/utilsBundle'; - +import yaml from 'yaml'; type AgentSpecHeader = { name: string; description: string; diff --git a/packages/playwright/src/agents/generateAgents.ts b/packages/playwright/src/agents/generateAgents.ts index e2f40d58a66fd..fb5d5fc6a2ff2 100644 --- a/packages/playwright/src/agents/generateAgents.ts +++ b/packages/playwright/src/agents/generateAgents.ts @@ -17,9 +17,9 @@ import fs from 'fs'; import path from 'path'; -import { colors, yaml } from 'playwright-core/lib/utilsBundle'; - -import { mkdirIfNeeded } from '@serverUtils/fileUtils'; +import colors from 'colors/safe'; +import yaml from 'yaml'; +import { mkdirIfNeeded } from '@utils/fileUtils'; import { FullConfigInternal } from '../common/config'; import { defaultSeedFile, findSeedFile, seedFileContent, seedProject } from '../mcp/test/seed'; diff --git a/packages/playwright/src/cli/DEPS.list b/packages/playwright/src/cli/DEPS.list index e31a5e6302e42..74a8123ffffa3 100644 --- a/packages/playwright/src/cli/DEPS.list +++ b/packages/playwright/src/cli/DEPS.list @@ -1,5 +1,5 @@ [*] ../runner/ ../reporters/ -@serverUtils/** +@utils/** ../common/ diff --git a/packages/playwright/src/cli/reportActions.ts b/packages/playwright/src/cli/reportActions.ts index ab0a7667aa8e3..f66c297e112c0 100644 --- a/packages/playwright/src/cli/reportActions.ts +++ b/packages/playwright/src/cli/reportActions.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { gracefullyProcessExitDoNotHang } from '@serverUtils/processLauncher'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { builtInReporters, defaultReporter } from '../common/config'; import { loadConfigFromFile, loadEmptyConfigForMergeReports } from '../common/configLoader'; import { showHTMLReport } from '../reporters/html'; diff --git a/packages/playwright/src/cli/testActions.ts b/packages/playwright/src/cli/testActions.ts index 9694fa0ac6d20..235f121c496cf 100644 --- a/packages/playwright/src/cli/testActions.ts +++ b/packages/playwright/src/cli/testActions.ts @@ -17,8 +17,8 @@ import fs from 'fs'; import path from 'path'; -import { gracefullyProcessExitDoNotHang } from '@serverUtils/processLauncher'; -import { startProfiling, stopProfiling } from '@serverUtils/profiler'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; +import { startProfiling, stopProfiling } from '@utils/profiler'; import { builtInReporters } from '../common/config'; import { loadConfigFromFile, resolveConfigLocation } from '../common/configLoader'; diff --git a/packages/playwright/src/common/DEPS.list b/packages/playwright/src/common/DEPS.list index b9d8643a30284..a1b75b25b6da5 100644 --- a/packages/playwright/src/common/DEPS.list +++ b/packages/playwright/src/common/DEPS.list @@ -1,6 +1,6 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../util.ts ../transform ../isomorphic/teleReceiver.ts diff --git a/packages/playwright/src/common/process.ts b/packages/playwright/src/common/process.ts index d412c3f5029f6..b26d94b99c41e 100644 --- a/packages/playwright/src/common/process.ts +++ b/packages/playwright/src/common/process.ts @@ -18,7 +18,7 @@ import 'playwright-core/lib/bootstrap'; import { ManualPromise } from '@isomorphic/manualPromise'; import { setTimeOrigin } from '@isomorphic/time'; -import { startProfiling, stopProfiling } from '@serverUtils/profiler'; +import { startProfiling, stopProfiling } from '@utils/profiler'; import { serializeError } from '../util'; diff --git a/packages/playwright/src/common/suiteUtils.ts b/packages/playwright/src/common/suiteUtils.ts index 651fa4af20a8d..6c7128cca6cf9 100644 --- a/packages/playwright/src/common/suiteUtils.ts +++ b/packages/playwright/src/common/suiteUtils.ts @@ -16,8 +16,8 @@ import path from 'path'; -import { calculateSha1 } from '@serverUtils/crypto'; -import { toPosixPath } from '@serverUtils/fileUtils'; +import { calculateSha1 } from '@utils/crypto'; +import { toPosixPath } from '@utils/fileUtils'; import { createFileMatcher, forceRegExp, parseLocationArg } from '../util'; diff --git a/packages/playwright/src/common/testType.ts b/packages/playwright/src/common/testType.ts index 773ee29a2f3bf..04b35e15a2649 100644 --- a/packages/playwright/src/common/testType.ts +++ b/packages/playwright/src/common/testType.ts @@ -18,8 +18,8 @@ import { errors } from 'playwright-core'; import { monotonicTime } from '@isomorphic/time'; import { raceAgainstDeadline } from '@isomorphic/timeoutRunner'; -import { getPackageManagerExecCommand } from '@serverUtils/env'; -import { currentZone } from '@serverUtils/zones'; +import { getPackageManagerExecCommand } from '@utils/env'; +import { currentZone } from '@utils/zones'; import { currentTestInfo, currentlyLoadingFileSuite, setCurrentlyLoadingFileSuite } from './globals'; import { Suite, TestCase } from './test'; diff --git a/packages/playwright/src/index.ts b/packages/playwright/src/index.ts index b448bd57739a3..2233871619f98 100644 --- a/packages/playwright/src/index.ts +++ b/packages/playwright/src/index.ts @@ -21,11 +21,11 @@ import * as playwrightLibrary from 'playwright-core'; import { asLocatorDescription } from '@isomorphic/locatorGenerators'; import { getActionGroup, renderTitleForCall } from '@isomorphic/protocolFormatter'; import { escapeHTML } from '@isomorphic/stringUtils'; -import { jsonStringifyForceASCII } from '@serverUtils/ascii'; -import { createGuid } from '@serverUtils/crypto'; -import { debugMode } from '@serverUtils/debug'; -import { setBoxedStackPrefixes } from '@serverUtils/nodePlatform'; -import { currentZone } from '@serverUtils/zones'; +import { jsonStringifyForceASCII } from '@utils/ascii'; +import { createGuid } from '@utils/crypto'; +import { debugMode } from '@utils/debug'; +import { setBoxedStackPrefixes } from '@utils/nodePlatform'; +import { currentZone } from '@utils/zones'; import { buildErrorContext } from './errorContext'; import { currentTestInfo } from './common/globals'; import { rootTestType } from './common/testType'; diff --git a/packages/playwright/src/matchers/DEPS.list b/packages/playwright/src/matchers/DEPS.list index 678945834e310..73e44a39d451c 100644 --- a/packages/playwright/src/matchers/DEPS.list +++ b/packages/playwright/src/matchers/DEPS.list @@ -1,7 +1,8 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../common/ ../mcp/test/browserBackend.ts ../util.ts ../worker/testInfo.ts +node_modules/colors/safe diff --git a/packages/playwright/src/matchers/expect.ts b/packages/playwright/src/matchers/expect.ts index df7b0dd4301fa..c938fd4abe67f 100644 --- a/packages/playwright/src/matchers/expect.ts +++ b/packages/playwright/src/matchers/expect.ts @@ -17,8 +17,8 @@ import { captureRawStack } from '@isomorphic/stackTrace'; import { escapeWithQuotes, isString } from '@isomorphic/stringUtils'; import { pollAgainstDeadline } from '@isomorphic/timeoutRunner'; -import { createGuid } from '@serverUtils/crypto'; -import { currentZone } from '@serverUtils/zones'; +import { createGuid } from '@utils/crypto'; +import { currentZone } from '@utils/zones'; import { ExpectError, isJestError } from './matcherHint'; import { diff --git a/packages/playwright/src/matchers/matchers.ts b/packages/playwright/src/matchers/matchers.ts index 0c96eaff620ae..990fc05f3343c 100644 --- a/packages/playwright/src/matchers/matchers.ts +++ b/packages/playwright/src/matchers/matchers.ts @@ -14,15 +14,14 @@ * limitations under the License. */ -import { colors } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; import { asLocatorDescription } from '@isomorphic/locatorGenerators'; import { isTextualMimeType } from '@isomorphic/mimeType'; import { isRegExp } from '@isomorphic/rtti'; import { isString } from '@isomorphic/stringUtils'; import { pollAgainstDeadline } from '@isomorphic/timeoutRunner'; import { constructURLBasedOnBaseURL, isURLPattern } from '@isomorphic/urlMatch'; -import { formatMatcherMessage, serializeExpectedTextValues } from '@serverUtils/expectUtils'; +import { formatMatcherMessage, serializeExpectedTextValues } from '@utils/expectUtils'; import { expectTypes } from '../util'; import { toBeTruthy } from './toBeTruthy'; @@ -40,7 +39,7 @@ import type { TestStepInfoImpl } from '../worker/testInfo'; import type { APIResponse, Locator, Frame, Page } from 'playwright-core'; import type { FrameExpectParams } from 'playwright-core/lib/client/types'; import type { ExpectMatcherUtils } from '../../types/test'; -import type { InternalMatcherUtils } from '@serverUtils/expectUtils'; +import type { InternalMatcherUtils } from '@utils/expectUtils'; import type { URLPattern } from '@isomorphic/urlMatch'; export type ExpectMatcherStateInternal = Omit & { diff --git a/packages/playwright/src/matchers/toBeTruthy.ts b/packages/playwright/src/matchers/toBeTruthy.ts index 6fcaa8a3a2e5b..9c22fe2a0fd83 100644 --- a/packages/playwright/src/matchers/toBeTruthy.ts +++ b/packages/playwright/src/matchers/toBeTruthy.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { formatMatcherMessage } from '@serverUtils/expectUtils'; +import { formatMatcherMessage } from '@utils/expectUtils'; import { expectTypes } from '../util'; diff --git a/packages/playwright/src/matchers/toEqual.ts b/packages/playwright/src/matchers/toEqual.ts index 63e3fffb57fa3..a49473a85c9d0 100644 --- a/packages/playwright/src/matchers/toEqual.ts +++ b/packages/playwright/src/matchers/toEqual.ts @@ -15,7 +15,7 @@ */ import { isRegExp } from '@isomorphic/rtti'; -import { formatMatcherMessage } from '@serverUtils/expectUtils'; +import { formatMatcherMessage } from '@utils/expectUtils'; import { expectTypes } from '../util'; diff --git a/packages/playwright/src/matchers/toHaveURL.ts b/packages/playwright/src/matchers/toHaveURL.ts index 8f9e266b205c3..5395d27d035ad 100644 --- a/packages/playwright/src/matchers/toHaveURL.ts +++ b/packages/playwright/src/matchers/toHaveURL.ts @@ -15,7 +15,7 @@ */ import { urlMatches } from '@isomorphic/urlMatch'; -import { formatMatcherMessage, printReceivedStringContainExpectedResult } from '@serverUtils/expectUtils'; +import { formatMatcherMessage, printReceivedStringContainExpectedResult } from '@utils/expectUtils'; import type { MatcherResult } from './matcherHint'; import type { Page } from 'playwright-core'; diff --git a/packages/playwright/src/matchers/toMatchAriaSnapshot.ts b/packages/playwright/src/matchers/toMatchAriaSnapshot.ts index 1c3db807c4a68..3912bdd071611 100644 --- a/packages/playwright/src/matchers/toMatchAriaSnapshot.ts +++ b/packages/playwright/src/matchers/toMatchAriaSnapshot.ts @@ -19,7 +19,7 @@ import fs from 'fs'; import path from 'path'; import { escapeTemplateString, isString } from '@isomorphic/stringUtils'; -import { formatMatcherMessage, printReceivedStringContainExpectedSubstring } from '@serverUtils/expectUtils'; +import { formatMatcherMessage, printReceivedStringContainExpectedSubstring } from '@utils/expectUtils'; import { expectTypes, fileExistsAsync } from '../util'; import { currentTestInfo } from '../common/globals'; diff --git a/packages/playwright/src/matchers/toMatchSnapshot.ts b/packages/playwright/src/matchers/toMatchSnapshot.ts index ed06702da4d8c..8d40649fe70e7 100644 --- a/packages/playwright/src/matchers/toMatchSnapshot.ts +++ b/packages/playwright/src/matchers/toMatchSnapshot.ts @@ -17,12 +17,11 @@ import fs from 'fs'; import path from 'path'; -import { colors } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; import { getMimeTypeForPath } from '@isomorphic/mimeType'; import { isString } from '@isomorphic/stringUtils'; -import { compareBuffersOrStrings, getComparator } from '@serverUtils/comparators'; -import { callLogText, formatMatcherMessage } from '@serverUtils/expectUtils'; +import { compareBuffersOrStrings, getComparator } from '@utils/comparators'; +import { callLogText, formatMatcherMessage } from '@utils/expectUtils'; import { addSuffixToFilePath, expectTypes } from '../util'; import { currentTestInfo } from '../common/globals'; @@ -33,7 +32,7 @@ import type { FullProjectInternal } from '../common/config'; import type { TestInfoImpl, TestStepInfoImpl } from '../worker/testInfo'; import type { Locator, Page } from 'playwright-core'; import type { ExpectScreenshotOptions, Page as PageEx } from 'playwright-core/lib/client/page'; -import type { Comparator, ImageComparatorOptions } from '@serverUtils/comparators'; +import type { Comparator, ImageComparatorOptions } from '@utils/comparators'; type NameOrSegments = string | string[]; diff --git a/packages/playwright/src/matchers/toMatchText.ts b/packages/playwright/src/matchers/toMatchText.ts index 6ed27914f45dc..bff1132654593 100644 --- a/packages/playwright/src/matchers/toMatchText.ts +++ b/packages/playwright/src/matchers/toMatchText.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { formatMatcherMessage, printReceivedStringContainExpectedResult, printReceivedStringContainExpectedSubstring } from '@serverUtils/expectUtils'; +import { formatMatcherMessage, printReceivedStringContainExpectedResult, printReceivedStringContainExpectedSubstring } from '@utils/expectUtils'; import { expectTypes } from '../util'; diff --git a/packages/playwright/src/mcp/test/DEPS.list b/packages/playwright/src/mcp/test/DEPS.list index 7cbd5ac0cd70f..e50e0ae051f08 100644 --- a/packages/playwright/src/mcp/test/DEPS.list +++ b/packages/playwright/src/mcp/test/DEPS.list @@ -1,9 +1,12 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../../reporters ../../runner ../../transform ../../util ../../common ../../util.ts +node_modules/@modelcontextprotocol/sdk/types.js +node_modules/debug +node_modules/zod diff --git a/packages/playwright/src/mcp/test/generatorTools.ts b/packages/playwright/src/mcp/test/generatorTools.ts index 15932fc7567d2..4b8e5cb12b33a 100644 --- a/packages/playwright/src/mcp/test/generatorTools.ts +++ b/packages/playwright/src/mcp/test/generatorTools.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { z } from 'playwright-core/lib/zodBundle'; +import * as z from 'zod'; import { defineTestTool } from './testTool'; import { GeneratorJournal } from './testContext'; diff --git a/packages/playwright/src/mcp/test/plannerTools.ts b/packages/playwright/src/mcp/test/plannerTools.ts index 2c725691b9d26..1e6e9deaf8eba 100644 --- a/packages/playwright/src/mcp/test/plannerTools.ts +++ b/packages/playwright/src/mcp/test/plannerTools.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { z } from 'playwright-core/lib/zodBundle'; +import * as z from 'zod'; import { defineTestTool } from './testTool'; export const setupPage = defineTestTool({ diff --git a/packages/playwright/src/mcp/test/seed.ts b/packages/playwright/src/mcp/test/seed.ts index 8b4ca5092ce3d..b7519960fbb1c 100644 --- a/packages/playwright/src/mcp/test/seed.ts +++ b/packages/playwright/src/mcp/test/seed.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { mkdirIfNeeded } from '@serverUtils/fileUtils'; +import { mkdirIfNeeded } from '@utils/fileUtils'; import { collectFilesForProject, findTopLevelProjects } from '../../runner/projectUtils'; diff --git a/packages/playwright/src/mcp/test/testBackend.ts b/packages/playwright/src/mcp/test/testBackend.ts index 40494d8af5de0..8b40a509047dc 100644 --- a/packages/playwright/src/mcp/test/testBackend.ts +++ b/packages/playwright/src/mcp/test/testBackend.ts @@ -16,7 +16,7 @@ import EventEmitter from 'events'; -import { z as zod } from 'playwright-core/lib/zodBundle'; +import * as zod from 'zod'; import { tools } from 'playwright-core/lib/coreBundle'; import { TestContext } from './testContext'; diff --git a/packages/playwright/src/mcp/test/testContext.ts b/packages/playwright/src/mcp/test/testContext.ts index 22f35572d7911..f4de9aa245118 100644 --- a/packages/playwright/src/mcp/test/testContext.ts +++ b/packages/playwright/src/mcp/test/testContext.ts @@ -19,12 +19,11 @@ import os from 'os'; import path from 'path'; import { tools } from 'playwright-core/lib/coreBundle'; -import { debug } from 'playwright-core/lib/utilsBundle'; - +import debug from 'debug'; import { noColors } from '@isomorphic/colors'; import { ManualPromise } from '@isomorphic/manualPromise'; import { escapeRegExp } from '@isomorphic/stringUtils'; -import { toPosixPath } from '@serverUtils/fileUtils'; +import { toPosixPath } from '@utils/fileUtils'; import { terminalScreen } from '../../reporters/base'; import ListReporter from '../../reporters/list'; diff --git a/packages/playwright/src/mcp/test/testTools.ts b/packages/playwright/src/mcp/test/testTools.ts index eb7c9f7f6c1c8..477435300655a 100644 --- a/packages/playwright/src/mcp/test/testTools.ts +++ b/packages/playwright/src/mcp/test/testTools.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { z } from 'playwright-core/lib/zodBundle'; +import * as z from 'zod'; import ListModeReporter from '../../reporters/listModeReporter'; import { defineTestTool } from './testTool'; diff --git a/packages/playwright/src/plugins/DEPS.list b/packages/playwright/src/plugins/DEPS.list index ba0907d5c4978..c44346b2311de 100644 --- a/packages/playwright/src/plugins/DEPS.list +++ b/packages/playwright/src/plugins/DEPS.list @@ -1,5 +1,7 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../common/ ../util.ts +node_modules/colors/safe +node_modules/debug diff --git a/packages/playwright/src/plugins/gitCommitInfoPlugin.ts b/packages/playwright/src/plugins/gitCommitInfoPlugin.ts index 7713911fc692b..c1eb13cc56b71 100644 --- a/packages/playwright/src/plugins/gitCommitInfoPlugin.ts +++ b/packages/playwright/src/plugins/gitCommitInfoPlugin.ts @@ -17,7 +17,7 @@ import * as fs from 'fs'; import { monotonicTime } from '@isomorphic/time'; -import { spawnAsync } from '@serverUtils/spawnAsync'; +import { spawnAsync } from '@utils/spawnAsync'; import type { TestRunnerPlugin } from './'; import type { FullConfig } from '../../types/testReporter'; diff --git a/packages/playwright/src/plugins/webServerPlugin.ts b/packages/playwright/src/plugins/webServerPlugin.ts index 4ec11a531b3f0..cce151ab1242b 100644 --- a/packages/playwright/src/plugins/webServerPlugin.ts +++ b/packages/playwright/src/plugins/webServerPlugin.ts @@ -16,13 +16,13 @@ import net from 'net'; import path from 'path'; -import { colors, debug } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; +import debug from 'debug'; import { ManualPromise } from '@isomorphic/manualPromise'; import { monotonicTime } from '@isomorphic/time'; import { raceAgainstDeadline } from '@isomorphic/timeoutRunner'; -import { isURLAvailable } from '@serverUtils/network'; -import { launchProcess } from '@serverUtils/processLauncher'; +import { isURLAvailable } from '@utils/network'; +import { launchProcess } from '@utils/processLauncher'; import type { TestRunnerPlugin } from '.'; import type { FullConfig } from '../../types/testReporter'; diff --git a/packages/playwright/src/program.ts b/packages/playwright/src/program.ts index e212cb165b1b9..3a5a001204aca 100644 --- a/packages/playwright/src/program.ts +++ b/packages/playwright/src/program.ts @@ -19,9 +19,8 @@ import 'playwright-core/lib/bootstrap'; import { libCli, tools } from 'playwright-core/lib/coreBundle'; -import { program } from 'playwright-core/lib/utilsBundle'; - -import { gracefullyProcessExitDoNotHang } from '@serverUtils/processLauncher'; +import { program } from 'commander'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { builtInReporters, defaultReporter, defaultTimeout } from './common/config'; import { runTests, clearCache, runTestServerAction } from './cli/testActions'; import { showReport, mergeReports } from './cli/reportActions'; diff --git a/packages/playwright/src/reporters/DEPS.list b/packages/playwright/src/reporters/DEPS.list index 475a0c25ac077..0703852e3efe5 100644 --- a/packages/playwright/src/reporters/DEPS.list +++ b/packages/playwright/src/reporters/DEPS.list @@ -1,10 +1,14 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../common/** ../isomorphic/** ../util.ts -../utilsBundle.ts +node_modules/colors/safe +node_modules/get-east-asian-width +node_modules/mime +node_modules/open +node_modules/yazl [merge.ts] ../runner/reporters.ts diff --git a/packages/playwright/src/reporters/base.ts b/packages/playwright/src/reporters/base.ts index 6a6f58124cac3..3a28b4993de4f 100644 --- a/packages/playwright/src/reporters/base.ts +++ b/packages/playwright/src/reporters/base.ts @@ -16,15 +16,14 @@ import path from 'path'; -import { colors as realColors } from 'playwright-core/lib/utilsBundle'; - +import realColors from 'colors/safe'; +import * as getEastAsianWidth from 'get-east-asian-width'; import { noColors } from '@isomorphic/colors'; import { msToString } from '@isomorphic/formatUtils'; import { parseErrorStack } from '@isomorphic/stackTrace'; -import { getPackageManagerExecCommand } from '@serverUtils/env'; +import { getPackageManagerExecCommand } from '@utils/env'; import { ansiRegex, resolveReporterOutputPath, stripAnsiEscapes } from '../util'; -import { getEastAsianWidth } from '../utilsBundle'; import type { ReporterV2 } from './reporterV2'; import type { FullConfig, FullResult, Location, Suite, TestCase, TestError, TestResult, TestStep } from '../../types/testReporter'; diff --git a/packages/playwright/src/reporters/blob.ts b/packages/playwright/src/reporters/blob.ts index b0a5797e923fa..25bc6e31d0d43 100644 --- a/packages/playwright/src/reporters/blob.ts +++ b/packages/playwright/src/reporters/blob.ts @@ -18,13 +18,12 @@ import fs from 'fs'; import path from 'path'; import { Readable } from 'stream'; -import { mime } from 'playwright-core/lib/utilsBundle'; -import { yazl } from 'playwright-core/lib/zipBundle'; - +import mime from 'mime'; +import * as yazl from 'yazl'; import { ManualPromise } from '@isomorphic/manualPromise'; -import { calculateSha1, createGuid } from '@serverUtils/crypto'; -import { removeFolders, sanitizeForFilePath } from '@serverUtils/fileUtils'; -import { getUserAgent } from '@serverUtils/userAgent'; +import { calculateSha1, createGuid } from '@utils/crypto'; +import { removeFolders, sanitizeForFilePath } from '@utils/fileUtils'; +import { getUserAgent } from '@utils/userAgent'; import { resolveOutputFile, CommonReporterOptions } from './base'; import { TeleReporterEmitter } from './teleEmitter'; diff --git a/packages/playwright/src/reporters/html.ts b/packages/playwright/src/reporters/html.ts index 3c9c8bcd80e1a..7e8fc1daa2dd6 100644 --- a/packages/playwright/src/reporters/html.ts +++ b/packages/playwright/src/reporters/html.ts @@ -18,16 +18,17 @@ import fs from 'fs'; import path from 'path'; import { Transform } from 'stream'; -import { colors, mime, open } from 'playwright-core/lib/utilsBundle'; -import { yazl } from 'playwright-core/lib/zipBundle'; - +import colors from 'colors/safe'; +import mime from 'mime'; +import open from 'open'; +import * as yazl from 'yazl'; import { assert } from '@isomorphic/assert'; import { MultiMap } from '@isomorphic/multimap'; -import { calculateSha1 } from '@serverUtils/crypto'; -import { copyFileAndMakeWritable, removeFolders, sanitizeForFilePath, toPosixPath } from '@serverUtils/fileUtils'; -import { getPackageManagerExecCommand } from '@serverUtils/env'; -import { HttpServer } from '@serverUtils/httpServer'; -import { gracefullyProcessExitDoNotHang } from '@serverUtils/processLauncher'; +import { calculateSha1 } from '@utils/crypto'; +import { copyFileAndMakeWritable, removeFolders, sanitizeForFilePath, toPosixPath } from '@utils/fileUtils'; +import { getPackageManagerExecCommand } from '@utils/env'; +import { HttpServer } from '@utils/httpServer'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { CommonReporterOptions, formatError, formatResultFailure, internalScreen } from './base'; import { codeFrameColumns } from '../transform/babelBundle'; @@ -38,7 +39,7 @@ import type { HtmlReporterOptions as HtmlReporterConfigOptions, Metadata, TestAn import type * as api from '../../types/testReporter'; import type { HTMLReport, HTMLReportOptions, Location, Stats, TestAttachment, TestCase, TestCaseSummary, TestFile, TestFileSummary, TestResult, TestStep } from '@html-reporter/types'; import type { TransformCallback } from 'stream'; -import type { ZipFile } from 'playwright-core/lib/zipBundle'; +import type { ZipFile } from 'playwright-core/lib/utilsBundle'; type TestEntry = { testCase: TestCase; @@ -265,7 +266,7 @@ class HtmlBuilder { private _options: HTMLReportOptions; private _doNotInlineAssets: boolean; - constructor(yazl: typeof import('playwright-core/lib/zipBundle').yazl, config: api.FullConfig, outputDir: string, attachmentsBaseURL: string, doNotInlineAssets: boolean, options: HTMLReportOptions) { + constructor(yazl: typeof import('playwright-core/lib/utilsBundle').yazl, config: api.FullConfig, outputDir: string, attachmentsBaseURL: string, doNotInlineAssets: boolean, options: HTMLReportOptions) { this._dataZipFile = new yazl.ZipFile(); this._config = config; this._reportFolder = outputDir; diff --git a/packages/playwright/src/reporters/json.ts b/packages/playwright/src/reporters/json.ts index 25f1326bcc9e8..364113007f3d5 100644 --- a/packages/playwright/src/reporters/json.ts +++ b/packages/playwright/src/reporters/json.ts @@ -18,7 +18,7 @@ import fs from 'fs'; import path from 'path'; import { MultiMap } from '@isomorphic/multimap'; -import { toPosixPath } from '@serverUtils/fileUtils'; +import { toPosixPath } from '@utils/fileUtils'; import { formatError, nonTerminalScreen, prepareErrorStack, resolveOutputFile, CommonReporterOptions } from './base'; import { getProjectId } from '../common/config'; diff --git a/packages/playwright/src/reporters/junit.ts b/packages/playwright/src/reporters/junit.ts index 1177a5a51561d..c5a516274eda0 100644 --- a/packages/playwright/src/reporters/junit.ts +++ b/packages/playwright/src/reporters/junit.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { getAsBooleanFromENV } from '@serverUtils/env'; +import { getAsBooleanFromENV } from '@utils/env'; import { CommonReporterOptions, formatFailure, nonTerminalScreen, resolveOutputFile } from './base'; import { stripAnsiEscapes } from '../util'; diff --git a/packages/playwright/src/reporters/list.ts b/packages/playwright/src/reporters/list.ts index 33f62f8123c5b..198070281b432 100644 --- a/packages/playwright/src/reporters/list.ts +++ b/packages/playwright/src/reporters/list.ts @@ -15,7 +15,7 @@ */ import { msToString } from '@isomorphic/formatUtils'; -import { getAsBooleanFromENV } from '@serverUtils/env'; +import { getAsBooleanFromENV } from '@utils/env'; import { markErrorsAsReported, TerminalReporter, stepSuffix } from './base'; import { stripAnsiEscapes } from '../util'; diff --git a/packages/playwright/src/reporters/merge.ts b/packages/playwright/src/reporters/merge.ts index cf0439aa57282..f80ab975cd1e6 100644 --- a/packages/playwright/src/reporters/merge.ts +++ b/packages/playwright/src/reporters/merge.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { ZipFile } from '@serverUtils/zipFile'; +import { ZipFile } from '@utils/zipFile'; import { currentBlobReportVersion } from './blob'; import { Multiplexer } from './multiplexer'; diff --git a/packages/playwright/src/reporters/teleEmitter.ts b/packages/playwright/src/reporters/teleEmitter.ts index b1ab338dd7d1d..9bd1b414e2d0d 100644 --- a/packages/playwright/src/reporters/teleEmitter.ts +++ b/packages/playwright/src/reporters/teleEmitter.ts @@ -16,7 +16,7 @@ import path from 'path'; -import { createGuid } from '@serverUtils/crypto'; +import { createGuid } from '@utils/crypto'; import { serializeRegexPatterns } from '../isomorphic/teleReceiver'; diff --git a/packages/playwright/src/runner/DEPS.list b/packages/playwright/src/runner/DEPS.list index 63b99bb1a7183..805280a750963 100644 --- a/packages/playwright/src/runner/DEPS.list +++ b/packages/playwright/src/runner/DEPS.list @@ -1,6 +1,6 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../../types.ts ../common/ ../reporters/ @@ -8,6 +8,13 @@ ../transform/ ../plugins/ ../util.ts -../utilsBundle.ts ../isomorphic/ ../fsWatcher.ts +node_modules/chokidar +node_modules/colors/safe +node_modules/debug +node_modules/diff +node_modules/enquirer +node_modules/minimatch +node_modules/open +node_modules/source-map-support diff --git a/packages/playwright/src/runner/dispatcher.ts b/packages/playwright/src/runner/dispatcher.ts index a8fe019e8cde0..6888b95a96d06 100644 --- a/packages/playwright/src/runner/dispatcher.ts +++ b/packages/playwright/src/runner/dispatcher.ts @@ -14,10 +14,9 @@ * limitations under the License. */ -import { colors } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; import { ManualPromise } from '@isomorphic/manualPromise'; -import { eventsHelper } from '@serverUtils/eventsHelper'; +import { eventsHelper } from '@utils/eventsHelper'; import { addSuggestedRebaseline } from './rebase'; import { WorkerHost } from './workerHost'; @@ -25,7 +24,7 @@ import { serializeConfig } from '../common/ipc'; import { addLocationAndSnippetToError } from '../reporters/internalReporter'; import { serializeError } from '../util'; -import type { RegisteredListener } from '@serverUtils/eventsHelper'; +import type { RegisteredListener } from '@utils/eventsHelper'; import type { FailureTracker } from './failureTracker'; import type { ProcessExitData } from './processHost'; import type { TestGroup } from './testGroups'; diff --git a/packages/playwright/src/runner/fsWatcher.ts b/packages/playwright/src/runner/fsWatcher.ts index bdfa2d75c6023..dbb47654c9bdf 100644 --- a/packages/playwright/src/runner/fsWatcher.ts +++ b/packages/playwright/src/runner/fsWatcher.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { chokidar } from '../utilsBundle'; - +import chokidar from 'chokidar'; import type { FSWatcher as ChokidarWatcher } from 'chokidar'; export type FSEvent = { event: 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir', file: string }; diff --git a/packages/playwright/src/runner/loadUtils.ts b/packages/playwright/src/runner/loadUtils.ts index 26fcf12070cf9..83335d386c10e 100644 --- a/packages/playwright/src/runner/loadUtils.ts +++ b/packages/playwright/src/runner/loadUtils.ts @@ -17,10 +17,10 @@ import path from 'path'; import fs from 'fs'; -import { toPosixPath } from '@serverUtils/fileUtils'; +import sourceMapSupport from 'source-map-support'; +import { toPosixPath } from '@utils/fileUtils'; import { InProcessLoaderHost, OutOfProcessLoaderHost } from './loaderHost'; -import { sourceMapSupport } from '../utilsBundle'; import { createTitleMatcher, errorWithFile, parseLocationArg } from '../util'; import { buildProjectsClosure, collectFilesForProject, filterProjects } from './projectUtils'; import { createTestGroups, filterForShard } from './testGroups'; @@ -29,7 +29,7 @@ import { Suite } from '../common/test'; import { dependenciesForTestFile } from '../transform/compilationCache'; import { requireOrImport } from '../transform/transform'; -import type { RawSourceMap } from '../utilsBundle'; +import type { RawSourceMap } from 'playwright-core/lib/utilsBundle'; import type { TestRun } from './tasks'; import type { TestGroup } from './testGroups'; import type { FullConfig, Reporter, TestError } from '../../types/testReporter'; diff --git a/packages/playwright/src/runner/processHost.ts b/packages/playwright/src/runner/processHost.ts index e8f5e5a5cf12f..546d4b80da144 100644 --- a/packages/playwright/src/runner/processHost.ts +++ b/packages/playwright/src/runner/processHost.ts @@ -17,8 +17,7 @@ import child_process from 'child_process'; import { EventEmitter } from 'events'; -import { debug } from 'playwright-core/lib/utilsBundle'; - +import debug from 'debug'; import { assert } from '@isomorphic/assert'; import { timeOrigin } from '@isomorphic/time'; diff --git a/packages/playwright/src/runner/projectUtils.ts b/packages/playwright/src/runner/projectUtils.ts index c2f1b4ce46590..054f7dc36fa5d 100644 --- a/packages/playwright/src/runner/projectUtils.ts +++ b/packages/playwright/src/runner/projectUtils.ts @@ -18,8 +18,7 @@ import fs from 'fs'; import path from 'path'; import { promisify } from 'util'; -import { minimatch } from 'playwright-core/lib/utilsBundle'; - +import minimatch from 'minimatch'; import { escapeRegExp } from '@isomorphic/stringUtils'; import { createFileMatcher } from '../util'; diff --git a/packages/playwright/src/runner/rebase.ts b/packages/playwright/src/runner/rebase.ts index fc2e20b81b33c..72f188b12a5f9 100644 --- a/packages/playwright/src/runner/rebase.ts +++ b/packages/playwright/src/runner/rebase.ts @@ -17,7 +17,8 @@ import fs from 'fs'; import path from 'path'; -import { colors, diff } from 'playwright-core/lib/utilsBundle'; +import colors from 'colors/safe'; +import * as diff from 'diff'; import { MultiMap } from '@isomorphic/multimap'; import { filterProjects } from './projectUtils'; diff --git a/packages/playwright/src/runner/reporters.ts b/packages/playwright/src/runner/reporters.ts index 67320be8588ca..c11bdc937d18f 100644 --- a/packages/playwright/src/runner/reporters.ts +++ b/packages/playwright/src/runner/reporters.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import fs from 'fs'; -import { calculateSha1 } from '@serverUtils/crypto'; +import { calculateSha1 } from '@utils/crypto'; import { loadReporter } from './loadUtils'; import { formatError } from '../reporters/base'; diff --git a/packages/playwright/src/runner/taskRunner.ts b/packages/playwright/src/runner/taskRunner.ts index 8b3116dac900d..0cc9284cfc05a 100644 --- a/packages/playwright/src/runner/taskRunner.ts +++ b/packages/playwright/src/runner/taskRunner.ts @@ -14,8 +14,8 @@ * limitations under the License. */ -import { colors, debug } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; +import debug from 'debug'; import { ManualPromise } from '@isomorphic/manualPromise'; import { monotonicTime } from '@isomorphic/time'; diff --git a/packages/playwright/src/runner/tasks.ts b/packages/playwright/src/runner/tasks.ts index c0a544579c9cc..651e240099604 100644 --- a/packages/playwright/src/runner/tasks.ts +++ b/packages/playwright/src/runner/tasks.ts @@ -18,11 +18,10 @@ import fs from 'fs'; import path from 'path'; import { promisify } from 'util'; -import { debug } from 'playwright-core/lib/utilsBundle'; - +import debug from 'debug'; import { ManualPromise } from '@isomorphic/manualPromise'; import { monotonicTime } from '@isomorphic/time'; -import { removeFolders } from '@serverUtils/fileUtils'; +import { removeFolders } from '@utils/fileUtils'; import { Dispatcher } from './dispatcher'; import { FailureTracker } from './failureTracker'; diff --git a/packages/playwright/src/runner/testRunner.ts b/packages/playwright/src/runner/testRunner.ts index bf27975734b38..5c886e5813127 100644 --- a/packages/playwright/src/runner/testRunner.ts +++ b/packages/playwright/src/runner/testRunner.ts @@ -21,8 +21,8 @@ import path from 'path'; import { registry } from 'playwright-core/lib/coreBundle'; import { ManualPromise } from '@isomorphic/manualPromise'; -import { setPlaywrightTestProcessEnv } from '@serverUtils/env'; -import { gracefullyProcessExitDoNotHang } from '@serverUtils/processLauncher'; +import { setPlaywrightTestProcessEnv } from '@utils/env'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { loadConfig } from '../common/configLoader'; import { FSWatcher } from './fsWatcher'; diff --git a/packages/playwright/src/runner/testServer.ts b/packages/playwright/src/runner/testServer.ts index 9fd07c6ba6b3d..3101ee202231e 100644 --- a/packages/playwright/src/runner/testServer.ts +++ b/packages/playwright/src/runner/testServer.ts @@ -17,12 +17,12 @@ import util from 'util'; import { sever } from 'playwright-core/lib/coreBundle'; -import { debug, open } from 'playwright-core/lib/utilsBundle'; - +import debug from 'debug'; +import open from 'open'; import { ManualPromise } from '@isomorphic/manualPromise'; -import { isUnderTest } from '@serverUtils/debug'; -import { HttpServer } from '@serverUtils/httpServer'; -import { gracefullyProcessExitDoNotHang } from '@serverUtils/processLauncher'; +import { isUnderTest } from '@utils/debug'; +import { HttpServer } from '@utils/httpServer'; +import { gracefullyProcessExitDoNotHang } from '@utils/processLauncher'; import { loadConfig, resolveConfigLocation } from '../common/configLoader'; import ListReporter from '../reporters/list'; @@ -30,7 +30,7 @@ import { createReporterForTestServer } from './reporters'; import { SigIntWatcher } from './sigIntWatcher'; import { TestRunner, TestRunnerEvent } from './testRunner'; -import type { Transport } from '@serverUtils/httpServer'; +import type { Transport } from '@utils/httpServer'; import type * as reporterTypes from '../../types/testReporter'; import type { ConfigLocation } from '../common/config'; import type { ConfigCLIOverrides } from '../common/ipc'; diff --git a/packages/playwright/src/runner/watchMode.ts b/packages/playwright/src/runner/watchMode.ts index 9ac1ca56f4cd5..9b9d101163c89 100644 --- a/packages/playwright/src/runner/watchMode.ts +++ b/packages/playwright/src/runner/watchMode.ts @@ -19,15 +19,14 @@ import readline from 'readline'; import { EventEmitter } from 'stream'; import { remote } from 'playwright-core/lib/coreBundle'; -import { colors } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; +import enquirer from 'enquirer'; import { ManualPromise } from '@isomorphic/manualPromise'; -import { createGuid } from '@serverUtils/crypto'; -import { getPackageManagerExecCommand } from '@serverUtils/env'; -import { eventsHelper } from '@serverUtils/eventsHelper'; +import { createGuid } from '@utils/crypto'; +import { getPackageManagerExecCommand } from '@utils/env'; +import { eventsHelper } from '@utils/eventsHelper'; import { separator, terminalScreen } from '../reporters/base'; -import { enquirer } from '../utilsBundle'; import { TestServerDispatcher } from './testServer'; import { TeleSuiteUpdater } from '../isomorphic/teleSuiteUpdater'; import { TestServerConnection } from '../isomorphic/testServerConnection'; diff --git a/packages/playwright/src/runner/workerHost.ts b/packages/playwright/src/runner/workerHost.ts index bc984d16809c4..be77a285c064e 100644 --- a/packages/playwright/src/runner/workerHost.ts +++ b/packages/playwright/src/runner/workerHost.ts @@ -17,7 +17,7 @@ import fs from 'fs'; import path from 'path'; -import { removeFolders } from '@serverUtils/fileUtils'; +import { removeFolders } from '@utils/fileUtils'; import { ProcessHost } from './processHost'; import { stdioChunkToParams } from '../common/ipc'; diff --git a/packages/playwright/src/transform/DEPS.list b/packages/playwright/src/transform/DEPS.list index 81b869c83b954..bd60d14d99048 100644 --- a/packages/playwright/src/transform/DEPS.list +++ b/packages/playwright/src/transform/DEPS.list @@ -1,4 +1,5 @@ [*] ../util.ts -../utilsBundle.ts ../common/globals.ts +node_modules/json5 +node_modules/source-map-support diff --git a/packages/playwright/src/transform/compilationCache.ts b/packages/playwright/src/transform/compilationCache.ts index dd6b71a890220..cba29b294b45c 100644 --- a/packages/playwright/src/transform/compilationCache.ts +++ b/packages/playwright/src/transform/compilationCache.ts @@ -18,9 +18,9 @@ import fs from 'fs'; import os from 'os'; import path from 'path'; -import { serverUtils } from 'playwright-core/lib/coreBundle'; +import { utils } from 'playwright-core/lib/coreBundle'; +import sourceMapSupport from 'source-map-support'; import { isWorkerProcess } from '../common/globals'; -import { sourceMapSupport } from '../utilsBundle'; export type MemoryCache = { codePath: string; @@ -176,7 +176,7 @@ export function addToCompilationCache(payload: SerializedCompilationCache) { function calculateFilePathHash(filePath: string): string { // Larger file path hash allows for fewer collisions compared to content, as we only check file path collision for deleting files - return serverUtils.calculateSha1(filePath).substring(0, 10); + return utils.calculateSha1(filePath).substring(0, 10); } function calculateCachePath(filePath: string, cacheFolderName: string, hashPrefix: string): string { diff --git a/packages/playwright/src/transform/transform.ts b/packages/playwright/src/transform/transform.ts index 6d29848fc58bd..e4cc45c5976ba 100644 --- a/packages/playwright/src/transform/transform.ts +++ b/packages/playwright/src/transform/transform.ts @@ -21,9 +21,9 @@ import url from 'url'; import crypto from 'crypto'; +import sourceMapSupport from 'source-map-support'; import { loadTsConfig } from './tsconfig-loader'; import { createFileMatcher, debugTest, fileIsModule, resolveImportSpecifierAfterMapping } from '../util'; -import { sourceMapSupport } from '../utilsBundle'; import { belongsToNodeModules, currentFileDepsCollector, getFromCompilationCache, installSourceMapSupport } from './compilationCache'; import { addHook } from './pirates'; @@ -326,7 +326,7 @@ export function wrapFunctionWithLocation(func: (location: Lo return (...args) => { const oldPrepareStackTrace = Error.prepareStackTrace; Error.prepareStackTrace = (error, stackFrames) => { - const frame: NodeJS.CallSite = sourceMapSupport.wrapCallSite(stackFrames[1]); + const frame = sourceMapSupport.wrapCallSite(stackFrames[1] as any) as NodeJS.CallSite; const fileName = frame.getFileName(); // Node error stacks for modules use file:// urls instead of paths. const file = (fileName && fileName.startsWith('file://')) ? url.fileURLToPath(fileName) : fileName; diff --git a/packages/playwright/src/transform/tsconfig-loader.ts b/packages/playwright/src/transform/tsconfig-loader.ts index 653e9ab081d79..7345fe4e0fd66 100644 --- a/packages/playwright/src/transform/tsconfig-loader.ts +++ b/packages/playwright/src/transform/tsconfig-loader.ts @@ -26,8 +26,7 @@ import path from 'path'; import fs from 'fs'; -import { json5 } from '../utilsBundle'; - +import json5 from 'json5'; /** * Typing for the parts of tsconfig that we care about */ diff --git a/packages/playwright/src/util.ts b/packages/playwright/src/util.ts index 08c1fdae803c1..979a9f6be64d7 100644 --- a/packages/playwright/src/util.ts +++ b/packages/playwright/src/util.ts @@ -19,10 +19,11 @@ import path from 'path'; import url from 'url'; import util from 'util'; -import { debug, mime, minimatch } from 'playwright-core/lib/utilsBundle'; - -import { calculateSha1 } from '@serverUtils/crypto'; -import { sanitizeForFilePath } from '@serverUtils/fileUtils'; +import debug from 'debug'; +import mime from 'mime'; +import minimatch from 'minimatch'; +import { calculateSha1 } from '@utils/crypto'; +import { sanitizeForFilePath } from '@utils/fileUtils'; import { isRegExp } from '@isomorphic/rtti'; import { parseStackFrame, stringifyStackFrames } from '@isomorphic/stackTrace'; import { ansiRegex, isString, stripAnsiEscapes } from '@isomorphic/stringUtils'; diff --git a/packages/playwright/src/utilsBundle.ts b/packages/playwright/src/utilsBundle.ts deleted file mode 100644 index 1e61ccc5cae41..0000000000000 --- a/packages/playwright/src/utilsBundle.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) Microsoft Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export const json5: typeof import('../bundles/utils/node_modules/json5/lib') = require('./utilsBundleImpl').json5; -export const sourceMapSupport: typeof import('../bundles/utils/node_modules/@types/source-map-support') = require('./utilsBundleImpl').sourceMapSupport; -export const stoppable: typeof import('../bundles/utils/node_modules/@types/stoppable') = require('./utilsBundleImpl').stoppable; -export const enquirer: typeof import('../bundles/utils/node_modules/enquirer') = require('./utilsBundleImpl').enquirer; -export const chokidar: typeof import('../bundles/utils/node_modules/chokidar') = require('./utilsBundleImpl').chokidar; -export const getEastAsianWidth: typeof import('../bundles/utils/node_modules/get-east-asian-width') = require('./utilsBundleImpl').getEastAsianWidth; -export type { RawSourceMap } from '../bundles/utils/node_modules/source-map'; diff --git a/packages/playwright/src/worker/DEPS.list b/packages/playwright/src/worker/DEPS.list index 336987116c3c9..51a69a1dc3634 100644 --- a/packages/playwright/src/worker/DEPS.list +++ b/packages/playwright/src/worker/DEPS.list @@ -1,8 +1,11 @@ [*] @isomorphic/** -@serverUtils/** +@utils/** ../common/ ../transform/ ../util.ts ../matchers/** ../isomorphic/util.ts +node_modules/colors/safe +node_modules/yauzl +node_modules/yazl diff --git a/packages/playwright/src/worker/testInfo.ts b/packages/playwright/src/worker/testInfo.ts index ee8a215cee81d..0e12f50a58d34 100644 --- a/packages/playwright/src/worker/testInfo.ts +++ b/packages/playwright/src/worker/testInfo.ts @@ -21,9 +21,9 @@ import { ManualPromise } from '@isomorphic/manualPromise'; import { captureRawStack, stringifyStackFrames } from '@isomorphic/stackTrace'; import { escapeWithQuotes } from '@isomorphic/stringUtils'; import { monotonicTime } from '@isomorphic/time'; -import { createGuid } from '@serverUtils/crypto'; -import { sanitizeForFilePath } from '@serverUtils/fileUtils'; -import { currentZone } from '@serverUtils/zones'; +import { createGuid } from '@utils/crypto'; +import { sanitizeForFilePath } from '@utils/fileUtils'; +import { currentZone } from '@utils/zones'; import { TimeoutManager, TimeoutManagerError, kMaxDeadline } from './timeoutManager'; import { addSuffixToFilePath, filteredStackTrace, getContainedPath, normalizeAndSaveAttachment, sanitizeFilePathBeforeExtension, trimLongString, windowsFilesystemFriendlyLength } from '../util'; diff --git a/packages/playwright/src/worker/testTracing.ts b/packages/playwright/src/worker/testTracing.ts index a19b955948f70..e75e5c7faec0d 100644 --- a/packages/playwright/src/worker/testTracing.ts +++ b/packages/playwright/src/worker/testTracing.ts @@ -17,13 +17,13 @@ import fs from 'fs'; import path from 'path'; -import { yazl, yauzl } from 'playwright-core/lib/zipBundle'; - +import * as yazl from 'yazl'; +import * as yauzl from 'yauzl'; import { ManualPromise } from '@isomorphic/manualPromise'; import { monotonicTime } from '@isomorphic/time'; -import { calculateSha1, createGuid } from '@serverUtils/crypto'; -import { SerializedFS } from '@serverUtils/fileUtils'; -import { getPlaywrightVersion } from '@serverUtils/userAgent'; +import { calculateSha1, createGuid } from '@utils/crypto'; +import { SerializedFS } from '@utils/fileUtils'; +import { getPlaywrightVersion } from '@utils/userAgent'; import { filteredStackTrace } from '../util'; diff --git a/packages/playwright/src/worker/timeoutManager.ts b/packages/playwright/src/worker/timeoutManager.ts index d51da210ace68..d69181734d3aa 100644 --- a/packages/playwright/src/worker/timeoutManager.ts +++ b/packages/playwright/src/worker/timeoutManager.ts @@ -14,8 +14,7 @@ * limitations under the License. */ -import { colors } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; import { ManualPromise } from '@isomorphic/manualPromise'; import { monotonicTime } from '@isomorphic/time'; diff --git a/packages/playwright/src/worker/workerMain.ts b/packages/playwright/src/worker/workerMain.ts index cd5d62f62210e..9a44f99fccd21 100644 --- a/packages/playwright/src/worker/workerMain.ts +++ b/packages/playwright/src/worker/workerMain.ts @@ -14,11 +14,10 @@ * limitations under the License. */ -import { colors } from 'playwright-core/lib/utilsBundle'; - +import colors from 'colors/safe'; import { ManualPromise } from '@isomorphic/manualPromise'; -import { removeFolders } from '@serverUtils/fileUtils'; -import { gracefullyCloseAll } from '@serverUtils/processLauncher'; +import { removeFolders } from '@utils/fileUtils'; +import { gracefullyCloseAll } from '@utils/processLauncher'; import { deserializeConfig } from '../common/configLoader'; import { setCurrentTestInfo, setIsWorkerProcess } from '../common/globals'; diff --git a/tests/android/launch-server.spec.ts b/tests/android/launch-server.spec.ts index 73e66cdee32f6..1b3da46b72800 100644 --- a/tests/android/launch-server.spec.ts +++ b/tests/android/launch-server.spec.ts @@ -130,11 +130,12 @@ test('android.launchServer should terminate WS connection when device gets disco let receivedConnection: WebSocket | undefined; forwardingServer.on('connection', connection => { // Pause the connection until we establish the actual connection to the browser server. - connection.pause(); + // Someone is using non-existing api + (connection as any).pause(); receivedConnection = connection; const actualConnection = new WebSocket(browserServer.wsEndpoint()); // We need to wait for the actual connection to be established before resuming - actualConnection.on('open', () => connection.resume()); + actualConnection.on('open', () => (connection as any).resume()); actualConnection.on('message', message => connection.send(message)); connection.on('message', message => actualConnection.send(message)); connection.on('close', () => actualConnection.close()); diff --git a/tests/config/browserTest.ts b/tests/config/browserTest.ts index ad463bed3bd27..c34ebce180326 100644 --- a/tests/config/browserTest.ts +++ b/tests/config/browserTest.ts @@ -19,7 +19,7 @@ import * as os from 'os'; import * as path from 'path'; import { baseTest } from './baseTest'; import { RunServer, RemoteServer } from './remoteServer'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { isBidiChannel, parseHar } from '../config/utils'; import { createSkipTestPredicate } from '../bidi/expectationUtil'; import type { PageTestFixtures, PageWorkerFixtures } from '../page/pageTestApi'; @@ -28,7 +28,7 @@ import type { BrowserContext, BrowserContextOptions, BrowserType, Page } from 'p import type { Log } from '../../packages/trace/src/har'; import type { TestInfo } from '@playwright/test'; -const { removeFolders, hostPlatform } = serverUtils; +const { removeFolders, hostPlatform } = utils; export type BrowserTestWorkerFixtures = PageWorkerFixtures & { browserVersion: string; diff --git a/tests/config/comparator.ts b/tests/config/comparator.ts index 60fc8e5decd92..7c56e34c50893 100644 --- a/tests/config/comparator.ts +++ b/tests/config/comparator.ts @@ -14,9 +14,9 @@ * limitations under the License. */ -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; -const { getComparator } = serverUtils; +const { getComparator } = utils; const pngComparator = getComparator('image/png'); type ComparatorResult = { diff?: Buffer; errorMessage: string; } | null; diff --git a/tests/config/proxy.ts b/tests/config/proxy.ts index ae9f50adcd3c3..697f39f956dff 100644 --- a/tests/config/proxy.ts +++ b/tests/config/proxy.ts @@ -18,12 +18,12 @@ import type { IncomingMessage } from 'http'; import type { ProxyServer } from '../third_party/proxy'; import { createProxy } from '../third_party/proxy'; import net from 'net'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; -type SocksSocketClosedPayload = serverUtils.SocksSocketClosedPayload; -type SocksSocketDataPayload = serverUtils.SocksSocketDataPayload; -type SocksSocketRequestedPayload = serverUtils.SocksSocketRequestedPayload; -const { SocksProxy } = serverUtils; +type SocksSocketClosedPayload = utils.SocksSocketClosedPayload; +type SocksSocketDataPayload = utils.SocksSocketDataPayload; +type SocksSocketRequestedPayload = utils.SocksSocketRequestedPayload; +const { SocksProxy } = utils; // Certain browsers perform telemetry requests which we want to ignore. const kConnectHostsToIgnore = new Set([ diff --git a/tests/config/serverFixtures.ts b/tests/config/serverFixtures.ts index d36b1e9f936a9..11d2792477edc 100644 --- a/tests/config/serverFixtures.ts +++ b/tests/config/serverFixtures.ts @@ -18,10 +18,10 @@ import type { Fixtures } from '@playwright/test'; import path from 'path'; import { TestServer } from './testserver'; import { TestProxy } from './proxy'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; -type SocksSocketRequestedPayload = serverUtils.SocksSocketRequestedPayload; -const { SocksProxy } = serverUtils; +type SocksSocketRequestedPayload = utils.SocksSocketRequestedPayload; +const { SocksProxy } = utils; type SocksProxy = InstanceType; export type ServerWorkerOptions = { diff --git a/tests/config/testserver/index.ts b/tests/config/testserver/index.ts index 914551b5e84b8..d9bfa28046ba2 100644 --- a/tests/config/testserver/index.ts +++ b/tests/config/testserver/index.ts @@ -24,9 +24,9 @@ import util from 'util'; import type stream from 'stream'; import { WebSocket, WebSocketServer } from 'ws'; import zlib, { gzip } from 'zlib'; -import { serverUtils } from '../../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../../packages/playwright-core/lib/coreBundle'; -const { createHttpServer, createHttpsServer } = serverUtils; +const { createHttpServer, createHttpsServer } = utils; const fulfillSymbol = Symbol('fulfil callback'); const rejectSymbol = Symbol('reject callback'); diff --git a/tests/config/utils.ts b/tests/config/utils.ts index d5b9ae3137d57..3bf916d26fcf1 100644 --- a/tests/config/utils.ts +++ b/tests/config/utils.ts @@ -15,7 +15,7 @@ */ import { tools } from '../../packages/playwright-core/lib/coreBundle'; -import { serverUtils, iso } from '../../packages/playwright-core/lib/coreBundle'; +import { utils, iso } from '../../packages/playwright-core/lib/coreBundle'; import type { iso as isoType } from '../../packages/playwright-core/lib/coreBundle'; import type { Locator, Frame, Page } from 'playwright-core'; @@ -106,7 +106,7 @@ export function suppressCertificateWarning() { } export async function parseTraceRaw(file: string): Promise<{ events: any[], resources: Map, actions: string[], actionObjects: ActionTraceEvent[], stacks: Map }> { - const zipFS = new serverUtils.ZipFile(file); + const zipFS = new utils.ZipFile(file); const resources = new Map(); for (const entry of await zipFS.entries()) resources.set(entry, await zipFS.read(entry)); @@ -176,7 +176,7 @@ export async function parseTrace(file: string): Promise<{ snapshots: SnapshotSto } export async function parseHar(file: string): Promise> { - const zipFS = new serverUtils.ZipFile(file); + const zipFS = new utils.ZipFile(file); const resources = new Map(); for (const entry of await zipFS.entries()) resources.set(entry, await zipFS.read(entry)); diff --git a/tests/electron/electronTest.ts b/tests/electron/electronTest.ts index fa65fe0430a86..6e137398a826f 100644 --- a/tests/electron/electronTest.ts +++ b/tests/electron/electronTest.ts @@ -22,12 +22,12 @@ import type { ElectronApplication, Page, Electron } from '@playwright/test'; import type { PageTestFixtures, PageWorkerFixtures } from '../page/pageTestApi'; import type { TraceViewerFixtures } from '../config/traceViewerFixtures'; import { traceViewerFixtures } from '../config/traceViewerFixtures'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { inheritAndCleanEnv } from '../config/utils'; export { expect } from '@playwright/test'; -const { removeFolders } = serverUtils; +const { removeFolders } = utils; type ElectronTestFixtures = PageTestFixtures & { electronApp: ElectronApplication; diff --git a/tests/electron/globalSetup.ts b/tests/electron/globalSetup.ts index 98eaf01a8b0e6..f138a4166dffb 100644 --- a/tests/electron/globalSetup.ts +++ b/tests/electron/globalSetup.ts @@ -15,8 +15,8 @@ */ import assert from 'assert'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; -const { spawnAsync } = serverUtils; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; +const { spawnAsync } = utils; export default async () => { const result = await spawnAsync(['npx', 'electron', `"${require.resolve('./electron-print-chromium-version.js')}"`, '--no-sandbox'].join(' '), [], { diff --git a/tests/image_tools/fixtures.spec.ts b/tests/image_tools/fixtures.spec.ts index 6f95b6ba23a02..017ce5b7fe5e4 100644 --- a/tests/image_tools/fixtures.spec.ts +++ b/tests/image_tools/fixtures.spec.ts @@ -16,11 +16,11 @@ import { test, expect } from '../playwright-test/stable-test-runner'; import { PNG } from 'playwright-core/lib/utilsBundle'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import fs from 'fs'; import path from 'path'; -const { compare } = serverUtils; +const { compare } = utils; function listFixtures(root: string, fixtures: Set = new Set()) { for (const item of fs.readdirSync(root, { withFileTypes: true })) { diff --git a/tests/image_tools/unit.spec.ts b/tests/image_tools/unit.spec.ts index 263bedde8fc9d..41da87d9199ca 100644 --- a/tests/image_tools/unit.spec.ts +++ b/tests/image_tools/unit.spec.ts @@ -15,12 +15,12 @@ */ import { test } from '../playwright-test/stable-test-runner'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import referenceSSIM from 'ssim.js'; import { randomPNG, assertEqual, grayChannel } from './utils'; -const { ssim, FastStats, ImageChannel, srgb2xyz, xyz2lab, colorDeltaE94 } = serverUtils; +const { ssim, FastStats, ImageChannel, srgb2xyz, xyz2lab, colorDeltaE94 } = utils; type ImageChannel = InstanceType; test('srgb to lab conversion should work', async () => { diff --git a/tests/image_tools/utils.ts b/tests/image_tools/utils.ts index 77eae1da84ea1..ca96646a69457 100644 --- a/tests/image_tools/utils.ts +++ b/tests/image_tools/utils.ts @@ -15,9 +15,9 @@ */ import { PNG } from 'playwright-core/lib/utilsBundle'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; -const { ImageChannel } = serverUtils; +const { ImageChannel } = utils; // mulberry32 export function createRandom(seed) { diff --git a/tests/installation/globalSetup.ts b/tests/installation/globalSetup.ts index d982c3ca2c665..9e295ee328aa3 100644 --- a/tests/installation/globalSetup.ts +++ b/tests/installation/globalSetup.ts @@ -16,10 +16,10 @@ import path from 'path'; import fs from 'fs'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { TMP_WORKSPACES } from './npmTest'; -const { spawnAsync, removeFolders } = serverUtils; +const { spawnAsync, removeFolders } = utils; const PACKAGE_BUILDER_SCRIPT = path.join(__dirname, '..', '..', 'utils', 'pack_package.js'); diff --git a/tests/installation/npmTest.ts b/tests/installation/npmTest.ts index 68e6734ee450e..69334f2faa559 100644 --- a/tests/installation/npmTest.ts +++ b/tests/installation/npmTest.ts @@ -22,10 +22,10 @@ import debugLogger from 'debug'; import { Registry } from './registry'; import type { CommonFixtures, CommonWorkerFixtures } from '../config/commonFixtures'; import { commonFixtures } from '../config/commonFixtures'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import type { SpawnOptions } from 'child_process'; -const { removeFolders, spawnAsync } = serverUtils; +const { removeFolders, spawnAsync } = utils; export const TMP_WORKSPACES = path.join(os.platform() === 'darwin' ? '/tmp' : os.tmpdir(), 'pwt', 'workspaces'); diff --git a/tests/installation/registry.ts b/tests/installation/registry.ts index 83c635662fe4c..b1a010627ebe6 100644 --- a/tests/installation/registry.ts +++ b/tests/installation/registry.ts @@ -19,9 +19,9 @@ import type { Server } from 'http'; import type http from 'http'; import https from 'https'; import path from 'path'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; -const { spawnAsync, createHttpServer } = serverUtils; +const { spawnAsync, createHttpServer } = utils; const kPublicNpmRegistry = 'https://registry.npmjs.org'; const kContentTypeAbbreviatedMetadata = 'application/vnd.npm.install-v1+json'; diff --git a/tests/library/browsercontext-har.spec.ts b/tests/library/browsercontext-har.spec.ts index f82bd30e87e43..50e5d2141e457 100644 --- a/tests/library/browsercontext-har.spec.ts +++ b/tests/library/browsercontext-har.spec.ts @@ -17,7 +17,7 @@ import { browserTest as it, expect } from '../config/browserTest'; import fs from 'fs'; import path from 'path'; -import extractZip from '../../packages/playwright-core/bundles/zip/src/third_party/extract-zip'; +import extractZip from '../../packages/playwright-core/bundles/utils/src/third_party/extract-zip'; it('should context.routeFromHAR, matching the method and following redirects', async ({ context, asset }) => { const path = asset('har-fulfill.har'); diff --git a/tests/library/browsertype-connect.spec.ts b/tests/library/browsertype-connect.spec.ts index e3aadd67e306f..e3eb616dce533 100644 --- a/tests/library/browsertype-connect.spec.ts +++ b/tests/library/browsertype-connect.spec.ts @@ -19,14 +19,14 @@ import fs from 'fs'; import type http from 'http'; import type net from 'net'; import * as path from 'path'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import WebSocket from 'ws'; import { expect, playwrightTest } from '../config/browserTest'; import { parseTraceRaw, suppressCertificateWarning, rafraf } from '../config/utils'; import formidable from 'formidable'; import type { Browser, ConnectOptions } from 'playwright-core'; -const { getUserAgent, getPlaywrightVersion, createHttpServer } = serverUtils; +const { getUserAgent, getPlaywrightVersion, createHttpServer } = utils; import { kTargetClosedErrorMessage } from '../config/errors'; import { RunServer } from '../config/remoteServer'; diff --git a/tests/library/chromium/connect-over-cdp.spec.ts b/tests/library/chromium/connect-over-cdp.spec.ts index 6bf93fcb96898..b7f4434f83526 100644 --- a/tests/library/chromium/connect-over-cdp.spec.ts +++ b/tests/library/chromium/connect-over-cdp.spec.ts @@ -18,10 +18,10 @@ import { playwrightTest as test, expect } from '../../config/browserTest'; import http from 'http'; import fs from 'fs'; -import { serverUtils, sever } from '../../../packages/playwright-core/lib/coreBundle'; +import { utils, sever } from '../../../packages/playwright-core/lib/coreBundle'; import { suppressCertificateWarning } from '../../config/utils'; -const { getUserAgent } = serverUtils; +const { getUserAgent } = utils; const { WebSocketTransport, nullProgress } = sever; type Frame = sever.Frame; diff --git a/tests/library/client-certificates.spec.ts b/tests/library/client-certificates.spec.ts index c0557a193ebca..833bbf448cab1 100644 --- a/tests/library/client-certificates.spec.ts +++ b/tests/library/client-certificates.spec.ts @@ -24,8 +24,8 @@ import { expect, playwrightTest as base } from '../config/browserTest'; import type net from 'net'; import type { BrowserContextOptions } from '../../packages/playwright-test'; import { setupSocksForwardingServer } from '../config/proxy'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; -const { createHttpsServer, createHttp2Server } = serverUtils; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; +const { createHttpsServer, createHttp2Server } = utils; type TestOptions = { startCCServer(options?: { diff --git a/tests/library/debug-controller.spec.ts b/tests/library/debug-controller.spec.ts index 46f2fe1b9277a..232d818fcbc15 100644 --- a/tests/library/debug-controller.spec.ts +++ b/tests/library/debug-controller.spec.ts @@ -15,14 +15,14 @@ */ import { expect, playwrightTest as baseTest } from '../config/browserTest'; -import { remote, serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { remote, utils } from '../../packages/playwright-core/lib/coreBundle'; const { PlaywrightServer } = remote; import { Backend } from '../config/debugControllerBackend'; import type { Browser, BrowserContext } from '@playwright/test'; import type * as channels from '@protocol/channels'; import { roundBox } from '../config/utils'; -const { createGuid } = serverUtils; +const { createGuid } = utils; type BrowserWithReuse = Browser & { newContextForReuse: () => Promise }; type Fixtures = { diff --git a/tests/library/events/utils.ts b/tests/library/events/utils.ts index 242b89786c6a7..3bdae7bf2e6f4 100644 --- a/tests/library/events/utils.ts +++ b/tests/library/events/utils.ts @@ -20,9 +20,9 @@ // USE OR OTHER DEALINGS IN THE SOFTWARE. import { expect } from '@playwright/test'; -import { client, serverUtils } from '../../../packages/playwright-core/lib/coreBundle'; +import { client, utils } from '../../../packages/playwright-core/lib/coreBundle'; -const { nodePlatform } = serverUtils; +const { nodePlatform } = utils; export const mustNotCall = (msg?: string) => { return function mustNotCall() { diff --git a/tests/library/global-fetch.spec.ts b/tests/library/global-fetch.spec.ts index 2a8da017a60cc..9a119e06f6d41 100644 --- a/tests/library/global-fetch.spec.ts +++ b/tests/library/global-fetch.spec.ts @@ -16,11 +16,11 @@ import os from 'os'; import * as util from 'util'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { expect, playwrightTest as base } from '../config/browserTest'; import { kTargetClosedErrorMessage } from '../config/errors'; -const { getPlaywrightVersion } = serverUtils; +const { getPlaywrightVersion } = utils; const it = base.extend({ context: async ({}, use) => { diff --git a/tests/library/har.spec.ts b/tests/library/har.spec.ts index 58fa3bfb21cf5..1992695dbd3d8 100644 --- a/tests/library/har.spec.ts +++ b/tests/library/har.spec.ts @@ -22,8 +22,8 @@ import type { AddressInfo } from 'net'; import type { Log } from '../../packages/trace/src/har'; import { parseHar } from '../config/utils'; import { TestServer } from '../config/testserver'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; -const { createHttp2Server } = serverUtils; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; +const { createHttp2Server } = utils; async function pageWithHar(contextFactory: (options?: BrowserContextOptions) => Promise, testInfo: any, options: { outputPath?: string } & Partial> = {}) { const harPath = testInfo.outputPath(options.outputPath || 'test.har'); diff --git a/tests/library/headful.spec.ts b/tests/library/headful.spec.ts index 921198730d4bf..bc9707ba69a06 100644 --- a/tests/library/headful.spec.ts +++ b/tests/library/headful.spec.ts @@ -14,11 +14,11 @@ * limitations under the License. */ -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { PNG } from 'playwright-core/lib/utilsBundle'; import { expect, playwrightTest as it } from '../config/browserTest'; -const { compare } = serverUtils; +const { compare } = utils; it.skip(({ headless }) => headless, 'avoid popping windows in headless mode'); it.skip(({ channel }) => channel === 'chromium-headless-shell' || channel === 'chromium-tip-of-tree-headless-shell', 'shell is never headed'); diff --git a/tests/library/proxy-pattern.spec.ts b/tests/library/proxy-pattern.spec.ts index 6d75243c9f6c3..c9b5a18d84faf 100644 --- a/tests/library/proxy-pattern.spec.ts +++ b/tests/library/proxy-pattern.spec.ts @@ -14,10 +14,10 @@ * limitations under the License. */ -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { playwrightTest as test, expect } from '../config/browserTest'; -const { parsePattern } = serverUtils; +const { parsePattern } = utils; test('socks proxy patter matcher', async ({}) => { const m1 = parsePattern('*'); diff --git a/tests/library/trace-viewer.spec.ts b/tests/library/trace-viewer.spec.ts index 011091951ef6b..c7ed5571cc245 100644 --- a/tests/library/trace-viewer.spec.ts +++ b/tests/library/trace-viewer.spec.ts @@ -19,7 +19,7 @@ import type { TraceViewerFixtures } from '../config/traceViewerFixtures'; import { traceViewerFixtures } from '../config/traceViewerFixtures'; -import extractZip from '../../packages/playwright-core/bundles/zip/src/third_party/extract-zip'; +import extractZip from '../../packages/playwright-core/bundles/utils/src/third_party/extract-zip'; import fs from 'fs'; import path from 'path'; import type http from 'http'; diff --git a/tests/mcp/http.spec.ts b/tests/mcp/http.spec.ts index 6b6cd4fe01182..4be36130082c4 100644 --- a/tests/mcp/http.spec.ts +++ b/tests/mcp/http.spec.ts @@ -24,7 +24,7 @@ import { test as baseTest, expect, mcpServerPath, formatLog } from './fixtures'; import { inheritAndCleanEnv } from '../config/utils'; import type { Config } from '../../packages/playwright-core/src/tools/mcp/config.d'; -import { ListRootsRequestSchema } from 'playwright-core/lib/mcpBundle'; +import { ListRootsRequestSchema } from 'playwright-core/lib/utilsBundle'; const test = baseTest.extend<{ serverEndpoint: (options?: { args?: string[], noPort?: boolean }) => Promise<{ url: URL, stderr: () => string }> }>({ serverEndpoint: async ({ mcpHeadless }, use, testInfo) => { diff --git a/tests/mcp/init-agents.spec.ts b/tests/mcp/init-agents.spec.ts index 597854b1d9ffe..65a96416883f9 100644 --- a/tests/mcp/init-agents.spec.ts +++ b/tests/mcp/init-agents.spec.ts @@ -15,11 +15,11 @@ */ import { test, expect, writeFiles } from './fixtures'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import path from 'path'; import fs from 'fs'; -const { spawnAsync } = serverUtils; +const { spawnAsync } = utils; async function runInitAgents(options?: { args?: string[], cwd?: string }): Promise<{stdout: string, stderr: string, code: number | null, error?: Error}> { const result = await spawnAsync('npx', [ diff --git a/tests/playwright-test/expect.spec.ts b/tests/playwright-test/expect.spec.ts index e37b7da458953..6dd9d06c6eb1b 100644 --- a/tests/playwright-test/expect.spec.ts +++ b/tests/playwright-test/expect.spec.ts @@ -16,8 +16,8 @@ import path from 'path'; import { test, expect, parseTestRunnerOutput, stripAnsi } from './playwright-test-fixtures'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; -const { spawnAsync } = serverUtils; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; +const { spawnAsync } = utils; test('should not expand huge arrays', async ({ runInlineTest }) => { const result = await runInlineTest({ diff --git a/tests/playwright-test/reporter-blob.spec.ts b/tests/playwright-test/reporter-blob.spec.ts index 8c67d85ec3785..a4714907470f4 100644 --- a/tests/playwright-test/reporter-blob.spec.ts +++ b/tests/playwright-test/reporter-blob.spec.ts @@ -19,14 +19,14 @@ import type { PlaywrightTestConfig } from '@playwright/test'; import path from 'path'; import { startHtmlReportServer } from '../../packages/playwright/lib/reporters/html'; import { expect as baseExpect, test as baseTest, stripAnsi } from './playwright-test-fixtures'; -import extractZip from '../../packages/playwright-core/bundles/zip/src/third_party/extract-zip'; -import * as yazl from '../../packages/playwright-core/bundles/zip/node_modules/yazl'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import extractZip from '../../packages/playwright-core/bundles/utils/src/third_party/extract-zip'; +import * as yazl from '../../packages/playwright-core/bundles/utils/node_modules/yazl'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { Readable } from 'stream'; import type { FullResult, JSONReportTestResult } from '../../packages/playwright-test/reporter'; -type HttpServer = serverUtils.HttpServer; -const { getUserAgent } = serverUtils; +type HttpServer = utils.HttpServer; +const { getUserAgent } = utils; const DOES_NOT_SUPPORT_UTF8_IN_TERMINAL = process.platform === 'win32' && process.env.TERM_PROGRAM !== 'vscode' && !process.env.WT_SESSION; const POSITIVE_STATUS_MARK = DOES_NOT_SUPPORT_UTF8_IN_TERMINAL ? 'ok' : '✓ '; diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts index 2b369cd63a2a3..01c31d508e6d9 100644 --- a/tests/playwright-test/reporter-html.spec.ts +++ b/tests/playwright-test/reporter-html.spec.ts @@ -19,12 +19,12 @@ import path from 'path'; import url from 'url'; import { test as baseTest, expect as baseExpect, createImage } from './playwright-test-fixtures'; import { startHtmlReportServer } from '../../packages/playwright/lib/reporters/html'; -import { iso, serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { iso, utils } from '../../packages/playwright-core/lib/coreBundle'; -type HttpServer = serverUtils.HttpServer; +type HttpServer = utils.HttpServer; const { msToString } = iso; -const { spawnAsync } = serverUtils; +const { spawnAsync } = utils; const test = baseTest.extend<{ showReport: (reportFolder?: string) => Promise }>({ showReport: async ({ page }, use, testInfo) => { diff --git a/tests/playwright-test/ui-mode-fixtures.ts b/tests/playwright-test/ui-mode-fixtures.ts index 7487b1d995a46..e345e83c235c9 100644 --- a/tests/playwright-test/ui-mode-fixtures.ts +++ b/tests/playwright-test/ui-mode-fixtures.ts @@ -22,10 +22,10 @@ import { cliEntrypoint, test as base, writeFiles, removeFolders } from './playwr import type { Files, RunOptions } from './playwright-test-fixtures'; import type { Browser, Page, TestInfo } from './stable-test-runner'; import { chromium } from './stable-test-runner'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; import { inheritAndCleanEnv } from '../config/utils'; -const { createGuid } = serverUtils; +const { createGuid } = utils; type Latch = { blockingCode: string; diff --git a/tests/playwright-test/web-server.spec.ts b/tests/playwright-test/web-server.spec.ts index a33f3168b6216..608d27bd1a734 100644 --- a/tests/playwright-test/web-server.spec.ts +++ b/tests/playwright-test/web-server.spec.ts @@ -18,9 +18,9 @@ import type http from 'http'; import path from 'path'; import { test, expect, parseTestRunnerOutput } from './playwright-test-fixtures'; import type { RunResult } from './playwright-test-fixtures'; -import { serverUtils } from '../../packages/playwright-core/lib/coreBundle'; +import { utils } from '../../packages/playwright-core/lib/coreBundle'; -const { createHttpServer } = serverUtils; +const { createHttpServer } = utils; const SIMPLE_SERVER_PATH = path.join(__dirname, 'assets', 'simple-server.js'); diff --git a/tsconfig.json b/tsconfig.json index d79ff44f1af6e..4a9a210739ad6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -14,7 +14,7 @@ "@html-reporter/*": ["./packages/html-reporter/src/*"], "@injected/*": ["./packages/injected/src/*"], "@isomorphic/*": ["./packages/playwright-core/src/utils/isomorphic/*"], - "@serverUtils/*": ["./packages/playwright-core/src/server/utils/*"], + "@utils/*": ["./packages/playwright-core/src/server/utils/*"], "@protocol/*": ["./packages/protocol/src/*"], "@recorder/*": ["./packages/recorder/src/*"], "@testIsomorphic/*": ["./packages/playwright/src/isomorphic/*"], diff --git a/utils/build/build.js b/utils/build/build.js index da9c2c1371808..ebb116a9af235 100644 --- a/utils/build/build.js +++ b/utils/build/build.js @@ -271,41 +271,16 @@ bundles.push({ entryPoints: ['src/expectBundleImpl.ts'], }); -bundles.push({ - modulePath: 'packages/playwright/bundles/utils', - outdir: 'packages/playwright/lib', - entryPoints: ['src/utilsBundleImpl.ts'], - external: ['fsevents'], -}); - bundles.push({ modulePath: 'packages/playwright-core/bundles/utils', outfile: 'packages/playwright-core/lib/utilsBundleImpl/index.js', entryPoints: ['src/utilsBundleImpl.ts'], -}); - -bundles.push({ - modulePath: 'packages/playwright-core/bundles/zip', - outdir: 'packages/playwright-core/lib', - entryPoints: ['src/zipBundleImpl.ts'], -}); - -bundles.push({ - modulePath: 'packages/playwright-core/bundles/mcp', - outfile: 'packages/playwright-core/lib/mcpBundleImpl.js', - entryPoints: ['src/mcpBundleImpl.ts'], - external: ['express', '@anthropic-ai/sdk'], + external: ['fsevents', 'express', '@anthropic-ai/sdk'], alias: { 'raw-body': 'raw-body.ts', }, }); -bundles.push({ - modulePath: 'packages/playwright-core/bundles/zod', - outfile: 'packages/playwright-core/lib/zodBundleImpl.js', - entryPoints: ['src/zodBundleImpl.ts'], -}); - // @playwright/client bundles.push({ modulePath: 'packages/playwright-client', @@ -460,7 +435,7 @@ class CustomCallbackStep extends Step { // import() even in CJS format; we want local imports to use require() // uniformly. // -// 2. `import { X } from '@isomorphic/foo'` / `'@serverUtils/bar'` → +// 2. `import { X } from '@isomorphic/foo'` / `'@utils/bar'` → // `const { X } = require('playwright-core/lib/coreBundle').iso` // (same for serverUtils). Per-file esbuild (bundle:false) can't follow // path aliases to files outside the emitted tree, so we translate these @@ -469,23 +444,130 @@ class CustomCallbackStep extends Step { // // Both rewrites must live in the SAME plugin because esbuild only runs one // onLoad handler per file; the first plugin that returns contents wins. +// +// 3. `import … from ''` (debug, mime, ws, …) → +// `const … = require('playwright-core/lib/utilsBundle').` so that +// consumers can write idiomatic npm imports while the runtime still goes +// through the vendored utilsBundle. The mapping lives in +// utils/build/utilsBundleMapping.js. +const { MAPPING: VENDORED_MAPPING, VENDORED_PACKAGES } = require('./utilsBundleMapping'); + +const VENDORED_INVERSE_NAMED = {}; +for (const [pkg, def] of Object.entries(VENDORED_MAPPING)) { + VENDORED_INVERSE_NAMED[pkg] = {}; + if (def.named) { + for (const [srcName, key] of Object.entries(def.named)) + VENDORED_INVERSE_NAMED[pkg][srcName] = key; + } +} + +const VENDORED_PKG_RE = new RegExp( + '^import\\s+(' + + '\\{[^}]*\\}|' + + '\\*\\s+as\\s+\\w+|' + + '\\w+(?:\\s*,\\s*\\{[^}]*\\})?' + + ')\\s+from\\s+\'(' + + [...VENDORED_PACKAGES].map(p => p.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&')).join('|') + + ')\';?', + 'gm' +); + +function _utilsBundleSpecifier(filePath) { + const coreSrcMarker = `${path.sep}playwright-core${path.sep}src${path.sep}`; + const idx = filePath.indexOf(coreSrcMarker); + if (idx === -1) + return "'playwright-core/lib/utilsBundle'"; + const coreSrcRoot = filePath.slice(0, idx + coreSrcMarker.length - 1); + let rel = path.relative(path.dirname(filePath), path.join(coreSrcRoot, 'utilsBundle')); + rel = rel.split(path.sep).join('/'); + if (!rel.startsWith('.')) + rel = './' + rel; + return `'${rel}'`; +} + +function _parseClause(clause) { + // Returns { default?: name, namespace?: name, named?: [{src, alias}] } + const out = {}; + if (clause.startsWith('{')) { + out.named = _parseNamedList(clause); + return out; + } + if (clause.startsWith('*')) { + out.namespace = clause.match(/\*\s+as\s+(\w+)/)[1]; + return out; + } + // default or "default, { named }" + const m = clause.match(/^(\w+)(?:\s*,\s*(\{[^}]*\}))?$/); + if (!m) + return null; + out.default = m[1]; + if (m[2]) + out.named = _parseNamedList(m[2]); + return out; +} + +function _parseNamedList(braced) { + const inner = braced.replace(/^\s*\{|\}\s*$/g, '').trim(); + if (!inner) + return []; + return inner.split(',').map(s => s.trim()).filter(Boolean).map(spec => { + const m = spec.match(/^(\w+)(?:\s+as\s+(\w+))?$/); + return { src: m[1], alias: m[2] || m[1] }; + }); +} + +function _rewriteVendoredImports(filePath, contents) { + const bundleSpec = _utilsBundleSpecifier(filePath); + return contents.replace(VENDORED_PKG_RE, (full, clause, pkg) => { + const def = VENDORED_MAPPING[pkg]; + const parsed = _parseClause(clause); + if (!parsed) + return full; + /** @type {string[]} */ + const lines = []; + if (parsed.default && def.default) + lines.push(`const ${parsed.default} = require(${bundleSpec}).${def.default};`); + if (parsed.namespace && def.namespace) + lines.push(`const ${parsed.namespace} = require(${bundleSpec}).${def.namespace};`); + if (parsed.named && def.named) { + const renames = parsed.named.map(({ src, alias }) => { + const key = def.named[src]; + if (!key) + return null; + return key === alias ? key : `${key}: ${alias}`; + }).filter(Boolean); + if (renames.length) + lines.push(`const { ${renames.join(', ')} } = require(${bundleSpec});`); + } + return lines.length ? lines.join('\n') : full; + }); +} + const dynamicImportToRequirePlugin = { name: 'dynamic-import-to-require', setup(build) { build.onLoad({ filter: /\.ts$/ }, async (args) => { let contents = await fs.promises.readFile(args.path, 'utf8'); const isPlaywrightSrc = args.path.includes(`${path.sep}playwright${path.sep}src${path.sep}`); - const hasAlias = isPlaywrightSrc && (contents.includes("'@isomorphic/") || contents.includes("'@serverUtils/")); - if (!hasAlias) + const hasAlias = isPlaywrightSrc && (contents.includes("'@isomorphic/") || contents.includes("'@utils/")); + let hasVendored = false; + for (const pkg of VENDORED_PACKAGES) { + if (contents.includes(`'${pkg}'`)) { hasVendored = true; break; } + } + if (!hasAlias && !hasVendored) return undefined; - contents = contents.replace( - /import\s*\{([^}]*)\}\s*from\s*'@isomorphic\/[^']+';?/g, - (_, names) => `const {${names}} = require('playwright-core/lib/coreBundle').iso;` - ); - contents = contents.replace( - /import\s*\{([^}]*)\}\s*from\s*'@serverUtils\/[^']+';?/g, - (_, names) => `const {${names}} = require('playwright-core/lib/coreBundle').serverUtils;` - ); + if (hasAlias) { + contents = contents.replace( + /import\s*\{([^}]*)\}\s*from\s*'@isomorphic\/[^']+';?/g, + (_, names) => `const {${names}} = require('playwright-core/lib/coreBundle').iso;` + ); + contents = contents.replace( + /import\s*\{([^}]*)\}\s*from\s*'@utils\/[^']+';?/g, + (_, names) => `const {${names}} = require('playwright-core/lib/coreBundle').utils;` + ); + } + if (hasVendored) + contents = _rewriteVendoredImports(args.path, contents); return { contents, loader: 'ts' }; }); } @@ -531,14 +613,12 @@ steps.push(new EsbuildStep({ // Bundle entry points otherwise inlined in coreBundle, figure this out. filePath('packages/playwright-core/src/utilsBundle.ts'), - filePath('packages/playwright-core/src/mcpBundle.ts'), - filePath('packages/playwright-core/src/zodBundle.ts'), - filePath('packages/playwright-core/src/zipBundle.ts'), ], outdir: filePath('packages/playwright-core/lib'), sourcemap: withSourceMaps ? 'linked' : false, platform: 'node', format: 'cjs', + plugins: [dynamicImportToRequirePlugin], })); const playwrightCoreSrc = filePath('packages/playwright-core/src'); @@ -554,9 +634,6 @@ steps.push(new EsbuildStep({ external: [ './utilsBundleImpl', './utilsBundleImpl/*', - './mcpBundleImpl', - './zodBundleImpl', - './zipBundleImpl', '../../api.json', './help.json', // TODO: await import plugin is incompatible with esbuild, remove it diff --git a/utils/build/utilsBundleMapping.js b/utils/build/utilsBundleMapping.js new file mode 100644 index 0000000000000..e30f8203dd680 --- /dev/null +++ b/utils/build/utilsBundleMapping.js @@ -0,0 +1,61 @@ +// Single source of truth for the mapping between idiomatic npm imports and +// the keys exported from `playwright-core/lib/utilsBundle`. +// +// Each entry: package specifier → { default?, named?: {srcName: bundleKey}, namespace? } +// `lockfile` and `extract` have no clean npm equivalent (they wrap in-tree +// third_party files) and intentionally remain as direct utilsBundle imports. + +/** @type {Record, namespace?: string }>} */ +const MAPPING = { + 'colors/safe': { default: 'colors' }, + 'debug': { default: 'debug' }, + 'ini': { namespace: 'ini' }, + 'diff': { namespace: 'diff' }, + 'dotenv': { default: 'dotenv' }, + 'proxy-from-env': { named: { getProxyForUrl: 'getProxyForUrl' } }, + 'https-proxy-agent': { named: { HttpsProxyAgent: 'HttpsProxyAgent' } }, + 'jpeg-js': { default: 'jpegjs' }, + 'mime': { default: 'mime' }, + 'minimatch': { default: 'minimatch' }, + 'open': { default: 'open' }, + 'pngjs': { named: { PNG: 'PNG' } }, + 'commander': { named: { program: 'program', Option: 'ProgramOption' } }, + 'progress': { default: 'progress' }, + 'socks-proxy-agent': { named: { SocksProxyAgent: 'SocksProxyAgent' } }, + 'ws': { + default: 'ws', + named: { WebSocketServer: 'wsServer' }, + }, + 'yaml': { default: 'yaml' }, + 'json5': { default: 'json5' }, + 'source-map-support': { default: 'sourceMapSupport' }, + 'stoppable': { default: 'stoppable' }, + 'enquirer': { default: 'enquirer' }, + 'chokidar': { default: 'chokidar' }, + 'get-east-asian-width': { namespace: 'getEastAsianWidth' }, + 'yazl': { namespace: 'yazl' }, + 'yauzl': { namespace: 'yauzl' }, + 'zod': { namespace: 'z' }, + 'zod-to-json-schema': { named: { zodToJsonSchema: 'zodToJsonSchema' } }, + '@modelcontextprotocol/sdk/client/index.js': { named: { Client: 'Client' } }, + '@modelcontextprotocol/sdk/server/index.js': { named: { Server: 'Server' } }, + '@modelcontextprotocol/sdk/client/sse.js': { named: { SSEClientTransport: 'SSEClientTransport' } }, + '@modelcontextprotocol/sdk/server/sse.js': { named: { SSEServerTransport: 'SSEServerTransport' } }, + '@modelcontextprotocol/sdk/client/stdio.js': { named: { StdioClientTransport: 'StdioClientTransport' } }, + '@modelcontextprotocol/sdk/server/stdio.js': { named: { StdioServerTransport: 'StdioServerTransport' } }, + '@modelcontextprotocol/sdk/server/streamableHttp.js': { named: { StreamableHTTPServerTransport: 'StreamableHTTPServerTransport' } }, + '@modelcontextprotocol/sdk/client/streamableHttp.js': { named: { StreamableHTTPClientTransport: 'StreamableHTTPClientTransport' } }, + '@modelcontextprotocol/sdk/types.js': { + named: { + CallToolRequestSchema: 'CallToolRequestSchema', + ListRootsRequestSchema: 'ListRootsRequestSchema', + ListToolsRequestSchema: 'ListToolsRequestSchema', + PingRequestSchema: 'PingRequestSchema', + ProgressNotificationSchema: 'ProgressNotificationSchema', + }, + }, +}; + +const VENDORED_PACKAGES = new Set(Object.keys(MAPPING)); + +module.exports = { MAPPING, VENDORED_PACKAGES }; diff --git a/utils/check_deps.js b/utils/check_deps.js index 269522d742b18..06a4df30dc2ed 100644 --- a/utils/check_deps.js +++ b/utils/check_deps.js @@ -29,7 +29,7 @@ const packages = new Map(); packages.set('web', packagesDir + '/web/src/'); packages.set('injected', packagesDir + '/injected/src/'); packages.set('isomorphic', packagesDir + '/playwright-core/src/utils/isomorphic/'); -packages.set('serverUtils', packagesDir + '/playwright-core/src/server/utils/'); +packages.set('utils', packagesDir + '/playwright-core/src/server/utils/'); packages.set('testIsomorphic', packagesDir + '/playwright/src/isomorphic/'); const peerDependencies = ['electron', 'react', 'react-dom', 'react-dom/client', '@zip.js/zip.js', 'zod', 'zod/v3']; @@ -96,8 +96,21 @@ async function innerCheckDeps(root) { if (packageJSON) { for (const dep of peerDependencies) deps.delete(dep); + // Vendored packages live in `bundles/utils/node_modules/` and are bridged + // through utilsBundle. Per-file `node_modules/` declarations in + // DEPS.list authorize their use; skip the package.json dep check for them. + const { VENDORED_PACKAGES } = require('./build/utilsBundleMapping'); + for (const pkg of VENDORED_PACKAGES) { + const top = pkg.startsWith('@') ? pkg.split('/').slice(0, 2).join('/') : pkg.split('/')[0]; + deps.delete(top); + } for (const dep of deps) { - const resolved = require.resolve(dep, { paths: [root] }); + let resolved; + try { + resolved = require.resolve(dep, { paths: [root] }); + } catch { + continue; + } if (dep === resolved || !resolved.includes('node_modules')) deps.delete(dep); } @@ -169,6 +182,11 @@ async function innerCheckDeps(root) { else deps.add(importName.split('/')[0]); + // Per-folder explicit allow-list: `node_modules/` in DEPS.list + // declares the file may import that exact package specifier. + if (mergedDeps.includes('node_modules/' + importName)) + return; + if (!allowExternalImport(importName, packageJSON)) errors.push(`Disallowed external dependency ${importName} from ${path.relative(root, fileName)}`); } @@ -199,6 +217,8 @@ async function innerCheckDeps(root) { group.push('***'); else if (line === '"strict"') group.push('"strict"'); + else if (line.startsWith('node_modules/')) + group.push(line); else if (line.startsWith('@')) group.push(line.replace(/@([\w-]+)\/(.*)/, (_, arg1, arg2) => packages.get(arg1) + arg2)); else