@venos-inc/venos 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -6
- package/dist/index.js +80 -66
- package/etc/mcp-server/bin.js +2 -9
- package/etc/mcp-server/client.js +129 -27
- package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/json5 +2 -2
- package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/parser +2 -2
- package/etc/mcp-server/node_modules/@babel/core/node_modules/.bin/semver +2 -2
- package/etc/mcp-server/node_modules/@babel/generator/node_modules/.bin/jsesc +2 -2
- package/etc/mcp-server/node_modules/@babel/generator/node_modules/.bin/parser +2 -2
- package/etc/mcp-server/node_modules/@babel/helper-compilation-targets/node_modules/.bin/browserslist +2 -2
- package/etc/mcp-server/node_modules/@babel/helper-compilation-targets/node_modules/.bin/semver +2 -2
- package/etc/mcp-server/node_modules/@babel/template/node_modules/.bin/parser +2 -2
- package/etc/mcp-server/node_modules/@babel/traverse/node_modules/.bin/parser +2 -2
- package/etc/mcp-server/node_modules/@eslint/eslintrc/node_modules/.bin/js-yaml +2 -2
- package/etc/mcp-server/node_modules/@eslint-community/eslint-utils/node_modules/.bin/eslint +2 -2
- package/etc/mcp-server/node_modules/@fastify/busboy/LICENSE +19 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/README.md +271 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/LICENSE +19 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js +213 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js +100 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js +13 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/deps/dicer/lib/dicer.d.ts +164 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js +228 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/main.d.ts +196 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/main.js +85 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/types/multipart.js +306 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/types/urlencoded.js +190 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/Decoder.js +54 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/basename.js +14 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/decodeText.js +114 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/getLimit.js +16 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/lib/utils/parseParams.js +196 -0
- package/etc/mcp-server/node_modules/@fastify/busboy/package.json +86 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/README.md +143 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/build/index.cjs +317 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/index.mjs +14 -0
- package/etc/mcp-server/node_modules/@isaacs/cliui/package.json +86 -0
- package/etc/mcp-server/node_modules/@types/babel__core/node_modules/.bin/parser +2 -2
- package/etc/mcp-server/node_modules/@types/babel__template/node_modules/.bin/parser +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/eslint +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/eslint-plugin/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/eslint +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/parser/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/project-service/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/project-service/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/tsconfig-utils/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/tsconfig-utils/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/eslint +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/type-utils/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/semver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/typescript-estree/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/eslint +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/@typescript-eslint/utils/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/@vitest/mocker/node_modules/.bin/vite +2 -2
- package/etc/mcp-server/node_modules/acorn-jsx/node_modules/.bin/acorn +2 -2
- package/etc/mcp-server/node_modules/ansi-regex/index.d.ts +33 -0
- package/etc/mcp-server/node_modules/ansi-regex/index.js +14 -0
- package/etc/mcp-server/node_modules/{bl/LICENSE.md → ansi-regex/license} +2 -6
- package/etc/mcp-server/node_modules/ansi-regex/package.json +61 -0
- package/etc/mcp-server/node_modules/ansi-regex/readme.md +66 -0
- package/etc/mcp-server/node_modules/ansi-styles/index.d.ts +232 -341
- package/etc/mcp-server/node_modules/ansi-styles/index.js +190 -130
- package/etc/mcp-server/node_modules/ansi-styles/license +1 -1
- package/etc/mcp-server/node_modules/ansi-styles/package.json +8 -10
- package/etc/mcp-server/node_modules/ansi-styles/readme.md +53 -32
- package/etc/mcp-server/node_modules/async/CHANGELOG.md +351 -0
- package/etc/mcp-server/node_modules/async/LICENSE +19 -0
- package/etc/mcp-server/node_modules/async/README.md +59 -0
- package/etc/mcp-server/node_modules/async/all.js +119 -0
- package/etc/mcp-server/node_modules/async/allLimit.js +46 -0
- package/etc/mcp-server/node_modules/async/allSeries.js +45 -0
- package/etc/mcp-server/node_modules/async/any.js +122 -0
- package/etc/mcp-server/node_modules/async/anyLimit.js +47 -0
- package/etc/mcp-server/node_modules/async/anySeries.js +46 -0
- package/etc/mcp-server/node_modules/async/apply.js +11 -0
- package/etc/mcp-server/node_modules/async/applyEach.js +57 -0
- package/etc/mcp-server/node_modules/async/applyEachSeries.js +37 -0
- package/etc/mcp-server/node_modules/async/asyncify.js +118 -0
- package/etc/mcp-server/node_modules/async/auto.js +333 -0
- package/etc/mcp-server/node_modules/async/autoInject.js +182 -0
- package/etc/mcp-server/node_modules/async/bower.json +17 -0
- package/etc/mcp-server/node_modules/async/cargo.js +63 -0
- package/etc/mcp-server/node_modules/async/cargoQueue.js +71 -0
- package/etc/mcp-server/node_modules/async/compose.js +55 -0
- package/etc/mcp-server/node_modules/async/concat.js +115 -0
- package/etc/mcp-server/node_modules/async/concatLimit.js +60 -0
- package/etc/mcp-server/node_modules/async/concatSeries.js +41 -0
- package/etc/mcp-server/node_modules/async/constant.js +14 -0
- package/etc/mcp-server/node_modules/async/detect.js +96 -0
- package/etc/mcp-server/node_modules/async/detectLimit.js +48 -0
- package/etc/mcp-server/node_modules/async/detectSeries.js +47 -0
- package/etc/mcp-server/node_modules/async/dir.js +43 -0
- package/etc/mcp-server/node_modules/async/dist/async.js +6061 -0
- package/etc/mcp-server/node_modules/async/dist/async.min.js +1 -0
- package/etc/mcp-server/node_modules/async/dist/async.mjs +5948 -0
- package/etc/mcp-server/node_modules/async/doDuring.js +68 -0
- package/etc/mcp-server/node_modules/async/doUntil.js +46 -0
- package/etc/mcp-server/node_modules/async/doWhilst.js +68 -0
- package/etc/mcp-server/node_modules/async/during.js +78 -0
- package/etc/mcp-server/node_modules/async/each.js +129 -0
- package/etc/mcp-server/node_modules/async/eachLimit.js +50 -0
- package/etc/mcp-server/node_modules/async/eachOf.js +185 -0
- package/etc/mcp-server/node_modules/async/eachOfLimit.js +47 -0
- package/etc/mcp-server/node_modules/async/eachOfSeries.js +39 -0
- package/etc/mcp-server/node_modules/async/eachSeries.js +44 -0
- package/etc/mcp-server/node_modules/async/ensureAsync.js +67 -0
- package/etc/mcp-server/node_modules/async/every.js +119 -0
- package/etc/mcp-server/node_modules/async/everyLimit.js +46 -0
- package/etc/mcp-server/node_modules/async/everySeries.js +45 -0
- package/etc/mcp-server/node_modules/async/filter.js +93 -0
- package/etc/mcp-server/node_modules/async/filterLimit.js +45 -0
- package/etc/mcp-server/node_modules/async/filterSeries.js +43 -0
- package/etc/mcp-server/node_modules/async/find.js +96 -0
- package/etc/mcp-server/node_modules/async/findLimit.js +48 -0
- package/etc/mcp-server/node_modules/async/findSeries.js +47 -0
- package/etc/mcp-server/node_modules/async/flatMap.js +115 -0
- package/etc/mcp-server/node_modules/async/flatMapLimit.js +60 -0
- package/etc/mcp-server/node_modules/async/flatMapSeries.js +41 -0
- package/etc/mcp-server/node_modules/async/foldl.js +153 -0
- package/etc/mcp-server/node_modules/async/foldr.js +41 -0
- package/etc/mcp-server/node_modules/async/forEach.js +129 -0
- package/etc/mcp-server/node_modules/async/forEachLimit.js +50 -0
- package/etc/mcp-server/node_modules/async/forEachOf.js +185 -0
- package/etc/mcp-server/node_modules/async/forEachOfLimit.js +47 -0
- package/etc/mcp-server/node_modules/async/forEachOfSeries.js +39 -0
- package/etc/mcp-server/node_modules/async/forEachSeries.js +44 -0
- package/etc/mcp-server/node_modules/async/forever.js +68 -0
- package/etc/mcp-server/node_modules/async/groupBy.js +108 -0
- package/etc/mcp-server/node_modules/async/groupByLimit.js +71 -0
- package/etc/mcp-server/node_modules/async/groupBySeries.js +36 -0
- package/etc/mcp-server/node_modules/async/index.js +588 -0
- package/etc/mcp-server/node_modules/async/inject.js +153 -0
- package/etc/mcp-server/node_modules/async/internal/DoublyLinkedList.js +92 -0
- package/etc/mcp-server/node_modules/async/internal/Heap.js +120 -0
- package/etc/mcp-server/node_modules/async/internal/applyEach.js +29 -0
- package/etc/mcp-server/node_modules/async/internal/asyncEachOfLimit.js +75 -0
- package/etc/mcp-server/node_modules/async/internal/awaitify.js +28 -0
- package/etc/mcp-server/node_modules/async/internal/breakLoop.js +10 -0
- package/etc/mcp-server/node_modules/async/internal/consoleFunc.js +31 -0
- package/etc/mcp-server/node_modules/async/internal/createTester.js +40 -0
- package/etc/mcp-server/node_modules/async/internal/eachOfLimit.js +90 -0
- package/etc/mcp-server/node_modules/async/internal/filter.js +55 -0
- package/etc/mcp-server/node_modules/async/internal/getIterator.js +11 -0
- package/etc/mcp-server/node_modules/async/internal/initialParams.js +14 -0
- package/etc/mcp-server/node_modules/async/internal/isArrayLike.js +10 -0
- package/etc/mcp-server/node_modules/async/internal/iterator.js +57 -0
- package/etc/mcp-server/node_modules/async/internal/map.js +30 -0
- package/etc/mcp-server/node_modules/async/internal/once.js +17 -0
- package/etc/mcp-server/node_modules/async/internal/onlyOnce.js +15 -0
- package/etc/mcp-server/node_modules/async/internal/parallel.js +34 -0
- package/etc/mcp-server/node_modules/async/internal/promiseCallback.js +23 -0
- package/etc/mcp-server/node_modules/async/internal/queue.js +294 -0
- package/etc/mcp-server/node_modules/async/internal/range.js +14 -0
- package/etc/mcp-server/node_modules/async/internal/reject.js +26 -0
- package/etc/mcp-server/node_modules/async/internal/setImmediate.js +34 -0
- package/etc/mcp-server/node_modules/async/internal/withoutIndex.js +10 -0
- package/etc/mcp-server/node_modules/async/internal/wrapAsync.js +34 -0
- package/etc/mcp-server/node_modules/async/log.js +41 -0
- package/etc/mcp-server/node_modules/async/map.js +142 -0
- package/etc/mcp-server/node_modules/async/mapLimit.js +45 -0
- package/etc/mcp-server/node_modules/async/mapSeries.js +44 -0
- package/etc/mcp-server/node_modules/async/mapValues.js +152 -0
- package/etc/mcp-server/node_modules/async/mapValuesLimit.js +61 -0
- package/etc/mcp-server/node_modules/async/mapValuesSeries.js +37 -0
- package/etc/mcp-server/node_modules/async/memoize.js +91 -0
- package/etc/mcp-server/node_modules/async/nextTick.js +52 -0
- package/etc/mcp-server/node_modules/async/package.json +75 -0
- package/etc/mcp-server/node_modules/async/parallel.js +180 -0
- package/etc/mcp-server/node_modules/async/parallelLimit.js +41 -0
- package/etc/mcp-server/node_modules/async/priorityQueue.js +60 -0
- package/etc/mcp-server/node_modules/async/queue.js +24 -0
- package/etc/mcp-server/node_modules/async/race.js +67 -0
- package/etc/mcp-server/node_modules/async/reduce.js +153 -0
- package/etc/mcp-server/node_modules/async/reduceRight.js +41 -0
- package/etc/mcp-server/node_modules/async/reflect.js +78 -0
- package/etc/mcp-server/node_modules/async/reflectAll.js +93 -0
- package/etc/mcp-server/node_modules/async/reject.js +87 -0
- package/etc/mcp-server/node_modules/async/rejectLimit.js +45 -0
- package/etc/mcp-server/node_modules/async/rejectSeries.js +43 -0
- package/etc/mcp-server/node_modules/async/retry.js +159 -0
- package/etc/mcp-server/node_modules/async/retryable.js +77 -0
- package/etc/mcp-server/node_modules/async/select.js +93 -0
- package/etc/mcp-server/node_modules/async/selectLimit.js +45 -0
- package/etc/mcp-server/node_modules/async/selectSeries.js +43 -0
- package/etc/mcp-server/node_modules/async/seq.js +79 -0
- package/etc/mcp-server/node_modules/async/series.js +186 -0
- package/etc/mcp-server/node_modules/async/setImmediate.js +45 -0
- package/etc/mcp-server/node_modules/async/some.js +122 -0
- package/etc/mcp-server/node_modules/async/someLimit.js +47 -0
- package/etc/mcp-server/node_modules/async/someSeries.js +46 -0
- package/etc/mcp-server/node_modules/async/sortBy.js +190 -0
- package/etc/mcp-server/node_modules/async/timeout.js +89 -0
- package/etc/mcp-server/node_modules/async/times.js +50 -0
- package/etc/mcp-server/node_modules/async/timesLimit.js +43 -0
- package/etc/mcp-server/node_modules/async/timesSeries.js +32 -0
- package/etc/mcp-server/node_modules/async/transform.js +173 -0
- package/etc/mcp-server/node_modules/async/tryEach.js +78 -0
- package/etc/mcp-server/node_modules/async/unmemoize.js +25 -0
- package/etc/mcp-server/node_modules/async/until.js +61 -0
- package/etc/mcp-server/node_modules/async/waterfall.js +105 -0
- package/etc/mcp-server/node_modules/async/whilst.js +78 -0
- package/etc/mcp-server/node_modules/async/wrapSync.js +118 -0
- package/etc/mcp-server/node_modules/atomic-sleep/.travis.yml +11 -0
- package/etc/mcp-server/node_modules/atomic-sleep/LICENSE +22 -0
- package/etc/mcp-server/node_modules/atomic-sleep/index.js +38 -0
- package/etc/mcp-server/node_modules/atomic-sleep/package.json +37 -0
- package/etc/mcp-server/node_modules/atomic-sleep/readme.md +58 -0
- package/etc/mcp-server/node_modules/atomic-sleep/test.js +47 -0
- package/etc/mcp-server/node_modules/b4a/LICENSE +201 -0
- package/etc/mcp-server/node_modules/b4a/README.md +153 -0
- package/etc/mcp-server/node_modules/b4a/browser.js +541 -0
- package/etc/mcp-server/node_modules/b4a/index.js +188 -0
- package/etc/mcp-server/node_modules/b4a/lib/ascii.js +31 -0
- package/etc/mcp-server/node_modules/b4a/lib/base64.js +64 -0
- package/etc/mcp-server/node_modules/b4a/lib/hex.js +51 -0
- package/etc/mcp-server/node_modules/b4a/lib/latin1.js +31 -0
- package/etc/mcp-server/node_modules/b4a/lib/utf16le.js +40 -0
- package/etc/mcp-server/node_modules/b4a/lib/utf8.js +144 -0
- package/etc/mcp-server/node_modules/b4a/package.json +51 -0
- package/etc/mcp-server/node_modules/b4a/react-native.js +5 -0
- package/etc/mcp-server/node_modules/bare-events/LICENSE +201 -0
- package/etc/mcp-server/node_modules/bare-events/README.md +25 -0
- package/etc/mcp-server/node_modules/bare-events/global.d.ts +15 -0
- package/etc/mcp-server/node_modules/bare-events/global.js +5 -0
- package/etc/mcp-server/node_modules/bare-events/index.d.ts +85 -0
- package/etc/mcp-server/node_modules/bare-events/index.js +378 -0
- package/etc/mcp-server/node_modules/bare-events/lib/errors.js +26 -0
- package/etc/mcp-server/node_modules/bare-events/package.json +63 -0
- package/etc/mcp-server/node_modules/bare-events/web.d.ts +79 -0
- package/etc/mcp-server/node_modules/bare-events/web.js +353 -0
- package/etc/mcp-server/node_modules/bare-fs/CMakeLists.txt +13 -0
- package/etc/mcp-server/node_modules/bare-fs/LICENSE +201 -0
- package/etc/mcp-server/node_modules/bare-fs/README.md +989 -0
- package/etc/mcp-server/node_modules/bare-fs/binding.c +2889 -0
- package/etc/mcp-server/node_modules/bare-fs/binding.js +1 -0
- package/etc/mcp-server/node_modules/bare-fs/index.d.ts +1232 -0
- package/etc/mcp-server/node_modules/bare-fs/index.js +2842 -0
- package/etc/mcp-server/node_modules/bare-fs/lib/constants.d.ts +49 -0
- package/etc/mcp-server/node_modules/bare-fs/lib/constants.js +49 -0
- package/etc/mcp-server/node_modules/bare-fs/lib/errors.d.ts +11 -0
- package/etc/mcp-server/node_modules/bare-fs/lib/errors.js +55 -0
- package/etc/mcp-server/node_modules/bare-fs/package.json +74 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
- package/etc/mcp-server/node_modules/bare-fs/promises.d.ts +313 -0
- package/etc/mcp-server/node_modules/bare-fs/promises.js +119 -0
- package/etc/mcp-server/node_modules/bare-os/CMakeLists.txt +13 -0
- package/etc/mcp-server/node_modules/bare-os/LICENSE +201 -0
- package/etc/mcp-server/node_modules/bare-os/README.md +252 -0
- package/etc/mcp-server/node_modules/bare-os/binding.c +1535 -0
- package/etc/mcp-server/node_modules/bare-os/binding.js +1 -0
- package/etc/mcp-server/node_modules/bare-os/index.d.ts +150 -0
- package/etc/mcp-server/node_modules/bare-os/index.js +252 -0
- package/etc/mcp-server/node_modules/bare-os/lib/constants.d.ts +7 -0
- package/etc/mcp-server/node_modules/bare-os/lib/constants.js +7 -0
- package/etc/mcp-server/node_modules/bare-os/lib/errors.d.ts +5 -0
- package/etc/mcp-server/node_modules/bare-os/lib/errors.js +22 -0
- package/etc/mcp-server/node_modules/bare-os/package.json +55 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/android-arm/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/android-arm64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/android-ia32/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/android-x64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/linux-x64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-os/prebuilds/win32-x64/bare-os.bare +0 -0
- package/etc/mcp-server/node_modules/bare-path/LICENSE +201 -0
- package/etc/mcp-server/node_modules/bare-path/NOTICE +28 -0
- package/etc/mcp-server/node_modules/bare-path/README.md +19 -0
- package/etc/mcp-server/node_modules/bare-path/index.d.ts +27 -0
- package/etc/mcp-server/node_modules/bare-path/index.js +9 -0
- package/etc/mcp-server/node_modules/bare-path/lib/constants.js +11 -0
- package/etc/mcp-server/node_modules/bare-path/lib/posix.js +246 -0
- package/etc/mcp-server/node_modules/bare-path/lib/shared.js +73 -0
- package/etc/mcp-server/node_modules/bare-path/lib/win32.js +547 -0
- package/etc/mcp-server/node_modules/bare-path/package.json +44 -0
- package/etc/mcp-server/node_modules/bare-stream/LICENSE +201 -0
- package/etc/mcp-server/node_modules/bare-stream/README.md +354 -0
- package/etc/mcp-server/node_modules/bare-stream/global.d.ts +31 -0
- package/etc/mcp-server/node_modules/bare-stream/global.js +15 -0
- package/etc/mcp-server/node_modules/bare-stream/index.d.ts +235 -0
- package/etc/mcp-server/node_modules/bare-stream/index.js +493 -0
- package/etc/mcp-server/node_modules/bare-stream/package.json +75 -0
- package/etc/mcp-server/node_modules/bare-stream/promises.js +3 -0
- package/etc/mcp-server/node_modules/bare-stream/web.d.ts +152 -0
- package/etc/mcp-server/node_modules/bare-stream/web.js +607 -0
- package/etc/mcp-server/node_modules/bare-url/CMakeLists.txt +27 -0
- package/etc/mcp-server/node_modules/bare-url/LICENSE +201 -0
- package/etc/mcp-server/node_modules/bare-url/README.md +172 -0
- package/etc/mcp-server/node_modules/bare-url/binding.c +186 -0
- package/etc/mcp-server/node_modules/bare-url/binding.js +1 -0
- package/etc/mcp-server/node_modules/bare-url/global.d.ts +12 -0
- package/etc/mcp-server/node_modules/bare-url/global.js +2 -0
- package/etc/mcp-server/node_modules/bare-url/index.d.ts +41 -0
- package/etc/mcp-server/node_modules/bare-url/index.js +411 -0
- package/etc/mcp-server/node_modules/bare-url/lib/errors.d.ts +10 -0
- package/etc/mcp-server/node_modules/bare-url/lib/errors.js +33 -0
- package/etc/mcp-server/node_modules/bare-url/lib/url-search-params.d.ts +23 -0
- package/etc/mcp-server/node_modules/bare-url/lib/url-search-params.js +194 -0
- package/etc/mcp-server/node_modules/bare-url/package.json +54 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
- package/etc/mcp-server/node_modules/brace-expansion/.github/FUNDING.yml +2 -0
- package/etc/mcp-server/node_modules/brace-expansion/index.js +86 -84
- package/etc/mcp-server/node_modules/browserslist/node_modules/.bin/baseline-browser-mapping +2 -2
- package/etc/mcp-server/node_modules/browserslist/node_modules/.bin/update-browserslist-db +2 -2
- package/etc/mcp-server/node_modules/buffer/AUTHORS.md +3 -0
- package/etc/mcp-server/node_modules/buffer/README.md +1 -1
- package/etc/mcp-server/node_modules/buffer/index.d.ts +11 -3
- package/etc/mcp-server/node_modules/buffer/index.js +424 -135
- package/etc/mcp-server/node_modules/buffer/package.json +8 -11
- package/etc/mcp-server/node_modules/cliui/CHANGELOG.md +139 -0
- package/etc/mcp-server/node_modules/cliui/LICENSE.txt +14 -0
- package/etc/mcp-server/node_modules/cliui/README.md +141 -0
- package/etc/mcp-server/node_modules/cliui/build/index.cjs +302 -0
- package/etc/mcp-server/node_modules/cliui/build/index.d.cts +43 -0
- package/etc/mcp-server/node_modules/cliui/build/lib/index.js +287 -0
- package/etc/mcp-server/node_modules/cliui/build/lib/string-utils.js +27 -0
- package/etc/mcp-server/node_modules/cliui/index.mjs +13 -0
- package/etc/mcp-server/node_modules/cliui/package.json +83 -0
- package/etc/mcp-server/node_modules/core-util-is/LICENSE +19 -0
- package/etc/mcp-server/node_modules/core-util-is/README.md +3 -0
- package/etc/mcp-server/node_modules/core-util-is/lib/util.js +107 -0
- package/etc/mcp-server/node_modules/core-util-is/package.json +38 -0
- package/etc/mcp-server/node_modules/cross-spawn/node_modules/.bin/node-which +2 -2
- package/etc/mcp-server/node_modules/eastasianwidth/README.md +32 -0
- package/etc/mcp-server/node_modules/eastasianwidth/eastasianwidth.js +311 -0
- package/etc/mcp-server/node_modules/eastasianwidth/package.json +18 -0
- package/etc/mcp-server/node_modules/{bindings/LICENSE.md → emoji-regex/LICENSE-MIT.txt} +8 -10
- package/etc/mcp-server/node_modules/emoji-regex/README.md +137 -0
- package/etc/mcp-server/node_modules/emoji-regex/RGI_Emoji.d.ts +5 -0
- package/etc/mcp-server/node_modules/emoji-regex/RGI_Emoji.js +6 -0
- package/etc/mcp-server/node_modules/emoji-regex/es2015/RGI_Emoji.d.ts +5 -0
- package/etc/mcp-server/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
- package/etc/mcp-server/node_modules/emoji-regex/es2015/index.d.ts +5 -0
- package/etc/mcp-server/node_modules/emoji-regex/es2015/index.js +6 -0
- package/etc/mcp-server/node_modules/emoji-regex/es2015/text.d.ts +5 -0
- package/etc/mcp-server/node_modules/emoji-regex/es2015/text.js +6 -0
- package/etc/mcp-server/node_modules/emoji-regex/index.d.ts +5 -0
- package/etc/mcp-server/node_modules/emoji-regex/index.js +6 -0
- package/etc/mcp-server/node_modules/emoji-regex/package.json +52 -0
- package/etc/mcp-server/node_modules/emoji-regex/text.d.ts +5 -0
- package/etc/mcp-server/node_modules/emoji-regex/text.js +6 -0
- package/etc/mcp-server/node_modules/espree/node_modules/.bin/acorn +2 -2
- package/etc/mcp-server/node_modules/events-universal/LICENSE +201 -0
- package/etc/mcp-server/node_modules/events-universal/README.md +17 -0
- package/etc/mcp-server/node_modules/events-universal/bare.js +1 -0
- package/etc/mcp-server/node_modules/events-universal/default.js +1 -0
- package/etc/mcp-server/node_modules/events-universal/index.js +1 -0
- package/etc/mcp-server/node_modules/events-universal/package.json +39 -0
- package/etc/mcp-server/node_modules/events-universal/react-native.js +1 -0
- package/etc/mcp-server/node_modules/{fs-constants → fast-fifo}/LICENSE +1 -1
- package/etc/mcp-server/node_modules/fast-fifo/README.md +78 -0
- package/etc/mcp-server/node_modules/fast-fifo/fixed-size.js +39 -0
- package/etc/mcp-server/node_modules/fast-fifo/index.js +48 -0
- package/etc/mcp-server/node_modules/fast-fifo/package.json +28 -0
- package/etc/mcp-server/node_modules/{chownr → foreground-child}/LICENSE +1 -1
- package/etc/mcp-server/node_modules/foreground-child/README.md +128 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.d.ts +2 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.js +58 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/all-signals.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.d.ts +58 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.js +123 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts +6 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.js +38 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/proxy-signals.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.d.ts +10 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.js +50 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/commonjs/watchdog.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.d.ts +2 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.js +52 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/all-signals.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.d.ts +58 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.js +115 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.d.ts +6 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.js +34 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/proxy-signals.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.d.ts +10 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.js +46 -0
- package/etc/mcp-server/node_modules/foreground-child/dist/esm/watchdog.js.map +1 -0
- package/etc/mcp-server/node_modules/foreground-child/package.json +106 -0
- package/etc/mcp-server/node_modules/get-caller-file/LICENSE.md +6 -0
- package/etc/mcp-server/node_modules/get-caller-file/README.md +41 -0
- package/etc/mcp-server/node_modules/get-caller-file/index.d.ts +2 -0
- package/etc/mcp-server/node_modules/get-caller-file/index.js +22 -0
- package/etc/mcp-server/node_modules/get-caller-file/index.js.map +1 -0
- package/etc/mcp-server/node_modules/get-caller-file/package.json +42 -0
- package/etc/mcp-server/node_modules/glob/LICENSE +15 -0
- package/etc/mcp-server/node_modules/glob/README.md +1265 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.js +247 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/index.d.ts +97 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/index.js +68 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.js +219 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/etc/mcp-server/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/bin.d.mts +3 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/bin.d.mts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/bin.mjs +346 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/bin.mjs.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/glob.d.ts +388 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/glob.js +243 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/ignore.d.ts +24 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/ignore.js +115 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/index.d.ts +97 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/index.js +55 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/pattern.d.ts +76 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/pattern.js +215 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/processor.d.ts +59 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/processor.js +294 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/walker.d.ts +97 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/walker.js +381 -0
- package/etc/mcp-server/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/etc/mcp-server/node_modules/glob/package.json +99 -0
- package/etc/mcp-server/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/etc/mcp-server/node_modules/is-fullwidth-code-point/index.js +50 -0
- package/etc/mcp-server/node_modules/is-fullwidth-code-point/license +9 -0
- package/etc/mcp-server/node_modules/is-fullwidth-code-point/package.json +42 -0
- package/etc/mcp-server/node_modules/is-fullwidth-code-point/readme.md +39 -0
- package/etc/mcp-server/node_modules/{tar-fs → isarray}/.travis.yml +2 -4
- package/etc/mcp-server/node_modules/isarray/Makefile +6 -0
- package/etc/mcp-server/node_modules/isarray/README.md +60 -0
- package/etc/mcp-server/node_modules/isarray/component.json +19 -0
- package/etc/mcp-server/node_modules/isarray/index.js +5 -0
- package/etc/mcp-server/node_modules/isarray/package.json +45 -0
- package/etc/mcp-server/node_modules/isarray/test.js +20 -0
- package/etc/mcp-server/node_modules/jackspeak/LICENSE.md +55 -0
- package/etc/mcp-server/node_modules/jackspeak/README.md +357 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.d.ts +315 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.js +1010 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args-cjs.cjs.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args-cjs.d.cts.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args.d.ts +4 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/commonjs/parse-args.js +50 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.d.ts +315 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.js +1000 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.d.ts +4 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.js +26 -0
- package/etc/mcp-server/node_modules/jackspeak/dist/esm/parse-args.js.map +1 -0
- package/etc/mcp-server/node_modules/jackspeak/package.json +95 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.d.ts +1277 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.js +1546 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.d.ts +1277 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.js +1542 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
- package/etc/mcp-server/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/minipass/LICENSE.md +55 -0
- package/etc/mcp-server/node_modules/minipass/README.md +825 -0
- package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
- package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/etc/mcp-server/node_modules/minipass/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/minipass/dist/esm/index.d.ts +545 -0
- package/etc/mcp-server/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/minipass/dist/esm/index.js +1020 -0
- package/etc/mcp-server/node_modules/minipass/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/minipass/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/minipass/package.json +77 -0
- package/etc/mcp-server/node_modules/mkdirp/CHANGELOG.md +15 -0
- package/etc/mcp-server/node_modules/mkdirp/LICENSE +21 -0
- package/etc/mcp-server/node_modules/mkdirp/bin/cmd.js +68 -0
- package/etc/mcp-server/node_modules/mkdirp/index.js +31 -0
- package/etc/mcp-server/node_modules/mkdirp/lib/find-made.js +29 -0
- package/etc/mcp-server/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
- package/etc/mcp-server/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
- package/etc/mcp-server/node_modules/mkdirp/lib/opts-arg.js +23 -0
- package/etc/mcp-server/node_modules/mkdirp/lib/path-arg.js +29 -0
- package/etc/mcp-server/node_modules/mkdirp/lib/use-native.js +10 -0
- package/etc/mcp-server/node_modules/mkdirp/package.json +44 -0
- package/etc/mcp-server/node_modules/mkdirp/readme.markdown +266 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/LICENSE.md +63 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/README.md +110 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.d.ts +89 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.js +134 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.d.ts +89 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.js +129 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/package-json-from-dist/package.json +68 -0
- package/etc/mcp-server/node_modules/path-scurry/LICENSE.md +55 -0
- package/etc/mcp-server/node_modules/path-scurry/README.md +636 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.d.ts +1116 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.js +2014 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.d.ts +1116 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.js +1979 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/esm/index.js.map +1 -0
- package/etc/mcp-server/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/etc/mcp-server/node_modules/path-scurry/package.json +89 -0
- package/etc/mcp-server/node_modules/playwright/LICENSE +202 -0
- package/etc/mcp-server/node_modules/playwright/NOTICE +5 -0
- package/etc/mcp-server/node_modules/playwright/README.md +318 -0
- package/etc/mcp-server/node_modules/playwright/ThirdPartyNotices.txt +14 -0
- package/etc/mcp-server/node_modules/playwright/cli.js +19 -0
- package/etc/mcp-server/node_modules/playwright/index.d.ts +17 -0
- package/etc/mcp-server/node_modules/playwright/index.js +17 -0
- package/etc/mcp-server/node_modules/playwright/index.mjs +18 -0
- package/etc/mcp-server/node_modules/playwright/jsx-runtime.js +42 -0
- package/etc/mcp-server/node_modules/playwright/jsx-runtime.mjs +21 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/agentParser.js +89 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/copilot-setup-steps.yml +34 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/generateAgents.js +395 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-coverage.prompt.md +31 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-generate.prompt.md +8 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-generator.agent.md +88 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-heal.prompt.md +6 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-healer.agent.md +56 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-plan.prompt.md +9 -0
- package/etc/mcp-server/node_modules/playwright/lib/agents/playwright-test-planner.agent.md +74 -0
- package/etc/mcp-server/node_modules/playwright/lib/cli/reportActions.js +78 -0
- package/etc/mcp-server/node_modules/playwright/lib/cli/testActions.js +213 -0
- package/etc/mcp-server/node_modules/playwright/lib/common/index.js +2932 -0
- package/etc/mcp-server/node_modules/playwright/lib/common/index.js.txt +35 -0
- package/etc/mcp-server/node_modules/playwright/lib/errorContext.js +130 -0
- package/etc/mcp-server/node_modules/playwright/lib/globals.js +58 -0
- package/etc/mcp-server/node_modules/playwright/lib/index.js +784 -0
- package/etc/mcp-server/node_modules/playwright/lib/isomorphic.js +260 -0
- package/etc/mcp-server/node_modules/playwright/lib/isomorphic.js.txt +9 -0
- package/etc/mcp-server/node_modules/playwright/lib/loader/loaderProcessEntry.js +34 -0
- package/etc/mcp-server/node_modules/playwright/lib/loader/loaderProcessEntry.js.txt +9 -0
- package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js +13054 -0
- package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js.LICENSE +693 -0
- package/etc/mcp-server/node_modules/playwright/lib/matchers/expect.js.txt +72 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/browserBackend.js +125 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/generatorTools.js +122 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/plannerTools.js +150 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/seed.js +82 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/streams.js +44 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testBackend.js +99 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testContext.js +306 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testTool.js +30 -0
- package/etc/mcp-server/node_modules/playwright/lib/mcp/test/testTools.js +98 -0
- package/etc/mcp-server/node_modules/playwright/lib/package.js +47 -0
- package/etc/mcp-server/node_modules/playwright/lib/program.js +223 -0
- package/etc/mcp-server/node_modules/playwright/lib/runner/index.js +8085 -0
- package/etc/mcp-server/node_modules/playwright/lib/runner/index.js.txt +59 -0
- package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js +71030 -0
- package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js.LICENSE +2359 -0
- package/etc/mcp-server/node_modules/playwright/lib/transform/babelBundle.js.txt +325 -0
- package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js +6065 -0
- package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js.LICENSE +335 -0
- package/etc/mcp-server/node_modules/playwright/lib/transform/esmLoader.js.txt +57 -0
- package/etc/mcp-server/node_modules/playwright/lib/util.js +400 -0
- package/etc/mcp-server/node_modules/playwright/lib/worker/workerProcessEntry.js +1868 -0
- package/etc/mcp-server/node_modules/playwright/lib/worker/workerProcessEntry.js.txt +20 -0
- package/etc/mcp-server/node_modules/playwright/node_modules/.bin/playwright-core +17 -0
- package/etc/mcp-server/node_modules/playwright/package.json +61 -0
- package/etc/mcp-server/node_modules/playwright/test.d.ts +18 -0
- package/etc/mcp-server/node_modules/playwright/test.js +24 -0
- package/etc/mcp-server/node_modules/playwright/test.mjs +35 -0
- package/etc/mcp-server/node_modules/playwright/types/test.d.ts +10461 -0
- package/etc/mcp-server/node_modules/playwright/types/testReporter.d.ts +824 -0
- package/etc/mcp-server/node_modules/playwright-core/LICENSE +202 -0
- package/etc/mcp-server/node_modules/playwright-core/NOTICE +5 -0
- package/etc/mcp-server/node_modules/playwright-core/README.md +3 -0
- package/etc/mcp-server/node_modules/playwright-core/ThirdPartyNotices.txt +13 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/install_media_pack.ps1 +5 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/install_webkit_wsl.ps1 +33 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +42 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +13 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_beta_win.ps1 +24 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +42 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +12 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_chrome_stable_win.ps1 +24 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +48 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +11 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_beta_win.ps1 +23 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +48 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +11 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_dev_win.ps1 +23 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +48 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +11 -0
- package/etc/mcp-server/node_modules/playwright-core/bin/reinstall_msedge_stable_win.ps1 +24 -0
- package/etc/mcp-server/node_modules/playwright-core/browsers.json +81 -0
- package/etc/mcp-server/node_modules/playwright-core/cli.js +21 -0
- package/etc/mcp-server/node_modules/playwright-core/index.d.ts +17 -0
- package/etc/mcp-server/node_modules/playwright-core/index.js +17 -0
- package/etc/mcp-server/node_modules/playwright-core/index.mjs +28 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/bootstrap.js +88 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/coreBundle.js +73386 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/entry/cliDaemon.js +5 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/entry/dashboardApp.js +3 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/entry/mcp.js +10 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/entry/oopBrowserDownload.js +3 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/package.js +50 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/server/chromium/appIcon.png +0 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/server/deviceDescriptorsSource.json +2739 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/server/electron/loader.js +115 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/serverRegistry.js +7343 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/serverRegistry.js.LICENSE +354 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/channelSessions.js +141 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/cli.js +6 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/help.json +693 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/minimist.js +128 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/output.js +343 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/program.js +404 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/registry.js +176 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/session.js +254 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/SKILL.md +404 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/running-code.md +241 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/session-management.md +225 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/spec-driven-testing.md +305 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/storage-state.md +275 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/test-generation.md +134 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/tracing.md +139 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/cli-client/skill/references/video-recording.md +143 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/dashboard/appIcon.png +0 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/trace/SKILL.md +171 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/utils/extension.js +78 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/tools/utils/socketConnection.js +108 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/utilsBundle.js +86736 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/utilsBundle.js.LICENSE +2056 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/index-BY2S1tHT.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/index-C_5TMfeg.js +52 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/index.html +29 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/dashboard/playwright-logo.svg +24 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/index.html +16 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/report.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/htmlReport/report.js +72 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codeMirrorModule-DeBYQozu.js +32 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/index-4ZiSSCmn.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/assets/index-Bq-mQf8S.js +193 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/index.html +29 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/recorder/playwright-logo.svg +9 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/codeMirrorModule-LEHpjmcn.js +32 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/defaultSettingsView-BNmKHKpQ.js +264 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/defaultSettingsView.CjdS-WJx.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.CzXZzn5A.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.DMMX1gXU.js +2 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/index.html +44 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/manifest.webmanifest +16 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/playwright-logo.svg +9 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/snapshot.html +10 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/snapshot.v8KI4P3m.js +2 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/sw.bundle.js +5 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.BZQ54Kgt.css +1 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.Ut8wwJNp.js +6 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +18 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
- package/etc/mcp-server/node_modules/playwright-core/lib/xdg-open +1066 -0
- package/etc/mcp-server/node_modules/playwright-core/package.json +34 -0
- package/etc/mcp-server/node_modules/playwright-core/types/protocol.d.ts +24629 -0
- package/etc/mcp-server/node_modules/playwright-core/types/structs.d.ts +45 -0
- package/etc/mcp-server/node_modules/playwright-core/types/types.d.ts +24445 -0
- package/etc/mcp-server/node_modules/postcss/node_modules/.bin/nanoid +2 -2
- package/etc/mcp-server/node_modules/readable-stream/README.md +41 -31
- package/etc/mcp-server/node_modules/readable-stream/lib/_stream_duplex.js +3 -125
- package/etc/mcp-server/node_modules/readable-stream/lib/_stream_passthrough.js +3 -36
- package/etc/mcp-server/node_modules/readable-stream/lib/_stream_readable.js +3 -1026
- package/etc/mcp-server/node_modules/readable-stream/lib/_stream_transform.js +3 -189
- package/etc/mcp-server/node_modules/readable-stream/lib/_stream_writable.js +3 -640
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/buffer_list.js +141 -167
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/destroy.js +265 -71
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +277 -77
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/from.js +83 -37
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/pipeline.js +458 -73
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/state.js +28 -11
- package/etc/mcp-server/node_modules/readable-stream/package.json +77 -57
- package/etc/mcp-server/node_modules/require-directory/.jshintrc +67 -0
- package/etc/mcp-server/node_modules/require-directory/.travis.yml +3 -0
- package/etc/mcp-server/node_modules/{file-uri-to-path → require-directory}/LICENSE +10 -8
- package/etc/mcp-server/node_modules/require-directory/README.markdown +184 -0
- package/etc/mcp-server/node_modules/require-directory/index.js +86 -0
- package/etc/mcp-server/node_modules/require-directory/package.json +40 -0
- package/etc/mcp-server/node_modules/sharp/node_modules/.bin/semver +2 -2
- package/etc/mcp-server/node_modules/signal-exit/LICENSE.txt +16 -0
- package/etc/mcp-server/node_modules/signal-exit/README.md +74 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/etc/mcp-server/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- package/etc/mcp-server/node_modules/signal-exit/index.js +202 -0
- package/etc/mcp-server/node_modules/signal-exit/package.json +106 -0
- package/etc/mcp-server/node_modules/signal-exit/signals.js +53 -0
- package/etc/mcp-server/node_modules/{mkdirp-classic → streamx}/LICENSE +1 -1
- package/etc/mcp-server/node_modules/streamx/README.md +550 -0
- package/etc/mcp-server/node_modules/streamx/index.d.ts +198 -0
- package/etc/mcp-server/node_modules/streamx/index.js +1314 -0
- package/etc/mcp-server/node_modules/streamx/lib/errors.d.ts +13 -0
- package/etc/mcp-server/node_modules/streamx/lib/errors.js +47 -0
- package/etc/mcp-server/node_modules/streamx/package.json +51 -0
- package/etc/mcp-server/node_modules/streamx/runtime.d.ts +55 -0
- package/etc/mcp-server/node_modules/string-width/index.d.ts +29 -0
- package/etc/mcp-server/node_modules/string-width/index.js +47 -0
- package/etc/mcp-server/node_modules/string-width/license +9 -0
- package/etc/mcp-server/node_modules/string-width/package.json +56 -0
- package/etc/mcp-server/node_modules/string-width/readme.md +50 -0
- package/etc/mcp-server/node_modules/string-width-cjs/index.d.ts +29 -0
- package/etc/mcp-server/node_modules/string-width-cjs/index.js +47 -0
- package/etc/mcp-server/node_modules/string-width-cjs/license +9 -0
- package/etc/mcp-server/node_modules/string-width-cjs/package.json +56 -0
- package/etc/mcp-server/node_modules/string-width-cjs/readme.md +50 -0
- package/etc/mcp-server/node_modules/strip-ansi/index.d.ts +17 -0
- package/etc/mcp-server/node_modules/strip-ansi/index.js +4 -0
- package/etc/mcp-server/node_modules/strip-ansi/license +9 -0
- package/etc/mcp-server/node_modules/strip-ansi/package.json +54 -0
- package/etc/mcp-server/node_modules/strip-ansi/readme.md +46 -0
- package/etc/mcp-server/node_modules/strip-ansi-cjs/index.d.ts +17 -0
- package/etc/mcp-server/node_modules/strip-ansi-cjs/index.js +4 -0
- package/etc/mcp-server/node_modules/strip-ansi-cjs/license +9 -0
- package/etc/mcp-server/node_modules/strip-ansi-cjs/package.json +54 -0
- package/etc/mcp-server/node_modules/strip-ansi-cjs/readme.md +46 -0
- package/etc/mcp-server/node_modules/tar-fs/README.md +23 -34
- package/etc/mcp-server/node_modules/tar-fs/index.js +248 -193
- package/etc/mcp-server/node_modules/tar-fs/package.json +27 -7
- package/etc/mcp-server/node_modules/tar-stream/README.md +34 -19
- package/etc/mcp-server/node_modules/tar-stream/constants.js +14 -0
- package/etc/mcp-server/node_modules/tar-stream/extract.js +353 -192
- package/etc/mcp-server/node_modules/tar-stream/headers.js +202 -175
- package/etc/mcp-server/node_modules/tar-stream/pack.js +226 -194
- package/etc/mcp-server/node_modules/tar-stream/package.json +29 -45
- package/etc/mcp-server/node_modules/teex/LICENSE +21 -0
- package/etc/mcp-server/node_modules/teex/README.md +31 -0
- package/etc/mcp-server/node_modules/teex/example.js +16 -0
- package/etc/mcp-server/node_modules/teex/index.js +52 -0
- package/etc/mcp-server/node_modules/teex/package.json +26 -0
- package/etc/mcp-server/node_modules/teex/test.js +68 -0
- package/etc/mcp-server/node_modules/text-decoder/LICENSE +201 -0
- package/etc/mcp-server/node_modules/text-decoder/README.md +36 -0
- package/etc/mcp-server/node_modules/text-decoder/index.js +64 -0
- package/etc/mcp-server/node_modules/text-decoder/lib/pass-through-decoder.js +19 -0
- package/etc/mcp-server/node_modules/text-decoder/lib/utf8-decoder.js +185 -0
- package/etc/mcp-server/node_modules/text-decoder/package.json +39 -0
- package/etc/mcp-server/node_modules/tmp/LICENSE +21 -0
- package/etc/mcp-server/node_modules/tmp/README.md +391 -0
- package/etc/mcp-server/node_modules/tmp/lib/tmp.js +872 -0
- package/etc/mcp-server/node_modules/tmp/package.json +44 -0
- package/etc/mcp-server/node_modules/ts-api-utils/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/ts-api-utils/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/eslint +2 -2
- package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/tsc +2 -2
- package/etc/mcp-server/node_modules/typescript-eslint/node_modules/.bin/tsserver +2 -2
- package/etc/mcp-server/node_modules/undici/LICENSE +21 -0
- package/etc/mcp-server/node_modules/undici/README.md +443 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Agent.md +80 -0
- package/etc/mcp-server/node_modules/undici/docs/api/BalancedPool.md +99 -0
- package/etc/mcp-server/node_modules/undici/docs/api/CacheStorage.md +30 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Client.md +273 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Connector.md +115 -0
- package/etc/mcp-server/node_modules/undici/docs/api/ContentType.md +57 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Cookies.md +101 -0
- package/etc/mcp-server/node_modules/undici/docs/api/DiagnosticsChannel.md +204 -0
- package/etc/mcp-server/node_modules/undici/docs/api/DispatchInterceptor.md +60 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Dispatcher.md +887 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Errors.md +47 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Fetch.md +27 -0
- package/etc/mcp-server/node_modules/undici/docs/api/MockAgent.md +540 -0
- package/etc/mcp-server/node_modules/undici/docs/api/MockClient.md +77 -0
- package/etc/mcp-server/node_modules/undici/docs/api/MockErrors.md +12 -0
- package/etc/mcp-server/node_modules/undici/docs/api/MockPool.md +547 -0
- package/etc/mcp-server/node_modules/undici/docs/api/Pool.md +84 -0
- package/etc/mcp-server/node_modules/undici/docs/api/PoolStats.md +35 -0
- package/etc/mcp-server/node_modules/undici/docs/api/ProxyAgent.md +126 -0
- package/etc/mcp-server/node_modules/undici/docs/api/RetryHandler.md +108 -0
- package/etc/mcp-server/node_modules/undici/docs/api/WebSocket.md +43 -0
- package/etc/mcp-server/node_modules/undici/docs/api/api-lifecycle.md +62 -0
- package/etc/mcp-server/node_modules/undici/docs/assets/lifecycle-diagram.png +0 -0
- package/etc/mcp-server/node_modules/undici/docs/best-practices/client-certificate.md +64 -0
- package/etc/mcp-server/node_modules/undici/docs/best-practices/mocking-request.md +136 -0
- package/etc/mcp-server/node_modules/undici/docs/best-practices/proxy.md +127 -0
- package/etc/mcp-server/node_modules/undici/docs/best-practices/writing-tests.md +20 -0
- package/etc/mcp-server/node_modules/undici/index-fetch.js +15 -0
- package/etc/mcp-server/node_modules/undici/index.d.ts +3 -0
- package/etc/mcp-server/node_modules/undici/index.js +167 -0
- package/etc/mcp-server/node_modules/undici/lib/agent.js +148 -0
- package/etc/mcp-server/node_modules/undici/lib/api/abort-signal.js +54 -0
- package/etc/mcp-server/node_modules/undici/lib/api/api-connect.js +104 -0
- package/etc/mcp-server/node_modules/undici/lib/api/api-pipeline.js +249 -0
- package/etc/mcp-server/node_modules/undici/lib/api/api-request.js +180 -0
- package/etc/mcp-server/node_modules/undici/lib/api/api-stream.js +220 -0
- package/etc/mcp-server/node_modules/undici/lib/api/api-upgrade.js +105 -0
- package/etc/mcp-server/node_modules/undici/lib/api/index.js +7 -0
- package/etc/mcp-server/node_modules/undici/lib/api/readable.js +322 -0
- package/etc/mcp-server/node_modules/undici/lib/api/util.js +46 -0
- package/etc/mcp-server/node_modules/undici/lib/balanced-pool.js +190 -0
- package/etc/mcp-server/node_modules/undici/lib/cache/cache.js +838 -0
- package/etc/mcp-server/node_modules/undici/lib/cache/cachestorage.js +144 -0
- package/etc/mcp-server/node_modules/undici/lib/cache/symbols.js +5 -0
- package/etc/mcp-server/node_modules/undici/lib/cache/util.js +49 -0
- package/etc/mcp-server/node_modules/undici/lib/client.js +2283 -0
- package/etc/mcp-server/node_modules/undici/lib/compat/dispatcher-weakref.js +48 -0
- package/etc/mcp-server/node_modules/undici/lib/cookies/constants.js +12 -0
- package/etc/mcp-server/node_modules/undici/lib/cookies/index.js +183 -0
- package/etc/mcp-server/node_modules/undici/lib/cookies/parse.js +317 -0
- package/etc/mcp-server/node_modules/undici/lib/cookies/util.js +274 -0
- package/etc/mcp-server/node_modules/undici/lib/core/connect.js +189 -0
- package/etc/mcp-server/node_modules/undici/lib/core/constants.js +118 -0
- package/etc/mcp-server/node_modules/undici/lib/core/errors.js +230 -0
- package/etc/mcp-server/node_modules/undici/lib/core/request.js +499 -0
- package/etc/mcp-server/node_modules/undici/lib/core/symbols.js +63 -0
- package/etc/mcp-server/node_modules/undici/lib/core/util.js +522 -0
- package/etc/mcp-server/node_modules/undici/lib/dispatcher-base.js +192 -0
- package/etc/mcp-server/node_modules/undici/lib/dispatcher.js +19 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/LICENSE +21 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/body.js +613 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/constants.js +151 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/dataURL.js +627 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/file.js +344 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/formdata.js +265 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/global.js +40 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/headers.js +593 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/index.js +2148 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/request.js +946 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/response.js +571 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/symbols.js +10 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/util.js +1144 -0
- package/etc/mcp-server/node_modules/undici/lib/fetch/webidl.js +646 -0
- package/etc/mcp-server/node_modules/undici/lib/fileapi/encoding.js +290 -0
- package/etc/mcp-server/node_modules/undici/lib/fileapi/filereader.js +344 -0
- package/etc/mcp-server/node_modules/undici/lib/fileapi/progressevent.js +78 -0
- package/etc/mcp-server/node_modules/undici/lib/fileapi/symbols.js +10 -0
- package/etc/mcp-server/node_modules/undici/lib/fileapi/util.js +392 -0
- package/etc/mcp-server/node_modules/undici/lib/global.js +32 -0
- package/etc/mcp-server/node_modules/undici/lib/handler/DecoratorHandler.js +35 -0
- package/etc/mcp-server/node_modules/undici/lib/handler/RedirectHandler.js +221 -0
- package/etc/mcp-server/node_modules/undici/lib/handler/RetryHandler.js +336 -0
- package/etc/mcp-server/node_modules/undici/lib/interceptor/redirectInterceptor.js +21 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.d.ts +199 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.js +278 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/constants.js.map +1 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp.wasm +0 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/llhttp_simd.wasm +0 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.d.ts +4 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.js +15 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/utils.js.map +1 -0
- package/etc/mcp-server/node_modules/undici/lib/llhttp/wasm_build_env.txt +32 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-agent.js +171 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-client.js +59 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-errors.js +17 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-interceptor.js +206 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-pool.js +59 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-symbols.js +23 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/mock-utils.js +351 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +40 -0
- package/etc/mcp-server/node_modules/undici/lib/mock/pluralizer.js +29 -0
- package/etc/mcp-server/node_modules/undici/lib/node/fixed-queue.js +117 -0
- package/etc/mcp-server/node_modules/undici/lib/pool-base.js +194 -0
- package/etc/mcp-server/node_modules/undici/lib/pool-stats.js +34 -0
- package/etc/mcp-server/node_modules/undici/lib/pool.js +108 -0
- package/etc/mcp-server/node_modules/undici/lib/proxy-agent.js +189 -0
- package/etc/mcp-server/node_modules/undici/lib/timers.js +97 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/connection.js +291 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/constants.js +51 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/events.js +303 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/frame.js +73 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/receiver.js +344 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/symbols.js +12 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/util.js +200 -0
- package/etc/mcp-server/node_modules/undici/lib/websocket/websocket.js +641 -0
- package/etc/mcp-server/node_modules/undici/package.json +167 -0
- package/etc/mcp-server/node_modules/undici/types/README.md +6 -0
- package/etc/mcp-server/node_modules/undici/types/agent.d.ts +31 -0
- package/etc/mcp-server/node_modules/undici/types/api.d.ts +43 -0
- package/etc/mcp-server/node_modules/undici/types/balanced-pool.d.ts +18 -0
- package/etc/mcp-server/node_modules/undici/types/cache.d.ts +36 -0
- package/etc/mcp-server/node_modules/undici/types/client.d.ts +97 -0
- package/etc/mcp-server/node_modules/undici/types/connector.d.ts +34 -0
- package/etc/mcp-server/node_modules/undici/types/content-type.d.ts +21 -0
- package/etc/mcp-server/node_modules/undici/types/cookies.d.ts +28 -0
- package/etc/mcp-server/node_modules/undici/types/diagnostics-channel.d.ts +67 -0
- package/etc/mcp-server/node_modules/undici/types/dispatcher.d.ts +241 -0
- package/etc/mcp-server/node_modules/undici/types/errors.d.ts +128 -0
- package/etc/mcp-server/node_modules/undici/types/fetch.d.ts +209 -0
- package/etc/mcp-server/node_modules/undici/types/file.d.ts +39 -0
- package/etc/mcp-server/node_modules/undici/types/filereader.d.ts +54 -0
- package/etc/mcp-server/node_modules/undici/types/formdata.d.ts +108 -0
- package/etc/mcp-server/node_modules/undici/types/global-dispatcher.d.ts +9 -0
- package/etc/mcp-server/node_modules/undici/types/global-origin.d.ts +7 -0
- package/etc/mcp-server/node_modules/undici/types/handlers.d.ts +9 -0
- package/etc/mcp-server/node_modules/undici/types/header.d.ts +4 -0
- package/etc/mcp-server/node_modules/undici/types/index.d.ts +65 -0
- package/etc/mcp-server/node_modules/undici/types/interceptors.d.ts +5 -0
- package/etc/mcp-server/node_modules/undici/types/mock-agent.d.ts +50 -0
- package/etc/mcp-server/node_modules/undici/types/mock-client.d.ts +25 -0
- package/etc/mcp-server/node_modules/undici/types/mock-errors.d.ts +12 -0
- package/etc/mcp-server/node_modules/undici/types/mock-interceptor.d.ts +93 -0
- package/etc/mcp-server/node_modules/undici/types/mock-pool.d.ts +25 -0
- package/etc/mcp-server/node_modules/undici/types/patch.d.ts +71 -0
- package/etc/mcp-server/node_modules/undici/types/pool-stats.d.ts +19 -0
- package/etc/mcp-server/node_modules/undici/types/pool.d.ts +28 -0
- package/etc/mcp-server/node_modules/undici/types/proxy-agent.d.ts +30 -0
- package/etc/mcp-server/node_modules/undici/types/readable.d.ts +61 -0
- package/etc/mcp-server/node_modules/undici/types/retry-handler.d.ts +116 -0
- package/etc/mcp-server/node_modules/undici/types/webidl.d.ts +220 -0
- package/etc/mcp-server/node_modules/undici/types/websocket.d.ts +131 -0
- package/etc/mcp-server/node_modules/update-browserslist-db/node_modules/.bin/browserslist +2 -2
- package/etc/mcp-server/node_modules/vite/node_modules/.bin/esbuild +2 -2
- package/etc/mcp-server/node_modules/vite/node_modules/.bin/rollup +2 -2
- package/etc/mcp-server/node_modules/vite-node/node_modules/.bin/vite +2 -2
- package/etc/mcp-server/node_modules/vitest/node_modules/.bin/vite +2 -2
- package/etc/mcp-server/node_modules/vitest/node_modules/.bin/vite-node +2 -2
- package/etc/mcp-server/node_modules/vitest/node_modules/.bin/why-is-node-running +2 -2
- package/etc/mcp-server/node_modules/wrap-ansi/index.d.ts +41 -0
- package/etc/mcp-server/node_modules/wrap-ansi/index.js +216 -0
- package/etc/mcp-server/node_modules/wrap-ansi/license +9 -0
- package/etc/mcp-server/node_modules/wrap-ansi/package.json +62 -0
- package/etc/mcp-server/node_modules/wrap-ansi/readme.md +91 -0
- package/etc/mcp-server/node_modules/wrap-ansi-cjs/index.js +216 -0
- package/etc/mcp-server/node_modules/wrap-ansi-cjs/license +9 -0
- package/etc/mcp-server/node_modules/wrap-ansi-cjs/package.json +62 -0
- package/etc/mcp-server/node_modules/wrap-ansi-cjs/readme.md +91 -0
- package/etc/mcp-server/node_modules/y18n/CHANGELOG.md +100 -0
- package/etc/mcp-server/node_modules/y18n/LICENSE +13 -0
- package/etc/mcp-server/node_modules/y18n/README.md +127 -0
- package/etc/mcp-server/node_modules/y18n/build/index.cjs +203 -0
- package/etc/mcp-server/node_modules/y18n/build/lib/cjs.js +6 -0
- package/etc/mcp-server/node_modules/y18n/build/lib/index.js +174 -0
- package/etc/mcp-server/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
- package/etc/mcp-server/node_modules/y18n/index.mjs +8 -0
- package/etc/mcp-server/node_modules/y18n/package.json +70 -0
- package/etc/mcp-server/node_modules/yaml/LICENSE +13 -0
- package/etc/mcp-server/node_modules/yaml/README.md +172 -0
- package/etc/mcp-server/node_modules/yaml/bin.mjs +11 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/composer.js +219 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +225 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/errors.js +57 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/index.js +17 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/log.js +11 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Alias.js +116 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/parse/parser.js +975 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/util.js +11 -0
- package/etc/mcp-server/node_modules/yaml/browser/dist/visit.js +233 -0
- package/etc/mcp-server/node_modules/yaml/browser/index.js +5 -0
- package/etc/mcp-server/node_modules/yaml/browser/package.json +3 -0
- package/etc/mcp-server/node_modules/yaml/dist/cli.d.ts +8 -0
- package/etc/mcp-server/node_modules/yaml/dist/cli.mjs +201 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/composer.js +224 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-flow-scalar.js +227 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/Document.js +337 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/etc/mcp-server/node_modules/yaml/dist/doc/directives.js +178 -0
- package/etc/mcp-server/node_modules/yaml/dist/errors.d.ts +21 -0
- package/etc/mcp-server/node_modules/yaml/dist/errors.js +62 -0
- package/etc/mcp-server/node_modules/yaml/dist/index.d.ts +25 -0
- package/etc/mcp-server/node_modules/yaml/dist/index.js +50 -0
- package/etc/mcp-server/node_modules/yaml/dist/log.d.ts +3 -0
- package/etc/mcp-server/node_modules/yaml/dist/log.js +19 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Alias.js +118 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/etc/mcp-server/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/etc/mcp-server/node_modules/yaml/dist/options.d.ts +350 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/cst.js +112 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/lexer.js +723 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/etc/mcp-server/node_modules/yaml/dist/parse/parser.js +980 -0
- package/etc/mcp-server/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/etc/mcp-server/node_modules/yaml/dist/public-api.js +107 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/tags.js +99 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/etc/mcp-server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/etc/mcp-server/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/etc/mcp-server/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/etc/mcp-server/node_modules/yaml/dist/test-events.js +134 -0
- package/etc/mcp-server/node_modules/yaml/dist/util.d.ts +16 -0
- package/etc/mcp-server/node_modules/yaml/dist/util.js +28 -0
- package/etc/mcp-server/node_modules/yaml/dist/visit.d.ts +102 -0
- package/etc/mcp-server/node_modules/yaml/dist/visit.js +236 -0
- package/etc/mcp-server/node_modules/yaml/package.json +97 -0
- package/etc/mcp-server/node_modules/yaml/util.js +2 -0
- package/etc/mcp-server/node_modules/yargs/CHANGELOG.md +330 -0
- package/etc/mcp-server/node_modules/yargs/LICENSE +21 -0
- package/etc/mcp-server/node_modules/yargs/README.md +204 -0
- package/etc/mcp-server/node_modules/yargs/browser.mjs +7 -0
- package/etc/mcp-server/node_modules/yargs/build/index.cjs +1 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/argsert.js +62 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/command.js +449 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/completion-templates.js +48 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/completion.js +243 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/middleware.js +88 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/parse-command.js +32 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/typings/common-types.js +9 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/usage.js +584 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/levenshtein.js +34 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/utils/which-module.js +10 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/validation.js +305 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/yargs-factory.js +1512 -0
- package/etc/mcp-server/node_modules/yargs/build/lib/yerror.js +9 -0
- package/etc/mcp-server/node_modules/yargs/helpers/helpers.mjs +10 -0
- package/etc/mcp-server/node_modules/yargs/helpers/index.js +14 -0
- package/etc/mcp-server/node_modules/yargs/helpers/package.json +3 -0
- package/etc/mcp-server/node_modules/yargs/index.cjs +53 -0
- package/etc/mcp-server/node_modules/yargs/index.mjs +8 -0
- package/etc/mcp-server/node_modules/yargs/lib/platform-shims/browser.mjs +95 -0
- package/etc/mcp-server/node_modules/yargs/lib/platform-shims/esm.mjs +73 -0
- package/etc/mcp-server/node_modules/yargs/locales/be.json +46 -0
- package/etc/mcp-server/node_modules/yargs/locales/cs.json +51 -0
- package/etc/mcp-server/node_modules/yargs/locales/de.json +46 -0
- package/etc/mcp-server/node_modules/yargs/locales/en.json +55 -0
- package/etc/mcp-server/node_modules/yargs/locales/es.json +46 -0
- package/etc/mcp-server/node_modules/yargs/locales/fi.json +49 -0
- package/etc/mcp-server/node_modules/yargs/locales/fr.json +53 -0
- package/etc/mcp-server/node_modules/yargs/locales/hi.json +49 -0
- package/etc/mcp-server/node_modules/yargs/locales/hu.json +46 -0
- package/etc/mcp-server/node_modules/yargs/locales/id.json +50 -0
- package/etc/mcp-server/node_modules/yargs/locales/it.json +46 -0
- package/etc/mcp-server/node_modules/yargs/locales/ja.json +51 -0
- package/etc/mcp-server/node_modules/yargs/locales/ko.json +49 -0
- package/etc/mcp-server/node_modules/yargs/locales/nb.json +44 -0
- package/etc/mcp-server/node_modules/yargs/locales/nl.json +49 -0
- package/etc/mcp-server/node_modules/yargs/locales/nn.json +44 -0
- package/etc/mcp-server/node_modules/yargs/locales/pirate.json +13 -0
- package/etc/mcp-server/node_modules/yargs/locales/pl.json +49 -0
- package/etc/mcp-server/node_modules/yargs/locales/pt.json +45 -0
- package/etc/mcp-server/node_modules/yargs/locales/pt_BR.json +48 -0
- package/etc/mcp-server/node_modules/yargs/locales/ru.json +51 -0
- package/etc/mcp-server/node_modules/yargs/locales/th.json +46 -0
- package/etc/mcp-server/node_modules/yargs/locales/tr.json +48 -0
- package/etc/mcp-server/node_modules/yargs/locales/uk_UA.json +51 -0
- package/etc/mcp-server/node_modules/yargs/locales/uz.json +52 -0
- package/etc/mcp-server/node_modules/yargs/locales/zh_CN.json +48 -0
- package/etc/mcp-server/node_modules/yargs/locales/zh_TW.json +51 -0
- package/etc/mcp-server/node_modules/yargs/package.json +125 -0
- package/etc/mcp-server/node_modules/yargs/yargs +5 -0
- package/etc/mcp-server/node_modules/yargs/yargs.cjs +15 -0
- package/etc/mcp-server/node_modules/yargs/yargs.mjs +10 -0
- package/etc/mcp-server/node_modules/yargs-parser/CHANGELOG.md +308 -0
- package/etc/mcp-server/node_modules/yargs-parser/LICENSE.txt +14 -0
- package/etc/mcp-server/node_modules/yargs-parser/README.md +518 -0
- package/etc/mcp-server/node_modules/yargs-parser/browser.js +29 -0
- package/etc/mcp-server/node_modules/yargs-parser/build/index.cjs +1050 -0
- package/etc/mcp-server/node_modules/yargs-parser/build/lib/index.js +62 -0
- package/etc/mcp-server/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
- package/etc/mcp-server/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
- package/etc/mcp-server/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
- package/etc/mcp-server/node_modules/yargs-parser/build/lib/yargs-parser.js +1045 -0
- package/etc/mcp-server/node_modules/yargs-parser/package.json +92 -0
- package/etc/mcp-server/package.json +2 -1
- package/etc/mcp-server/server.js +15 -1
- package/etc/mcp-server/tools.js +84 -17
- package/etc/mcp-server/wrap-bin.js +60 -0
- package/etc/mcp-server/wrap.js +81 -0
- package/package.json +1 -1
- package/etc/mcp-server/node_modules/bindings/README.md +0 -98
- package/etc/mcp-server/node_modules/bindings/bindings.js +0 -221
- package/etc/mcp-server/node_modules/bindings/package.json +0 -28
- package/etc/mcp-server/node_modules/bl/.travis.yml +0 -17
- package/etc/mcp-server/node_modules/bl/BufferList.js +0 -396
- package/etc/mcp-server/node_modules/bl/README.md +0 -247
- package/etc/mcp-server/node_modules/bl/bl.js +0 -84
- package/etc/mcp-server/node_modules/bl/package.json +0 -37
- package/etc/mcp-server/node_modules/bl/test/convert.js +0 -21
- package/etc/mcp-server/node_modules/bl/test/indexOf.js +0 -492
- package/etc/mcp-server/node_modules/bl/test/isBufferList.js +0 -32
- package/etc/mcp-server/node_modules/bl/test/test.js +0 -869
- package/etc/mcp-server/node_modules/chownr/README.md +0 -3
- package/etc/mcp-server/node_modules/chownr/chownr.js +0 -167
- package/etc/mcp-server/node_modules/chownr/package.json +0 -29
- package/etc/mcp-server/node_modules/file-uri-to-path/.travis.yml +0 -30
- package/etc/mcp-server/node_modules/file-uri-to-path/History.md +0 -21
- package/etc/mcp-server/node_modules/file-uri-to-path/README.md +0 -74
- package/etc/mcp-server/node_modules/file-uri-to-path/index.d.ts +0 -2
- package/etc/mcp-server/node_modules/file-uri-to-path/index.js +0 -66
- package/etc/mcp-server/node_modules/file-uri-to-path/package.json +0 -32
- package/etc/mcp-server/node_modules/file-uri-to-path/test/test.js +0 -24
- package/etc/mcp-server/node_modules/file-uri-to-path/test/tests.json +0 -13
- package/etc/mcp-server/node_modules/fs-constants/README.md +0 -26
- package/etc/mcp-server/node_modules/fs-constants/browser.js +0 -1
- package/etc/mcp-server/node_modules/fs-constants/index.js +0 -1
- package/etc/mcp-server/node_modules/fs-constants/package.json +0 -19
- package/etc/mcp-server/node_modules/mkdirp-classic/README.md +0 -18
- package/etc/mcp-server/node_modules/mkdirp-classic/index.js +0 -98
- package/etc/mcp-server/node_modules/mkdirp-classic/package.json +0 -18
- package/etc/mcp-server/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/etc/mcp-server/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/etc/mcp-server/node_modules/readable-stream/errors-browser.js +0 -127
- package/etc/mcp-server/node_modules/readable-stream/errors.js +0 -116
- package/etc/mcp-server/node_modules/readable-stream/experimentalWarning.js +0 -17
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/async_iterator.js +0 -180
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/from-browser.js +0 -3
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/etc/mcp-server/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/etc/mcp-server/node_modules/readable-stream/readable-browser.js +0 -9
- package/etc/mcp-server/node_modules/readable-stream/readable.js +0 -16
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/a/hello.txt +0 -1
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/b/a/test.txt +0 -1
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/e/file +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
- package/etc/mcp-server/node_modules/tar-fs/test/index.js +0 -346
- package/etc/mcp-server/node_modules/tar-stream/sandbox.js +0 -11
- package/etc/mcp-server/node_modules/util-deprecate/History.md +0 -16
- package/etc/mcp-server/node_modules/util-deprecate/LICENSE +0 -24
- package/etc/mcp-server/node_modules/util-deprecate/README.md +0 -53
- package/etc/mcp-server/node_modules/util-deprecate/browser.js +0 -67
- package/etc/mcp-server/node_modules/util-deprecate/node.js +0 -6
- package/etc/mcp-server/node_modules/util-deprecate/package.json +0 -27
|
@@ -0,0 +1,2932 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// packages/playwright/src/common/index.ts
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
FullConfigInternal: () => FullConfigInternal,
|
|
34
|
+
ProcessRunner: () => ProcessRunner,
|
|
35
|
+
builtInReporters: () => builtInReporters,
|
|
36
|
+
cc: () => compilationCache_exports,
|
|
37
|
+
config: () => config_exports,
|
|
38
|
+
configLoader: () => configLoader_exports,
|
|
39
|
+
defineConfig: () => defineConfig,
|
|
40
|
+
fixtures: () => fixtures_exports,
|
|
41
|
+
ipc: () => ipc_exports,
|
|
42
|
+
mergeTests: () => mergeTests,
|
|
43
|
+
poolBuilder: () => poolBuilder_exports,
|
|
44
|
+
processRunner: () => process_exports,
|
|
45
|
+
startProcessRunner: () => startProcessRunner,
|
|
46
|
+
suiteUtils: () => suiteUtils_exports,
|
|
47
|
+
test: () => test_exports,
|
|
48
|
+
testLoader: () => testLoader_exports,
|
|
49
|
+
testType: () => testType_exports,
|
|
50
|
+
transform: () => transform_exports
|
|
51
|
+
});
|
|
52
|
+
module.exports = __toCommonJS(index_exports);
|
|
53
|
+
|
|
54
|
+
// packages/playwright/src/transform/compilationCache.ts
|
|
55
|
+
var compilationCache_exports = {};
|
|
56
|
+
__export(compilationCache_exports, {
|
|
57
|
+
addToCompilationCache: () => addToCompilationCache,
|
|
58
|
+
affectedTestFiles: () => affectedTestFiles,
|
|
59
|
+
belongsToNodeModules: () => belongsToNodeModules,
|
|
60
|
+
cacheDir: () => cacheDir,
|
|
61
|
+
collectAffectedTestFiles: () => collectAffectedTestFiles,
|
|
62
|
+
currentFileDepsCollector: () => currentFileDepsCollector,
|
|
63
|
+
dependenciesForTestFile: () => dependenciesForTestFile,
|
|
64
|
+
fileDependenciesForTest: () => fileDependenciesForTest,
|
|
65
|
+
getFromCompilationCache: () => getFromCompilationCache,
|
|
66
|
+
getUserData: () => getUserData,
|
|
67
|
+
installSourceMapSupport: () => installSourceMapSupport,
|
|
68
|
+
internalDependenciesForTestFile: () => internalDependenciesForTestFile,
|
|
69
|
+
serializeCompilationCache: () => serializeCompilationCache,
|
|
70
|
+
setExternalDependencies: () => setExternalDependencies,
|
|
71
|
+
startCollectingFileDeps: () => startCollectingFileDeps,
|
|
72
|
+
stopCollectingFileDeps: () => stopCollectingFileDeps
|
|
73
|
+
});
|
|
74
|
+
var import_fs = __toESM(require("fs"));
|
|
75
|
+
var import_os = __toESM(require("os"));
|
|
76
|
+
var import_path = __toESM(require("path"));
|
|
77
|
+
var import_globals = require("../globals");
|
|
78
|
+
var import_package = require("../package");
|
|
79
|
+
var sourceMapSupport = require("playwright-core/lib/utilsBundle").sourceMapSupport;
|
|
80
|
+
var { calculateSha1 } = require("playwright-core/lib/coreBundle").utils;
|
|
81
|
+
var { isUnderTest } = require("playwright-core/lib/coreBundle").utils;
|
|
82
|
+
var cacheDir = process.env.PWTEST_CACHE_DIR || (() => {
|
|
83
|
+
if (process.platform === "win32")
|
|
84
|
+
return import_path.default.join(import_os.default.tmpdir(), `playwright-transform-cache`);
|
|
85
|
+
return import_path.default.join(import_os.default.tmpdir(), `playwright-transform-cache-` + process.geteuid?.());
|
|
86
|
+
})();
|
|
87
|
+
var sourceMaps = /* @__PURE__ */ new Map();
|
|
88
|
+
var memoryCache = /* @__PURE__ */ new Map();
|
|
89
|
+
var fileDependencies = /* @__PURE__ */ new Map();
|
|
90
|
+
var externalDependencies = /* @__PURE__ */ new Map();
|
|
91
|
+
var devSourceInfix = import_path.default.sep + "playwright" + import_path.default.sep + "packages" + import_path.default.sep;
|
|
92
|
+
function installSourceMapSupport() {
|
|
93
|
+
Error.stackTraceLimit = 200;
|
|
94
|
+
sourceMapSupport.install({
|
|
95
|
+
environment: "node",
|
|
96
|
+
handleUncaughtExceptions: false,
|
|
97
|
+
retrieveSourceMap(source) {
|
|
98
|
+
if (!process.env.PWDEBUGIMPL && isUnderTest() && source.includes(devSourceInfix))
|
|
99
|
+
return { map: identitySourceMap(source), url: source };
|
|
100
|
+
if (!sourceMaps.has(source))
|
|
101
|
+
return null;
|
|
102
|
+
const sourceMapPath = sourceMaps.get(source);
|
|
103
|
+
try {
|
|
104
|
+
return {
|
|
105
|
+
map: JSON.parse(import_fs.default.readFileSync(sourceMapPath, "utf-8")),
|
|
106
|
+
url: source
|
|
107
|
+
};
|
|
108
|
+
} catch {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
function identitySourceMap(source) {
|
|
115
|
+
const lineCount = import_fs.default.readFileSync(source, "utf8").split("\n").length;
|
|
116
|
+
return {
|
|
117
|
+
version: 3,
|
|
118
|
+
sources: [source],
|
|
119
|
+
mappings: lineCount ? "AAAA" + ";AACA".repeat(lineCount - 1) : ""
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function _innerAddToCompilationCacheAndSerialize(filename, entry) {
|
|
123
|
+
sourceMaps.set(entry.moduleUrl || filename, entry.sourceMapPath);
|
|
124
|
+
memoryCache.set(filename, entry);
|
|
125
|
+
return {
|
|
126
|
+
sourceMaps: [[entry.moduleUrl || filename, entry.sourceMapPath]],
|
|
127
|
+
memoryCache: [[filename, entry]],
|
|
128
|
+
fileDependencies: [],
|
|
129
|
+
externalDependencies: []
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function getFromCompilationCache(filename, contentHash, moduleUrl) {
|
|
133
|
+
const cache = memoryCache.get(filename);
|
|
134
|
+
if (cache?.codePath) {
|
|
135
|
+
try {
|
|
136
|
+
return { cachedCode: import_fs.default.readFileSync(cache.codePath, "utf-8") };
|
|
137
|
+
} catch {
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const filePathHash = calculateFilePathHash(filename);
|
|
141
|
+
const hashPrefix = filePathHash + "_" + contentHash.substring(0, 7);
|
|
142
|
+
const cacheFolderName = filePathHash.substring(0, 2);
|
|
143
|
+
const cachePath = calculateCachePath(filename, cacheFolderName, hashPrefix);
|
|
144
|
+
const codePath = cachePath + ".js";
|
|
145
|
+
const sourceMapPath = cachePath + ".map";
|
|
146
|
+
const dataPath = cachePath + ".data";
|
|
147
|
+
try {
|
|
148
|
+
const cachedCode = import_fs.default.readFileSync(codePath, "utf8");
|
|
149
|
+
const serializedCache = _innerAddToCompilationCacheAndSerialize(filename, { codePath, sourceMapPath, dataPath, moduleUrl });
|
|
150
|
+
return { cachedCode, serializedCache };
|
|
151
|
+
} catch {
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
addToCache: (code, map, data) => {
|
|
155
|
+
if ((0, import_globals.isWorkerProcess)())
|
|
156
|
+
return {};
|
|
157
|
+
clearOldCacheEntries(cacheFolderName, filePathHash);
|
|
158
|
+
import_fs.default.mkdirSync(import_path.default.dirname(cachePath), { recursive: true });
|
|
159
|
+
if (map)
|
|
160
|
+
import_fs.default.writeFileSync(sourceMapPath, JSON.stringify(map), "utf8");
|
|
161
|
+
if (data.size)
|
|
162
|
+
import_fs.default.writeFileSync(dataPath, JSON.stringify(Object.fromEntries(data.entries()), void 0, 2), "utf8");
|
|
163
|
+
import_fs.default.writeFileSync(codePath, code, "utf8");
|
|
164
|
+
const serializedCache = _innerAddToCompilationCacheAndSerialize(filename, { codePath, sourceMapPath, dataPath, moduleUrl });
|
|
165
|
+
return { serializedCache };
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
function serializeCompilationCache() {
|
|
170
|
+
return {
|
|
171
|
+
sourceMaps: [...sourceMaps.entries()],
|
|
172
|
+
memoryCache: [...memoryCache.entries()],
|
|
173
|
+
fileDependencies: [...fileDependencies.entries()].map(([filename, deps]) => [filename, [...deps]]),
|
|
174
|
+
externalDependencies: [...externalDependencies.entries()].map(([filename, deps]) => [filename, [...deps]])
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
function addToCompilationCache(payload) {
|
|
178
|
+
for (const entry of payload.sourceMaps)
|
|
179
|
+
sourceMaps.set(entry[0], entry[1]);
|
|
180
|
+
for (const entry of payload.memoryCache)
|
|
181
|
+
memoryCache.set(entry[0], entry[1]);
|
|
182
|
+
for (const entry of payload.fileDependencies) {
|
|
183
|
+
const existing = fileDependencies.get(entry[0]) || [];
|
|
184
|
+
fileDependencies.set(entry[0], /* @__PURE__ */ new Set([...entry[1], ...existing]));
|
|
185
|
+
}
|
|
186
|
+
for (const entry of payload.externalDependencies) {
|
|
187
|
+
const existing = externalDependencies.get(entry[0]) || [];
|
|
188
|
+
externalDependencies.set(entry[0], /* @__PURE__ */ new Set([...entry[1], ...existing]));
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function calculateFilePathHash(filePath) {
|
|
192
|
+
return calculateSha1(filePath).substring(0, 10);
|
|
193
|
+
}
|
|
194
|
+
function calculateCachePath(filePath, cacheFolderName, hashPrefix) {
|
|
195
|
+
const fileName2 = hashPrefix + "_" + import_path.default.basename(filePath, import_path.default.extname(filePath)).replace(/\W/g, "");
|
|
196
|
+
return import_path.default.join(cacheDir, cacheFolderName, fileName2);
|
|
197
|
+
}
|
|
198
|
+
function clearOldCacheEntries(cacheFolderName, filePathHash) {
|
|
199
|
+
const cachePath = import_path.default.join(cacheDir, cacheFolderName);
|
|
200
|
+
try {
|
|
201
|
+
const cachedRelevantFiles = import_fs.default.readdirSync(cachePath).filter((file2) => file2.startsWith(filePathHash));
|
|
202
|
+
for (const file2 of cachedRelevantFiles)
|
|
203
|
+
import_fs.default.rmSync(import_path.default.join(cachePath, file2), { force: true });
|
|
204
|
+
} catch {
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
var depsCollector2;
|
|
208
|
+
function startCollectingFileDeps() {
|
|
209
|
+
depsCollector2 = /* @__PURE__ */ new Set();
|
|
210
|
+
}
|
|
211
|
+
function stopCollectingFileDeps(filename) {
|
|
212
|
+
if (!depsCollector2)
|
|
213
|
+
return;
|
|
214
|
+
depsCollector2.delete(filename);
|
|
215
|
+
for (const dep of depsCollector2) {
|
|
216
|
+
if (belongsToNodeModules(dep))
|
|
217
|
+
depsCollector2.delete(dep);
|
|
218
|
+
}
|
|
219
|
+
fileDependencies.set(filename, depsCollector2);
|
|
220
|
+
depsCollector2 = void 0;
|
|
221
|
+
}
|
|
222
|
+
function currentFileDepsCollector() {
|
|
223
|
+
return depsCollector2;
|
|
224
|
+
}
|
|
225
|
+
function setExternalDependencies(filename, deps) {
|
|
226
|
+
const depsSet = new Set(deps.filter((dep) => !belongsToNodeModules(dep) && dep !== filename));
|
|
227
|
+
externalDependencies.set(filename, depsSet);
|
|
228
|
+
}
|
|
229
|
+
function fileDependenciesForTest() {
|
|
230
|
+
return Object.fromEntries([...fileDependencies.entries()].map((entry) => [import_path.default.basename(entry[0]), [...entry[1]].map((f) => import_path.default.basename(f)).sort()]));
|
|
231
|
+
}
|
|
232
|
+
function collectAffectedTestFiles(changedFile, testFileCollector) {
|
|
233
|
+
const isTestFile = (file2) => fileDependencies.has(file2);
|
|
234
|
+
if (isTestFile(changedFile))
|
|
235
|
+
testFileCollector.add(changedFile);
|
|
236
|
+
for (const [testFile, deps] of fileDependencies) {
|
|
237
|
+
if (deps.has(changedFile))
|
|
238
|
+
testFileCollector.add(testFile);
|
|
239
|
+
}
|
|
240
|
+
for (const [importingFile, depsOfImportingFile] of externalDependencies) {
|
|
241
|
+
if (depsOfImportingFile.has(changedFile)) {
|
|
242
|
+
if (isTestFile(importingFile))
|
|
243
|
+
testFileCollector.add(importingFile);
|
|
244
|
+
for (const [testFile, depsOfTestFile] of fileDependencies) {
|
|
245
|
+
if (depsOfTestFile.has(importingFile))
|
|
246
|
+
testFileCollector.add(testFile);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function affectedTestFiles(changes) {
|
|
252
|
+
const result2 = /* @__PURE__ */ new Set();
|
|
253
|
+
for (const change of changes)
|
|
254
|
+
collectAffectedTestFiles(change, result2);
|
|
255
|
+
return [...result2];
|
|
256
|
+
}
|
|
257
|
+
function internalDependenciesForTestFile(filename) {
|
|
258
|
+
return fileDependencies.get(filename);
|
|
259
|
+
}
|
|
260
|
+
function dependenciesForTestFile(filename) {
|
|
261
|
+
const result2 = /* @__PURE__ */ new Set();
|
|
262
|
+
for (const testDependency of fileDependencies.get(filename) || []) {
|
|
263
|
+
result2.add(testDependency);
|
|
264
|
+
for (const externalDependency of externalDependencies.get(testDependency) || [])
|
|
265
|
+
result2.add(externalDependency);
|
|
266
|
+
}
|
|
267
|
+
for (const dep of externalDependencies.get(filename) || [])
|
|
268
|
+
result2.add(dep);
|
|
269
|
+
return result2;
|
|
270
|
+
}
|
|
271
|
+
var kPlaywrightInternalPrefix = import_package.packageRoot;
|
|
272
|
+
function belongsToNodeModules(file2) {
|
|
273
|
+
if (file2.includes(`${import_path.default.sep}node_modules${import_path.default.sep}`))
|
|
274
|
+
return true;
|
|
275
|
+
if (file2.startsWith(kPlaywrightInternalPrefix) && (file2.endsWith(".js") || file2.endsWith(".mjs")))
|
|
276
|
+
return true;
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
async function getUserData(pluginName) {
|
|
280
|
+
const result2 = /* @__PURE__ */ new Map();
|
|
281
|
+
for (const [fileName2, cache] of memoryCache) {
|
|
282
|
+
if (!cache.dataPath)
|
|
283
|
+
continue;
|
|
284
|
+
if (!import_fs.default.existsSync(cache.dataPath))
|
|
285
|
+
continue;
|
|
286
|
+
const data = JSON.parse(await import_fs.default.promises.readFile(cache.dataPath, "utf8"));
|
|
287
|
+
if (data[pluginName])
|
|
288
|
+
result2.set(fileName2, data[pluginName]);
|
|
289
|
+
}
|
|
290
|
+
return result2;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// packages/playwright/src/common/config.ts
|
|
294
|
+
var config_exports = {};
|
|
295
|
+
__export(config_exports, {
|
|
296
|
+
FullConfigInternal: () => FullConfigInternal,
|
|
297
|
+
FullProjectInternal: () => FullProjectInternal,
|
|
298
|
+
builtInReporters: () => builtInReporters,
|
|
299
|
+
defaultGrep: () => defaultGrep,
|
|
300
|
+
defaultReporter: () => defaultReporter,
|
|
301
|
+
defaultTimeout: () => defaultTimeout,
|
|
302
|
+
getProjectId: () => getProjectId,
|
|
303
|
+
toReporters: () => toReporters
|
|
304
|
+
});
|
|
305
|
+
var import_fs3 = __toESM(require("fs"));
|
|
306
|
+
var import_os2 = __toESM(require("os"));
|
|
307
|
+
var import_path3 = __toESM(require("path"));
|
|
308
|
+
var import_package2 = require("../package");
|
|
309
|
+
|
|
310
|
+
// packages/playwright/src/util.ts
|
|
311
|
+
var import_fs2 = __toESM(require("fs"));
|
|
312
|
+
var import_path2 = __toESM(require("path"));
|
|
313
|
+
var import_util = __toESM(require("util"));
|
|
314
|
+
var debug = require("playwright-core/lib/utilsBundle").debug;
|
|
315
|
+
var mime = require("playwright-core/lib/utilsBundle").mime;
|
|
316
|
+
var minimatch = require("playwright-core/lib/utilsBundle").minimatch;
|
|
317
|
+
var { calculateSha1: calculateSha12 } = require("playwright-core/lib/coreBundle").utils;
|
|
318
|
+
var { sanitizeForFilePath } = require("playwright-core/lib/coreBundle").utils;
|
|
319
|
+
var { isRegExp } = require("playwright-core/lib/coreBundle").iso;
|
|
320
|
+
var { parseStackFrame, stringifyStackFrames } = require("playwright-core/lib/coreBundle").iso;
|
|
321
|
+
var { ansiRegex, isString, stripAnsiEscapes } = require("playwright-core/lib/coreBundle").iso;
|
|
322
|
+
var PLAYWRIGHT_TEST_PATH = import_path2.default.join(__dirname, "..");
|
|
323
|
+
var PLAYWRIGHT_CORE_PATH = import_path2.default.dirname(require.resolve("playwright-core/package.json"));
|
|
324
|
+
function filterStackTrace(e) {
|
|
325
|
+
const name = e.name ? e.name + ": " : "";
|
|
326
|
+
const cause = e.cause instanceof Error ? filterStackTrace(e.cause) : void 0;
|
|
327
|
+
if (process.env.PWDEBUGIMPL)
|
|
328
|
+
return { message: name + e.message, stack: e.stack || "", cause };
|
|
329
|
+
const stackLines = stringifyStackFrames(filteredStackTrace(e.stack?.split("\n") || []));
|
|
330
|
+
return {
|
|
331
|
+
message: name + e.message,
|
|
332
|
+
stack: `${name}${e.message}${stackLines.map((line) => "\n" + line).join("")}`,
|
|
333
|
+
cause
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
function filterStackFile(file2) {
|
|
337
|
+
if (process.env.PWDEBUGIMPL)
|
|
338
|
+
return true;
|
|
339
|
+
if (file2.startsWith(PLAYWRIGHT_TEST_PATH))
|
|
340
|
+
return false;
|
|
341
|
+
if (file2.startsWith(PLAYWRIGHT_CORE_PATH))
|
|
342
|
+
return false;
|
|
343
|
+
return true;
|
|
344
|
+
}
|
|
345
|
+
function filteredStackTrace(rawStack) {
|
|
346
|
+
const frames = [];
|
|
347
|
+
for (const line of rawStack) {
|
|
348
|
+
const frame = parseStackFrame(line, import_path2.default.sep, !!process.env.PWDEBUGIMPL);
|
|
349
|
+
if (!frame || !frame.file)
|
|
350
|
+
continue;
|
|
351
|
+
if (!filterStackFile(frame.file))
|
|
352
|
+
continue;
|
|
353
|
+
frames.push(frame);
|
|
354
|
+
}
|
|
355
|
+
return frames;
|
|
356
|
+
}
|
|
357
|
+
function serializeError(error) {
|
|
358
|
+
if (error instanceof Error)
|
|
359
|
+
return filterStackTrace(error);
|
|
360
|
+
return {
|
|
361
|
+
value: import_util.default.inspect(error)
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
function parseLocationArg(arg) {
|
|
365
|
+
const match = /^(.*?):(\d+):?(\d+)?$/.exec(arg);
|
|
366
|
+
return {
|
|
367
|
+
file: match ? match[1] : arg,
|
|
368
|
+
line: match ? parseInt(match[2], 10) : null,
|
|
369
|
+
column: match?.[3] ? parseInt(match[3], 10) : null
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
function createFileMatcher(patterns) {
|
|
373
|
+
const reList = [];
|
|
374
|
+
const filePatterns = [];
|
|
375
|
+
for (const pattern of Array.isArray(patterns) ? patterns : [patterns]) {
|
|
376
|
+
if (isRegExp(pattern)) {
|
|
377
|
+
reList.push(pattern);
|
|
378
|
+
} else {
|
|
379
|
+
if (!pattern.startsWith("**/"))
|
|
380
|
+
filePatterns.push("**/" + pattern);
|
|
381
|
+
else
|
|
382
|
+
filePatterns.push(pattern);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return (filePath) => {
|
|
386
|
+
for (const re of reList) {
|
|
387
|
+
re.lastIndex = 0;
|
|
388
|
+
if (re.test(filePath))
|
|
389
|
+
return true;
|
|
390
|
+
}
|
|
391
|
+
if (import_path2.default.sep === "\\") {
|
|
392
|
+
const unixPath = filePath.split(import_path2.default.sep).join("/");
|
|
393
|
+
for (const re of reList) {
|
|
394
|
+
re.lastIndex = 0;
|
|
395
|
+
if (re.test(unixPath))
|
|
396
|
+
return true;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
for (const pattern of filePatterns) {
|
|
400
|
+
if (minimatch(filePath, pattern, { nocase: true, dot: true }))
|
|
401
|
+
return true;
|
|
402
|
+
}
|
|
403
|
+
return false;
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
function mergeObjects(a, b, c) {
|
|
407
|
+
const result2 = { ...a };
|
|
408
|
+
for (const x of [b, c].filter(Boolean)) {
|
|
409
|
+
for (const [name, value] of Object.entries(x)) {
|
|
410
|
+
if (!Object.is(value, void 0))
|
|
411
|
+
result2[name] = value;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
return result2;
|
|
415
|
+
}
|
|
416
|
+
function forceRegExp(pattern) {
|
|
417
|
+
const match = pattern.match(/^\/(.*)\/([gi]*)$/);
|
|
418
|
+
if (match)
|
|
419
|
+
return new RegExp(match[1], match[2]);
|
|
420
|
+
return new RegExp(pattern, "gi");
|
|
421
|
+
}
|
|
422
|
+
function relativeFilePath(file2) {
|
|
423
|
+
if (!import_path2.default.isAbsolute(file2))
|
|
424
|
+
return file2;
|
|
425
|
+
return import_path2.default.relative(process.cwd(), file2);
|
|
426
|
+
}
|
|
427
|
+
function formatLocation(location) {
|
|
428
|
+
return relativeFilePath(location.file) + ":" + location.line + ":" + location.column;
|
|
429
|
+
}
|
|
430
|
+
function errorWithFile(file2, message) {
|
|
431
|
+
return new Error(`${relativeFilePath(file2)}: ${message}`);
|
|
432
|
+
}
|
|
433
|
+
var debugTest = debug("pw:test");
|
|
434
|
+
var folderToPackageJsonPath = /* @__PURE__ */ new Map();
|
|
435
|
+
function getPackageJsonPath(folderPath) {
|
|
436
|
+
const cached = folderToPackageJsonPath.get(folderPath);
|
|
437
|
+
if (cached !== void 0)
|
|
438
|
+
return cached;
|
|
439
|
+
const packageJsonPath = import_path2.default.join(folderPath, "package.json");
|
|
440
|
+
if (import_fs2.default.existsSync(packageJsonPath)) {
|
|
441
|
+
folderToPackageJsonPath.set(folderPath, packageJsonPath);
|
|
442
|
+
return packageJsonPath;
|
|
443
|
+
}
|
|
444
|
+
const parentFolder = import_path2.default.dirname(folderPath);
|
|
445
|
+
if (folderPath === parentFolder) {
|
|
446
|
+
folderToPackageJsonPath.set(folderPath, "");
|
|
447
|
+
return "";
|
|
448
|
+
}
|
|
449
|
+
const result2 = getPackageJsonPath(parentFolder);
|
|
450
|
+
folderToPackageJsonPath.set(folderPath, result2);
|
|
451
|
+
return result2;
|
|
452
|
+
}
|
|
453
|
+
function fileIsModule(file2) {
|
|
454
|
+
if (file2.endsWith(".mjs") || file2.endsWith(".mts"))
|
|
455
|
+
return true;
|
|
456
|
+
if (file2.endsWith(".cjs") || file2.endsWith(".cts"))
|
|
457
|
+
return false;
|
|
458
|
+
const folder = import_path2.default.dirname(file2);
|
|
459
|
+
return folderIsModule(folder);
|
|
460
|
+
}
|
|
461
|
+
var packageJsonIsModuleCache = /* @__PURE__ */ new Map();
|
|
462
|
+
function folderIsModule(folder) {
|
|
463
|
+
const packageJsonPath = getPackageJsonPath(folder);
|
|
464
|
+
if (!packageJsonPath)
|
|
465
|
+
return false;
|
|
466
|
+
if (!packageJsonIsModuleCache.has(packageJsonPath)) {
|
|
467
|
+
let isModule2 = false;
|
|
468
|
+
try {
|
|
469
|
+
isModule2 = JSON.parse(import_fs2.default.readFileSync(packageJsonPath, "utf8")).type === "module";
|
|
470
|
+
} catch {
|
|
471
|
+
}
|
|
472
|
+
packageJsonIsModuleCache.set(packageJsonPath, isModule2);
|
|
473
|
+
}
|
|
474
|
+
return packageJsonIsModuleCache.get(packageJsonPath);
|
|
475
|
+
}
|
|
476
|
+
var packageJsonMainFieldCache = /* @__PURE__ */ new Map();
|
|
477
|
+
function getMainFieldFromPackageJson(packageJsonPath) {
|
|
478
|
+
if (!packageJsonMainFieldCache.has(packageJsonPath)) {
|
|
479
|
+
let mainField;
|
|
480
|
+
try {
|
|
481
|
+
mainField = JSON.parse(import_fs2.default.readFileSync(packageJsonPath, "utf8")).main;
|
|
482
|
+
} catch {
|
|
483
|
+
}
|
|
484
|
+
packageJsonMainFieldCache.set(packageJsonPath, mainField);
|
|
485
|
+
}
|
|
486
|
+
return packageJsonMainFieldCache.get(packageJsonPath);
|
|
487
|
+
}
|
|
488
|
+
var kExtLookups = /* @__PURE__ */ new Map([
|
|
489
|
+
[".js", [".jsx", ".ts", ".tsx"]],
|
|
490
|
+
[".jsx", [".tsx"]],
|
|
491
|
+
[".cjs", [".cts"]],
|
|
492
|
+
[".mjs", [".mts"]],
|
|
493
|
+
["", [".js", ".ts", ".jsx", ".tsx", ".cjs", ".mjs", ".cts", ".mts"]]
|
|
494
|
+
]);
|
|
495
|
+
function resolveImportSpecifierExtension(resolved) {
|
|
496
|
+
if (fileExists(resolved))
|
|
497
|
+
return resolved;
|
|
498
|
+
for (const [ext, others] of kExtLookups) {
|
|
499
|
+
if (!resolved.endsWith(ext))
|
|
500
|
+
continue;
|
|
501
|
+
for (const other of others) {
|
|
502
|
+
const modified = resolved.substring(0, resolved.length - ext.length) + other;
|
|
503
|
+
if (fileExists(modified))
|
|
504
|
+
return modified;
|
|
505
|
+
}
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
function resolveImportSpecifierAfterMapping(resolved, afterPathMapping) {
|
|
510
|
+
const resolvedFile = resolveImportSpecifierExtension(resolved);
|
|
511
|
+
if (resolvedFile)
|
|
512
|
+
return resolvedFile;
|
|
513
|
+
if (dirExists(resolved)) {
|
|
514
|
+
const packageJsonPath = import_path2.default.join(resolved, "package.json");
|
|
515
|
+
if (afterPathMapping) {
|
|
516
|
+
const mainField = getMainFieldFromPackageJson(packageJsonPath);
|
|
517
|
+
const mainFieldResolved = mainField ? resolveImportSpecifierExtension(import_path2.default.resolve(resolved, mainField)) : void 0;
|
|
518
|
+
return mainFieldResolved || resolveImportSpecifierExtension(import_path2.default.join(resolved, "index"));
|
|
519
|
+
}
|
|
520
|
+
if (fileExists(packageJsonPath))
|
|
521
|
+
return resolved;
|
|
522
|
+
const dirImport = import_path2.default.join(resolved, "index");
|
|
523
|
+
return resolveImportSpecifierExtension(dirImport);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
function fileExists(resolved) {
|
|
527
|
+
return import_fs2.default.statSync(resolved, { throwIfNoEntry: false })?.isFile();
|
|
528
|
+
}
|
|
529
|
+
function dirExists(resolved) {
|
|
530
|
+
return import_fs2.default.statSync(resolved, { throwIfNoEntry: false })?.isDirectory();
|
|
531
|
+
}
|
|
532
|
+
function takeFirst(...args) {
|
|
533
|
+
for (const arg of args) {
|
|
534
|
+
if (arg !== void 0)
|
|
535
|
+
return arg;
|
|
536
|
+
}
|
|
537
|
+
return void 0;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
// packages/playwright/src/common/config.ts
|
|
541
|
+
var defaultTimeout = 3e4;
|
|
542
|
+
var FullConfigInternal = class {
|
|
543
|
+
constructor(location, userConfig, configCLIOverrides, metadata) {
|
|
544
|
+
this.projects = [];
|
|
545
|
+
this.defineConfigWasUsed = false;
|
|
546
|
+
this.globalSetups = [];
|
|
547
|
+
this.globalTeardowns = [];
|
|
548
|
+
if (configCLIOverrides.projects && userConfig.projects)
|
|
549
|
+
throw new Error(`Cannot use --browser option when configuration file defines projects. Specify browserName in the projects instead.`);
|
|
550
|
+
const { resolvedConfigFile, configDir } = location;
|
|
551
|
+
const packageJsonPath = getPackageJsonPath(configDir);
|
|
552
|
+
const packageJsonDir = packageJsonPath ? import_path3.default.dirname(packageJsonPath) : process.cwd();
|
|
553
|
+
this.configDir = configDir;
|
|
554
|
+
this.configCLIOverrides = configCLIOverrides;
|
|
555
|
+
const privateConfiguration = userConfig["@playwright/test"];
|
|
556
|
+
this.plugins = (privateConfiguration?.plugins || []).map((p) => ({ factory: p }));
|
|
557
|
+
this.singleTSConfigPath = pathResolve(configDir, userConfig.tsconfig);
|
|
558
|
+
this.captureGitInfo = userConfig.captureGitInfo;
|
|
559
|
+
this.globalSetups = (Array.isArray(userConfig.globalSetup) ? userConfig.globalSetup : [userConfig.globalSetup]).map((s) => resolveScript(s, configDir)).filter((script) => script !== void 0);
|
|
560
|
+
this.globalTeardowns = (Array.isArray(userConfig.globalTeardown) ? userConfig.globalTeardown : [userConfig.globalTeardown]).map((s) => resolveScript(s, configDir)).filter((script) => script !== void 0);
|
|
561
|
+
userConfig.metadata = userConfig.metadata || {};
|
|
562
|
+
const globalTags = Array.isArray(userConfig.tag) ? userConfig.tag : userConfig.tag ? [userConfig.tag] : [];
|
|
563
|
+
for (const tag of globalTags) {
|
|
564
|
+
if (tag[0] !== "@")
|
|
565
|
+
throw new Error(`Tag must start with "@" symbol, got "${tag}" instead.`);
|
|
566
|
+
}
|
|
567
|
+
this.config = {
|
|
568
|
+
argv: configCLIOverrides.argv ?? [],
|
|
569
|
+
configFile: resolvedConfigFile,
|
|
570
|
+
rootDir: pathResolve(configDir, userConfig.testDir) || configDir,
|
|
571
|
+
failOnFlakyTests: takeFirst(configCLIOverrides.failOnFlakyTests, userConfig.failOnFlakyTests, false),
|
|
572
|
+
forbidOnly: takeFirst(configCLIOverrides.forbidOnly, userConfig.forbidOnly, false),
|
|
573
|
+
fullyParallel: takeFirst(configCLIOverrides.fullyParallel, userConfig.fullyParallel, false),
|
|
574
|
+
globalSetup: this.globalSetups[0] ?? null,
|
|
575
|
+
globalTeardown: this.globalTeardowns[0] ?? null,
|
|
576
|
+
globalTimeout: takeFirst(configCLIOverrides.debug ? 0 : void 0, configCLIOverrides.globalTimeout, userConfig.globalTimeout, 0),
|
|
577
|
+
grep: takeFirst(userConfig.grep, defaultGrep),
|
|
578
|
+
grepInvert: takeFirst(userConfig.grepInvert, null),
|
|
579
|
+
maxFailures: takeFirst(configCLIOverrides.debug ? 1 : void 0, configCLIOverrides.maxFailures, userConfig.maxFailures, 0),
|
|
580
|
+
metadata: metadata ?? userConfig.metadata,
|
|
581
|
+
preserveOutput: takeFirst(userConfig.preserveOutput, "always"),
|
|
582
|
+
projects: [],
|
|
583
|
+
quiet: takeFirst(configCLIOverrides.quiet, userConfig.quiet, false),
|
|
584
|
+
reporter: takeFirst(configCLIOverrides.reporter, resolveReporters(userConfig.reporter, configDir), [[defaultReporter]]),
|
|
585
|
+
reportSlowTests: takeFirst(userConfig.reportSlowTests, {
|
|
586
|
+
max: 5,
|
|
587
|
+
threshold: 3e5
|
|
588
|
+
/* 5 minutes */
|
|
589
|
+
}),
|
|
590
|
+
shard: takeFirst(configCLIOverrides.shard, userConfig.shard, null),
|
|
591
|
+
tags: globalTags,
|
|
592
|
+
updateSnapshots: takeFirst(configCLIOverrides.updateSnapshots, userConfig.updateSnapshots, "missing"),
|
|
593
|
+
updateSourceMethod: takeFirst(configCLIOverrides.updateSourceMethod, userConfig.updateSourceMethod, "patch"),
|
|
594
|
+
version: import_package2.packageJSON.version,
|
|
595
|
+
workers: resolveWorkers(takeFirst(configCLIOverrides.debug || configCLIOverrides.pause ? 1 : void 0, configCLIOverrides.workers, userConfig.workers, "50%")),
|
|
596
|
+
webServer: null
|
|
597
|
+
};
|
|
598
|
+
for (const key in userConfig) {
|
|
599
|
+
if (key.startsWith("@"))
|
|
600
|
+
this.config[key] = userConfig[key];
|
|
601
|
+
}
|
|
602
|
+
this.config[configInternalSymbol] = this;
|
|
603
|
+
const webServers = takeFirst(userConfig.webServer, null);
|
|
604
|
+
if (Array.isArray(webServers)) {
|
|
605
|
+
this.config.webServer = null;
|
|
606
|
+
this.webServers = webServers;
|
|
607
|
+
} else if (webServers) {
|
|
608
|
+
this.config.webServer = webServers;
|
|
609
|
+
this.webServers = [webServers];
|
|
610
|
+
} else {
|
|
611
|
+
this.webServers = [];
|
|
612
|
+
}
|
|
613
|
+
const projectConfigs = configCLIOverrides.projects || userConfig.projects || [{ ...userConfig, workers: void 0 }];
|
|
614
|
+
this.projects = projectConfigs.map((p) => new FullProjectInternal(configDir, userConfig, this, p, this.configCLIOverrides, packageJsonDir));
|
|
615
|
+
resolveProjectDependencies(this.projects);
|
|
616
|
+
this._assignUniqueProjectIds(this.projects);
|
|
617
|
+
this.config.projects = this.projects.map((p) => p.project);
|
|
618
|
+
}
|
|
619
|
+
_assignUniqueProjectIds(projects) {
|
|
620
|
+
const usedNames = /* @__PURE__ */ new Set();
|
|
621
|
+
for (const p of projects) {
|
|
622
|
+
const name = p.project.name || "";
|
|
623
|
+
for (let i = 0; i < projects.length; ++i) {
|
|
624
|
+
const candidate = name + (i ? i : "");
|
|
625
|
+
if (usedNames.has(candidate))
|
|
626
|
+
continue;
|
|
627
|
+
p.id = candidate;
|
|
628
|
+
p.project.__projectId = p.id;
|
|
629
|
+
usedNames.add(candidate);
|
|
630
|
+
break;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
};
|
|
635
|
+
var FullProjectInternal = class {
|
|
636
|
+
constructor(configDir, config, fullConfig, projectConfig, configCLIOverrides, packageJsonDir) {
|
|
637
|
+
this.id = "";
|
|
638
|
+
this.deps = [];
|
|
639
|
+
this.fullConfig = fullConfig;
|
|
640
|
+
const testDir = takeFirst(pathResolve(configDir, projectConfig.testDir), pathResolve(configDir, config.testDir), fullConfig.configDir);
|
|
641
|
+
this.snapshotPathTemplate = takeFirst(projectConfig.snapshotPathTemplate, config.snapshotPathTemplate);
|
|
642
|
+
this.project = {
|
|
643
|
+
grep: takeFirst(projectConfig.grep, config.grep, defaultGrep),
|
|
644
|
+
grepInvert: takeFirst(projectConfig.grepInvert, config.grepInvert, null),
|
|
645
|
+
outputDir: takeFirst(configCLIOverrides.outputDir, pathResolve(configDir, projectConfig.outputDir), pathResolve(configDir, config.outputDir), import_path3.default.join(packageJsonDir, "test-results")),
|
|
646
|
+
// Note: we either apply the cli override for repeatEach or not, depending on whether the
|
|
647
|
+
// project is top-level vs dependency. See collectProjectsAndTestFiles in loadUtils.
|
|
648
|
+
repeatEach: takeFirst(projectConfig.repeatEach, config.repeatEach, 1),
|
|
649
|
+
retries: takeFirst(configCLIOverrides.retries, projectConfig.retries, config.retries, 0),
|
|
650
|
+
metadata: takeFirst(projectConfig.metadata, config.metadata, {}),
|
|
651
|
+
name: takeFirst(projectConfig.name, config.name, ""),
|
|
652
|
+
testDir,
|
|
653
|
+
snapshotDir: takeFirst(pathResolve(configDir, projectConfig.snapshotDir), pathResolve(configDir, config.snapshotDir), testDir),
|
|
654
|
+
testIgnore: takeFirst(projectConfig.testIgnore, config.testIgnore, []),
|
|
655
|
+
testMatch: takeFirst(projectConfig.testMatch, config.testMatch, "**/*.@(spec|test).?(c|m)[jt]s?(x)"),
|
|
656
|
+
timeout: takeFirst(configCLIOverrides.debug === "inspector" ? 0 : void 0, configCLIOverrides.timeout, projectConfig.timeout, config.timeout, defaultTimeout),
|
|
657
|
+
use: mergeObjects(config.use, projectConfig.use, configCLIOverrides.use),
|
|
658
|
+
dependencies: projectConfig.dependencies || [],
|
|
659
|
+
teardown: projectConfig.teardown,
|
|
660
|
+
ignoreSnapshots: takeFirst(configCLIOverrides.ignoreSnapshots, projectConfig.ignoreSnapshots, config.ignoreSnapshots, false)
|
|
661
|
+
};
|
|
662
|
+
this.fullyParallel = takeFirst(configCLIOverrides.fullyParallel, projectConfig.fullyParallel, config.fullyParallel, void 0);
|
|
663
|
+
this.expect = takeFirst(projectConfig.expect, config.expect, {});
|
|
664
|
+
if (this.expect.toHaveScreenshot?.stylePath) {
|
|
665
|
+
const stylePaths = Array.isArray(this.expect.toHaveScreenshot.stylePath) ? this.expect.toHaveScreenshot.stylePath : [this.expect.toHaveScreenshot.stylePath];
|
|
666
|
+
this.expect.toHaveScreenshot.stylePath = stylePaths.map((stylePath) => import_path3.default.resolve(configDir, stylePath));
|
|
667
|
+
}
|
|
668
|
+
this.respectGitIgnore = takeFirst(projectConfig.respectGitIgnore, config.respectGitIgnore, !projectConfig.testDir && !config.testDir);
|
|
669
|
+
this.workers = projectConfig.workers ? resolveWorkers(projectConfig.workers) : void 0;
|
|
670
|
+
if (configCLIOverrides.debug && this.workers)
|
|
671
|
+
this.workers = 1;
|
|
672
|
+
}
|
|
673
|
+
};
|
|
674
|
+
function pathResolve(baseDir, relative) {
|
|
675
|
+
if (!relative)
|
|
676
|
+
return void 0;
|
|
677
|
+
return import_path3.default.resolve(baseDir, relative);
|
|
678
|
+
}
|
|
679
|
+
function resolveReporters(reporters, rootDir) {
|
|
680
|
+
return toReporters(reporters)?.map(([id, arg]) => {
|
|
681
|
+
if (builtInReporters.includes(id))
|
|
682
|
+
return [id, arg];
|
|
683
|
+
return [require.resolve(id, { paths: [rootDir] }), arg];
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
function resolveWorkers(workers) {
|
|
687
|
+
if (typeof workers === "string") {
|
|
688
|
+
if (workers.endsWith("%")) {
|
|
689
|
+
const cpus = import_os2.default.cpus().length;
|
|
690
|
+
return Math.max(1, Math.floor(cpus * (parseInt(workers, 10) / 100)));
|
|
691
|
+
}
|
|
692
|
+
const parsedWorkers = parseInt(workers, 10);
|
|
693
|
+
if (isNaN(parsedWorkers))
|
|
694
|
+
throw new Error(`Workers ${workers} must be a number or percentage.`);
|
|
695
|
+
if (parsedWorkers < 1)
|
|
696
|
+
throw new Error(`Workers must be a positive number, received ${parsedWorkers}.`);
|
|
697
|
+
return parsedWorkers;
|
|
698
|
+
}
|
|
699
|
+
if (workers < 1)
|
|
700
|
+
throw new Error(`Workers must be a positive number, received ${workers}.`);
|
|
701
|
+
return workers;
|
|
702
|
+
}
|
|
703
|
+
function resolveProjectDependencies(projects) {
|
|
704
|
+
const teardownSet = /* @__PURE__ */ new Set();
|
|
705
|
+
for (const project of projects) {
|
|
706
|
+
for (const dependencyName of project.project.dependencies) {
|
|
707
|
+
const dependencies = projects.filter((p) => p.project.name === dependencyName);
|
|
708
|
+
if (!dependencies.length)
|
|
709
|
+
throw new Error(`Project '${project.project.name}' depends on unknown project '${dependencyName}'`);
|
|
710
|
+
if (dependencies.length > 1)
|
|
711
|
+
throw new Error(`Project dependencies should have unique names, reading ${dependencyName}`);
|
|
712
|
+
project.deps.push(...dependencies);
|
|
713
|
+
}
|
|
714
|
+
if (project.project.teardown) {
|
|
715
|
+
const teardowns = projects.filter((p) => p.project.name === project.project.teardown);
|
|
716
|
+
if (!teardowns.length)
|
|
717
|
+
throw new Error(`Project '${project.project.name}' has unknown teardown project '${project.project.teardown}'`);
|
|
718
|
+
if (teardowns.length > 1)
|
|
719
|
+
throw new Error(`Project teardowns should have unique names, reading ${project.project.teardown}`);
|
|
720
|
+
const teardown = teardowns[0];
|
|
721
|
+
project.teardown = teardown;
|
|
722
|
+
teardownSet.add(teardown);
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
for (const teardown of teardownSet) {
|
|
726
|
+
if (teardown.deps.length)
|
|
727
|
+
throw new Error(`Teardown project ${teardown.project.name} must not have dependencies`);
|
|
728
|
+
}
|
|
729
|
+
for (const project of projects) {
|
|
730
|
+
for (const dep of project.deps) {
|
|
731
|
+
if (teardownSet.has(dep))
|
|
732
|
+
throw new Error(`Project ${project.project.name} must not depend on a teardown project ${dep.project.name}`);
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
function toReporters(reporters) {
|
|
737
|
+
if (!reporters)
|
|
738
|
+
return;
|
|
739
|
+
if (typeof reporters === "string")
|
|
740
|
+
return [[reporters]];
|
|
741
|
+
return reporters;
|
|
742
|
+
}
|
|
743
|
+
var builtInReporters = ["list", "line", "dot", "json", "junit", "null", "github", "html", "blob"];
|
|
744
|
+
function resolveScript(id, rootDir) {
|
|
745
|
+
if (!id)
|
|
746
|
+
return void 0;
|
|
747
|
+
const localPath = import_path3.default.resolve(rootDir, id);
|
|
748
|
+
if (import_fs3.default.existsSync(localPath))
|
|
749
|
+
return localPath;
|
|
750
|
+
return require.resolve(id, { paths: [rootDir] });
|
|
751
|
+
}
|
|
752
|
+
var defaultGrep = /.*/;
|
|
753
|
+
var defaultReporter = process.env.CI ? "dot" : "list";
|
|
754
|
+
var configInternalSymbol = Symbol("configInternalSymbol");
|
|
755
|
+
function getProjectId(project) {
|
|
756
|
+
return project.__projectId;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
// packages/playwright/src/common/configLoader.ts
|
|
760
|
+
var configLoader_exports = {};
|
|
761
|
+
__export(configLoader_exports, {
|
|
762
|
+
defineConfig: () => defineConfig,
|
|
763
|
+
deserializeConfig: () => deserializeConfig,
|
|
764
|
+
loadConfig: () => loadConfig,
|
|
765
|
+
loadConfigFromFile: () => loadConfigFromFile,
|
|
766
|
+
loadEmptyConfigForMergeReports: () => loadEmptyConfigForMergeReports,
|
|
767
|
+
resolveConfigLocation: () => resolveConfigLocation
|
|
768
|
+
});
|
|
769
|
+
var import_fs7 = __toESM(require("fs"));
|
|
770
|
+
var import_path7 = __toESM(require("path"));
|
|
771
|
+
|
|
772
|
+
// packages/playwright/src/transform/transform.ts
|
|
773
|
+
var transform_exports = {};
|
|
774
|
+
__export(transform_exports, {
|
|
775
|
+
incorporateCompilationCache: () => incorporateCompilationCache,
|
|
776
|
+
requireOrImport: () => requireOrImport,
|
|
777
|
+
resolveHook: () => resolveHook,
|
|
778
|
+
setSingleTSConfig: () => setSingleTSConfig,
|
|
779
|
+
setTransformConfig: () => setTransformConfig,
|
|
780
|
+
setTransformData: () => setTransformData,
|
|
781
|
+
shouldTransform: () => shouldTransform,
|
|
782
|
+
startCollectingFileDeps: () => startCollectingFileDeps2,
|
|
783
|
+
stopCollectingFileDeps: () => stopCollectingFileDeps2,
|
|
784
|
+
transformHook: () => transformHook,
|
|
785
|
+
wrapFunctionWithLocation: () => wrapFunctionWithLocation
|
|
786
|
+
});
|
|
787
|
+
var import_fs6 = __toESM(require("fs"));
|
|
788
|
+
var import_module2 = __toESM(require("module"));
|
|
789
|
+
var import_path6 = __toESM(require("path"));
|
|
790
|
+
var import_url2 = __toESM(require("url"));
|
|
791
|
+
var import_crypto = __toESM(require("crypto"));
|
|
792
|
+
|
|
793
|
+
// packages/playwright/src/transform/tsconfig-loader.ts
|
|
794
|
+
var import_path4 = __toESM(require("path"));
|
|
795
|
+
var import_fs4 = __toESM(require("fs"));
|
|
796
|
+
var json5 = require("playwright-core/lib/utilsBundle").json5;
|
|
797
|
+
function loadTsConfig(configPath) {
|
|
798
|
+
try {
|
|
799
|
+
const references = [];
|
|
800
|
+
const config = innerLoadTsConfig(configPath, references);
|
|
801
|
+
return [config, ...references];
|
|
802
|
+
} catch (e) {
|
|
803
|
+
throw new Error(`Failed to load tsconfig file at ${configPath}:
|
|
804
|
+
${e.message}`);
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
function resolveConfigFile(baseConfigFile, referencedConfigFile) {
|
|
808
|
+
if (!referencedConfigFile.endsWith(".json"))
|
|
809
|
+
referencedConfigFile += ".json";
|
|
810
|
+
const currentDir = import_path4.default.dirname(baseConfigFile);
|
|
811
|
+
let resolvedConfigFile = import_path4.default.resolve(currentDir, referencedConfigFile);
|
|
812
|
+
if (referencedConfigFile.includes("/") && referencedConfigFile.includes(".") && !import_fs4.default.existsSync(resolvedConfigFile))
|
|
813
|
+
resolvedConfigFile = import_path4.default.join(currentDir, "node_modules", referencedConfigFile);
|
|
814
|
+
return resolvedConfigFile;
|
|
815
|
+
}
|
|
816
|
+
function innerLoadTsConfig(configFilePath, references, visited = /* @__PURE__ */ new Map()) {
|
|
817
|
+
if (visited.has(configFilePath))
|
|
818
|
+
return visited.get(configFilePath);
|
|
819
|
+
let result2 = {
|
|
820
|
+
tsConfigPath: configFilePath
|
|
821
|
+
};
|
|
822
|
+
visited.set(configFilePath, result2);
|
|
823
|
+
if (!import_fs4.default.existsSync(configFilePath))
|
|
824
|
+
return result2;
|
|
825
|
+
const configString = import_fs4.default.readFileSync(configFilePath, "utf-8");
|
|
826
|
+
const cleanedJson = StripBom(configString);
|
|
827
|
+
const parsedConfig = json5.parse(cleanedJson);
|
|
828
|
+
const extendsArray = Array.isArray(parsedConfig.extends) ? parsedConfig.extends : parsedConfig.extends ? [parsedConfig.extends] : [];
|
|
829
|
+
for (const extendedConfig of extendsArray) {
|
|
830
|
+
const extendedConfigPath = resolveConfigFile(configFilePath, extendedConfig);
|
|
831
|
+
const base = innerLoadTsConfig(extendedConfigPath, references, visited);
|
|
832
|
+
Object.assign(result2, base, { tsConfigPath: configFilePath });
|
|
833
|
+
}
|
|
834
|
+
if (parsedConfig.compilerOptions?.allowJs !== void 0)
|
|
835
|
+
result2.allowJs = parsedConfig.compilerOptions.allowJs;
|
|
836
|
+
if (parsedConfig.compilerOptions?.paths !== void 0) {
|
|
837
|
+
result2.paths = {
|
|
838
|
+
mapping: parsedConfig.compilerOptions.paths,
|
|
839
|
+
pathsBasePath: import_path4.default.dirname(configFilePath)
|
|
840
|
+
};
|
|
841
|
+
}
|
|
842
|
+
if (parsedConfig.compilerOptions?.baseUrl !== void 0) {
|
|
843
|
+
result2.absoluteBaseUrl = import_path4.default.resolve(import_path4.default.dirname(configFilePath), parsedConfig.compilerOptions.baseUrl);
|
|
844
|
+
}
|
|
845
|
+
for (const ref of parsedConfig.references || [])
|
|
846
|
+
references.push(innerLoadTsConfig(resolveConfigFile(configFilePath, ref.path), references, visited));
|
|
847
|
+
if (import_path4.default.basename(configFilePath) === "jsconfig.json" && result2.allowJs === void 0)
|
|
848
|
+
result2.allowJs = true;
|
|
849
|
+
return result2;
|
|
850
|
+
}
|
|
851
|
+
function StripBom(string) {
|
|
852
|
+
if (typeof string !== "string") {
|
|
853
|
+
throw new TypeError(`Expected a string, got ${typeof string}`);
|
|
854
|
+
}
|
|
855
|
+
if (string.charCodeAt(0) === 65279) {
|
|
856
|
+
return string.slice(1);
|
|
857
|
+
}
|
|
858
|
+
return string;
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
// packages/playwright/src/transform/transform.ts
|
|
862
|
+
var import_package3 = require("../package");
|
|
863
|
+
|
|
864
|
+
// packages/playwright/src/transform/esmLoaderSync.ts
|
|
865
|
+
var import_fs5 = __toESM(require("fs"));
|
|
866
|
+
var import_url = __toESM(require("url"));
|
|
867
|
+
function resolve(specifier, context, nextResolve) {
|
|
868
|
+
if (context.parentURL && context.parentURL.startsWith("file://")) {
|
|
869
|
+
const filename = import_url.default.fileURLToPath(context.parentURL);
|
|
870
|
+
const resolved = resolveHook(filename, specifier);
|
|
871
|
+
if (resolved !== void 0) {
|
|
872
|
+
specifier = new Set(context.conditions).has("import") ? import_url.default.pathToFileURL(resolved).toString() : resolved;
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
const result2 = nextResolve(specifier, context);
|
|
876
|
+
if (result2?.url && result2.url.startsWith("file://"))
|
|
877
|
+
currentFileDepsCollector()?.add(import_url.default.fileURLToPath(result2.url));
|
|
878
|
+
return result2;
|
|
879
|
+
}
|
|
880
|
+
var kSupportedFormats = /* @__PURE__ */ new Map([
|
|
881
|
+
["commonjs", "commonjs"],
|
|
882
|
+
["module", "module"],
|
|
883
|
+
["commonjs-typescript", "commonjs"],
|
|
884
|
+
["module-typescript", "module"],
|
|
885
|
+
["typescript", null],
|
|
886
|
+
[null, null],
|
|
887
|
+
[void 0, void 0]
|
|
888
|
+
]);
|
|
889
|
+
function load(moduleUrl, context, nextLoad) {
|
|
890
|
+
if (!kSupportedFormats.has(context.format))
|
|
891
|
+
return nextLoad(moduleUrl, context);
|
|
892
|
+
if (!moduleUrl.startsWith("file://"))
|
|
893
|
+
return nextLoad(moduleUrl, context);
|
|
894
|
+
const filename = import_url.default.fileURLToPath(moduleUrl);
|
|
895
|
+
if (!shouldTransform(filename))
|
|
896
|
+
return nextLoad(moduleUrl, context);
|
|
897
|
+
const isRequire = !new Set(context.conditions).has("import");
|
|
898
|
+
const format = isRequire ? "commonjs" : kSupportedFormats.get(context.format) || (fileIsModule(filename) ? "module" : "commonjs");
|
|
899
|
+
const code = import_fs5.default.readFileSync(filename, "utf-8");
|
|
900
|
+
const transformed = transformHook(code, filename, format === "module" ? moduleUrl : void 0);
|
|
901
|
+
return {
|
|
902
|
+
format,
|
|
903
|
+
source: transformed.code,
|
|
904
|
+
shortCircuit: true
|
|
905
|
+
};
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
// packages/playwright/src/transform/pirates.ts
|
|
909
|
+
var import_module = __toESM(require("module"));
|
|
910
|
+
var import_path5 = __toESM(require("path"));
|
|
911
|
+
function addHook(transformHook2, shouldTransform2, extensions) {
|
|
912
|
+
const extensionsToOverwrite = extensions.filter((e) => e !== ".cjs");
|
|
913
|
+
const allSupportedExtensions = new Set(extensions);
|
|
914
|
+
const loaders = import_module.default._extensions;
|
|
915
|
+
const jsLoader = loaders[".js"];
|
|
916
|
+
for (const extension of extensionsToOverwrite) {
|
|
917
|
+
let newLoader2 = function(mod, filename, ...loaderArgs) {
|
|
918
|
+
if (allSupportedExtensions.has(import_path5.default.extname(filename)) && shouldTransform2(filename)) {
|
|
919
|
+
let newCompile2 = function(code, file2, ...ignoredArgs) {
|
|
920
|
+
mod._compile = oldCompile;
|
|
921
|
+
return oldCompile.call(this, transformHook2(code, filename), file2);
|
|
922
|
+
};
|
|
923
|
+
var newCompile = newCompile2;
|
|
924
|
+
const oldCompile = mod._compile;
|
|
925
|
+
mod._compile = newCompile2;
|
|
926
|
+
}
|
|
927
|
+
originalLoader.call(this, mod, filename, ...loaderArgs);
|
|
928
|
+
};
|
|
929
|
+
var newLoader = newLoader2;
|
|
930
|
+
const originalLoader = loaders[extension] || jsLoader;
|
|
931
|
+
loaders[extension] = newLoader2;
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
// packages/playwright/src/transform/portTransport.ts
|
|
936
|
+
var PortTransport = class {
|
|
937
|
+
constructor(port, handler) {
|
|
938
|
+
this._lastId = 0;
|
|
939
|
+
this._callbacks = /* @__PURE__ */ new Map();
|
|
940
|
+
this._port = port;
|
|
941
|
+
port.addEventListener("message", async (event) => {
|
|
942
|
+
const message = event.data;
|
|
943
|
+
const { id, ackId, method, params, result: result2 } = message;
|
|
944
|
+
if (ackId) {
|
|
945
|
+
const callback = this._callbacks.get(ackId);
|
|
946
|
+
this._callbacks.delete(ackId);
|
|
947
|
+
this._resetRef();
|
|
948
|
+
callback?.(result2);
|
|
949
|
+
return;
|
|
950
|
+
}
|
|
951
|
+
const handlerResult = await handler(method, params);
|
|
952
|
+
if (id)
|
|
953
|
+
this._port.postMessage({ ackId: id, result: handlerResult });
|
|
954
|
+
});
|
|
955
|
+
this._resetRef();
|
|
956
|
+
}
|
|
957
|
+
post(method, params) {
|
|
958
|
+
this._port.postMessage({ method, params });
|
|
959
|
+
}
|
|
960
|
+
async send(method, params) {
|
|
961
|
+
return await new Promise((f) => {
|
|
962
|
+
const id = ++this._lastId;
|
|
963
|
+
this._callbacks.set(id, f);
|
|
964
|
+
this._resetRef();
|
|
965
|
+
this._port.postMessage({ id, method, params });
|
|
966
|
+
});
|
|
967
|
+
}
|
|
968
|
+
_resetRef() {
|
|
969
|
+
if (this._callbacks.size) {
|
|
970
|
+
this._port.ref();
|
|
971
|
+
} else {
|
|
972
|
+
this._port.unref();
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
};
|
|
976
|
+
|
|
977
|
+
// packages/playwright/src/transform/transform.ts
|
|
978
|
+
var sourceMapSupport2 = require("playwright-core/lib/utilsBundle").sourceMapSupport;
|
|
979
|
+
var version = import_package3.packageJSON.version;
|
|
980
|
+
var cachedTSConfigs = /* @__PURE__ */ new Map();
|
|
981
|
+
var _transformConfig = {
|
|
982
|
+
babelPlugins: [],
|
|
983
|
+
external: []
|
|
984
|
+
};
|
|
985
|
+
var _externalMatcher = () => false;
|
|
986
|
+
async function setTransformConfig(config) {
|
|
987
|
+
_transformConfig = config;
|
|
988
|
+
_externalMatcher = createFileMatcher(_transformConfig.external);
|
|
989
|
+
if (loaderChannel)
|
|
990
|
+
await loaderChannel.send("setTransformConfig", { config });
|
|
991
|
+
}
|
|
992
|
+
var _singleTSConfigPath;
|
|
993
|
+
var _singleTSConfig;
|
|
994
|
+
async function setSingleTSConfig(value) {
|
|
995
|
+
_singleTSConfigPath = value;
|
|
996
|
+
if (loaderChannel)
|
|
997
|
+
await loaderChannel.send("setSingleTSConfig", { tsconfig: value });
|
|
998
|
+
}
|
|
999
|
+
function validateTsConfig(tsconfig) {
|
|
1000
|
+
const pathsBase = tsconfig.absoluteBaseUrl ?? tsconfig.paths?.pathsBasePath;
|
|
1001
|
+
const pathsFallback = tsconfig.absoluteBaseUrl ? [{ key: "*", values: ["*"] }] : [];
|
|
1002
|
+
return {
|
|
1003
|
+
allowJs: !!tsconfig.allowJs,
|
|
1004
|
+
pathsBase,
|
|
1005
|
+
paths: Object.entries(tsconfig.paths?.mapping || {}).map(([key, values]) => ({ key, values })).concat(pathsFallback)
|
|
1006
|
+
};
|
|
1007
|
+
}
|
|
1008
|
+
function loadAndValidateTsconfigsForFile(file2) {
|
|
1009
|
+
if (_singleTSConfigPath && !_singleTSConfig)
|
|
1010
|
+
_singleTSConfig = loadTsConfig(_singleTSConfigPath).map(validateTsConfig);
|
|
1011
|
+
if (_singleTSConfig)
|
|
1012
|
+
return _singleTSConfig;
|
|
1013
|
+
return loadAndValidateTsconfigsForFolder(import_path6.default.dirname(file2));
|
|
1014
|
+
}
|
|
1015
|
+
function loadAndValidateTsconfigsForFolder(folder) {
|
|
1016
|
+
const foldersWithConfig = [];
|
|
1017
|
+
let currentFolder = import_path6.default.resolve(folder);
|
|
1018
|
+
let result2;
|
|
1019
|
+
while (true) {
|
|
1020
|
+
const cached = cachedTSConfigs.get(currentFolder);
|
|
1021
|
+
if (cached) {
|
|
1022
|
+
result2 = cached;
|
|
1023
|
+
break;
|
|
1024
|
+
}
|
|
1025
|
+
foldersWithConfig.push(currentFolder);
|
|
1026
|
+
for (const name of ["tsconfig.json", "jsconfig.json"]) {
|
|
1027
|
+
const configPath = import_path6.default.join(currentFolder, name);
|
|
1028
|
+
if (import_fs6.default.existsSync(configPath)) {
|
|
1029
|
+
const loaded = loadTsConfig(configPath);
|
|
1030
|
+
result2 = loaded.map(validateTsConfig);
|
|
1031
|
+
break;
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
if (result2)
|
|
1035
|
+
break;
|
|
1036
|
+
const parentFolder = import_path6.default.resolve(currentFolder, "../");
|
|
1037
|
+
if (currentFolder === parentFolder)
|
|
1038
|
+
break;
|
|
1039
|
+
currentFolder = parentFolder;
|
|
1040
|
+
}
|
|
1041
|
+
result2 = result2 || [];
|
|
1042
|
+
for (const folder2 of foldersWithConfig)
|
|
1043
|
+
cachedTSConfigs.set(folder2, result2);
|
|
1044
|
+
return result2;
|
|
1045
|
+
}
|
|
1046
|
+
var pathSeparator = process.platform === "win32" ? ";" : ":";
|
|
1047
|
+
var builtins = new Set(import_module2.default.builtinModules);
|
|
1048
|
+
function resolveHook(filename, specifier) {
|
|
1049
|
+
if (specifier.startsWith("node:") || builtins.has(specifier))
|
|
1050
|
+
return;
|
|
1051
|
+
if (!shouldTransform(filename))
|
|
1052
|
+
return;
|
|
1053
|
+
if (isRelativeSpecifier(specifier))
|
|
1054
|
+
return resolveImportSpecifierAfterMapping(import_path6.default.resolve(import_path6.default.dirname(filename), specifier), false);
|
|
1055
|
+
const isTypeScript = filename.endsWith(".ts") || filename.endsWith(".tsx");
|
|
1056
|
+
const tsconfigs = loadAndValidateTsconfigsForFile(filename);
|
|
1057
|
+
for (const tsconfig of tsconfigs) {
|
|
1058
|
+
if (!isTypeScript && !tsconfig.allowJs)
|
|
1059
|
+
continue;
|
|
1060
|
+
let longestPrefixLength = -1;
|
|
1061
|
+
let pathMatchedByLongestPrefix;
|
|
1062
|
+
for (const { key, values } of tsconfig.paths) {
|
|
1063
|
+
let matchedPartOfSpecifier = specifier;
|
|
1064
|
+
const [keyPrefix, keySuffix] = key.split("*");
|
|
1065
|
+
if (key.includes("*")) {
|
|
1066
|
+
if (keyPrefix) {
|
|
1067
|
+
if (!specifier.startsWith(keyPrefix))
|
|
1068
|
+
continue;
|
|
1069
|
+
matchedPartOfSpecifier = matchedPartOfSpecifier.substring(keyPrefix.length, matchedPartOfSpecifier.length);
|
|
1070
|
+
}
|
|
1071
|
+
if (keySuffix) {
|
|
1072
|
+
if (!specifier.endsWith(keySuffix))
|
|
1073
|
+
continue;
|
|
1074
|
+
matchedPartOfSpecifier = matchedPartOfSpecifier.substring(0, matchedPartOfSpecifier.length - keySuffix.length);
|
|
1075
|
+
}
|
|
1076
|
+
} else {
|
|
1077
|
+
if (specifier !== key)
|
|
1078
|
+
continue;
|
|
1079
|
+
matchedPartOfSpecifier = specifier;
|
|
1080
|
+
}
|
|
1081
|
+
if (keyPrefix.length <= longestPrefixLength)
|
|
1082
|
+
continue;
|
|
1083
|
+
for (const value of values) {
|
|
1084
|
+
let candidate = value;
|
|
1085
|
+
if (value.includes("*"))
|
|
1086
|
+
candidate = candidate.replace("*", matchedPartOfSpecifier);
|
|
1087
|
+
candidate = import_path6.default.resolve(tsconfig.pathsBase, candidate);
|
|
1088
|
+
const existing = resolveImportSpecifierAfterMapping(candidate, true);
|
|
1089
|
+
if (existing) {
|
|
1090
|
+
longestPrefixLength = keyPrefix.length;
|
|
1091
|
+
pathMatchedByLongestPrefix = existing;
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
if (pathMatchedByLongestPrefix)
|
|
1096
|
+
return pathMatchedByLongestPrefix;
|
|
1097
|
+
}
|
|
1098
|
+
if (import_path6.default.isAbsolute(specifier)) {
|
|
1099
|
+
return resolveImportSpecifierAfterMapping(specifier, false);
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1102
|
+
function shouldTransform(filename) {
|
|
1103
|
+
if (_externalMatcher(filename))
|
|
1104
|
+
return false;
|
|
1105
|
+
return !belongsToNodeModules(filename);
|
|
1106
|
+
}
|
|
1107
|
+
var transformData;
|
|
1108
|
+
function setTransformData(pluginName, value) {
|
|
1109
|
+
transformData.set(pluginName, value);
|
|
1110
|
+
}
|
|
1111
|
+
function transformHook(originalCode, filename, moduleUrl) {
|
|
1112
|
+
const hasPreprocessor = process.env.PW_TEST_SOURCE_TRANSFORM && process.env.PW_TEST_SOURCE_TRANSFORM_SCOPE && process.env.PW_TEST_SOURCE_TRANSFORM_SCOPE.split(pathSeparator).some((f) => filename.startsWith(f));
|
|
1113
|
+
const pluginsPrologue = _transformConfig.babelPlugins;
|
|
1114
|
+
const pluginsEpilogue = hasPreprocessor ? [[process.env.PW_TEST_SOURCE_TRANSFORM]] : [];
|
|
1115
|
+
const hash = calculateHash(originalCode, filename, !!moduleUrl, pluginsPrologue, pluginsEpilogue);
|
|
1116
|
+
const { cachedCode, addToCache, serializedCache } = getFromCompilationCache(filename, hash, moduleUrl);
|
|
1117
|
+
if (cachedCode !== void 0)
|
|
1118
|
+
return { code: cachedCode, serializedCache };
|
|
1119
|
+
process.env.BROWSERSLIST_IGNORE_OLD_DATA = "true";
|
|
1120
|
+
const { babelTransform } = require((0, import_package3.libPath)("transform", "babelBundle"));
|
|
1121
|
+
transformData = /* @__PURE__ */ new Map();
|
|
1122
|
+
const setTransformDataForPlugin = (key, value) => transformData.set(key, value);
|
|
1123
|
+
const wrappedPrologue = pluginsPrologue.map(([name, opts]) => [
|
|
1124
|
+
name,
|
|
1125
|
+
{ ...opts || {}, setTransformData: setTransformDataForPlugin }
|
|
1126
|
+
]);
|
|
1127
|
+
const babelResult = babelTransform(originalCode, filename, !!moduleUrl, wrappedPrologue, pluginsEpilogue, _transformConfig.jsxImportSource);
|
|
1128
|
+
if (!babelResult?.code)
|
|
1129
|
+
return { code: originalCode, serializedCache };
|
|
1130
|
+
const { code, map } = babelResult;
|
|
1131
|
+
const added = addToCache(code, map, transformData);
|
|
1132
|
+
return { code, serializedCache: added.serializedCache };
|
|
1133
|
+
}
|
|
1134
|
+
function calculateHash(content, filePath, isModule2, pluginsPrologue, pluginsEpilogue) {
|
|
1135
|
+
const hash = import_crypto.default.createHash("sha1").update(isModule2 ? "esm" : "no_esm").update(content).update(filePath).update(version).update(pluginsPrologue.map((p) => p[0]).join(",")).update(pluginsEpilogue.map((p) => p[0]).join(",")).digest("hex");
|
|
1136
|
+
return hash;
|
|
1137
|
+
}
|
|
1138
|
+
async function requireOrImport(file) {
|
|
1139
|
+
installTransformIfNeeded();
|
|
1140
|
+
const isModule = fileIsModule(file);
|
|
1141
|
+
if (isModule) {
|
|
1142
|
+
const fileName = import_url2.default.pathToFileURL(file);
|
|
1143
|
+
const esmImport = () => eval(`import(${JSON.stringify(fileName)})`);
|
|
1144
|
+
if (loaderChannel) {
|
|
1145
|
+
await eval(`import(${JSON.stringify(fileName + ".esm.preflight")})`).catch((error) => debugTest("Failed to load preflight for " + file + ", source maps may be missing for errors thrown during loading.", error)).finally(nextTask);
|
|
1146
|
+
}
|
|
1147
|
+
return await esmImport().finally(nextTask);
|
|
1148
|
+
}
|
|
1149
|
+
const result = require(file);
|
|
1150
|
+
const depsCollector = currentFileDepsCollector();
|
|
1151
|
+
if (depsCollector) {
|
|
1152
|
+
const module2 = require.cache[file];
|
|
1153
|
+
if (module2) {
|
|
1154
|
+
const cjsDeps = /* @__PURE__ */ new Set();
|
|
1155
|
+
collectCJSDependencies(module2, cjsDeps);
|
|
1156
|
+
for (const dep of cjsDeps)
|
|
1157
|
+
depsCollector.add(dep);
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
return result;
|
|
1161
|
+
}
|
|
1162
|
+
var transformInstalled = false;
|
|
1163
|
+
function installTransformIfNeeded() {
|
|
1164
|
+
if (transformInstalled)
|
|
1165
|
+
return;
|
|
1166
|
+
transformInstalled = true;
|
|
1167
|
+
registerESMLoader();
|
|
1168
|
+
installSourceMapSupport();
|
|
1169
|
+
if (loaderChannel) {
|
|
1170
|
+
installCJSHooks();
|
|
1171
|
+
return;
|
|
1172
|
+
}
|
|
1173
|
+
const extensions = import_module2.default._extensions;
|
|
1174
|
+
for (const ext of [".ts", ".cts", ".tsx", ".jsx"])
|
|
1175
|
+
extensions[ext] = extensions[".js"];
|
|
1176
|
+
}
|
|
1177
|
+
function installCJSHooks() {
|
|
1178
|
+
const originalResolveFilename = import_module2.default._resolveFilename;
|
|
1179
|
+
function resolveFilename(specifier, parent, ...rest) {
|
|
1180
|
+
if (parent) {
|
|
1181
|
+
const resolved = resolveHook(parent.filename, specifier);
|
|
1182
|
+
if (resolved !== void 0)
|
|
1183
|
+
specifier = resolved;
|
|
1184
|
+
}
|
|
1185
|
+
return originalResolveFilename.call(this, specifier, parent, ...rest);
|
|
1186
|
+
}
|
|
1187
|
+
import_module2.default._resolveFilename = resolveFilename;
|
|
1188
|
+
addHook((code, filename) => {
|
|
1189
|
+
return transformHook(code, filename).code;
|
|
1190
|
+
}, shouldTransform, [".ts", ".tsx", ".js", ".jsx", ".mjs", ".mts", ".cjs", ".cts"]);
|
|
1191
|
+
}
|
|
1192
|
+
var collectCJSDependencies = (module2, dependencies) => {
|
|
1193
|
+
module2.children.forEach((child) => {
|
|
1194
|
+
if (!belongsToNodeModules(child.filename) && !dependencies.has(child.filename)) {
|
|
1195
|
+
dependencies.add(child.filename);
|
|
1196
|
+
collectCJSDependencies(child, dependencies);
|
|
1197
|
+
}
|
|
1198
|
+
});
|
|
1199
|
+
};
|
|
1200
|
+
function wrapFunctionWithLocation(func) {
|
|
1201
|
+
return (...args) => {
|
|
1202
|
+
const oldPrepareStackTrace = Error.prepareStackTrace;
|
|
1203
|
+
Error.prepareStackTrace = (error, stackFrames) => {
|
|
1204
|
+
const frame = sourceMapSupport2.wrapCallSite(stackFrames[1]);
|
|
1205
|
+
const fileName2 = frame.getFileName();
|
|
1206
|
+
const file2 = fileName2 && fileName2.startsWith("file://") ? import_url2.default.fileURLToPath(fileName2) : fileName2;
|
|
1207
|
+
return {
|
|
1208
|
+
file: file2,
|
|
1209
|
+
line: frame.getLineNumber(),
|
|
1210
|
+
column: frame.getColumnNumber()
|
|
1211
|
+
};
|
|
1212
|
+
};
|
|
1213
|
+
const oldStackTraceLimit = Error.stackTraceLimit;
|
|
1214
|
+
Error.stackTraceLimit = 2;
|
|
1215
|
+
const obj = {};
|
|
1216
|
+
Error.captureStackTrace(obj);
|
|
1217
|
+
const location = obj.stack;
|
|
1218
|
+
Error.stackTraceLimit = oldStackTraceLimit;
|
|
1219
|
+
Error.prepareStackTrace = oldPrepareStackTrace;
|
|
1220
|
+
return func(location, ...args);
|
|
1221
|
+
};
|
|
1222
|
+
}
|
|
1223
|
+
function isRelativeSpecifier(specifier) {
|
|
1224
|
+
return specifier === "." || specifier === ".." || specifier.startsWith("./") || specifier.startsWith("../");
|
|
1225
|
+
}
|
|
1226
|
+
async function nextTask() {
|
|
1227
|
+
return new Promise((resolve2) => setTimeout(resolve2, 0));
|
|
1228
|
+
}
|
|
1229
|
+
var loaderChannel;
|
|
1230
|
+
function registerESMLoader() {
|
|
1231
|
+
if (process.env.PW_DISABLE_TS_ESM)
|
|
1232
|
+
return;
|
|
1233
|
+
if ("Bun" in globalThis)
|
|
1234
|
+
return;
|
|
1235
|
+
const nodeModule = require("node:module");
|
|
1236
|
+
if (nodeModule.registerHooks && !process.env.PLAYWRIGHT_FORCE_ASYNC_LOADER) {
|
|
1237
|
+
nodeModule.registerHooks({ resolve, load });
|
|
1238
|
+
return;
|
|
1239
|
+
}
|
|
1240
|
+
if (!nodeModule.register)
|
|
1241
|
+
return;
|
|
1242
|
+
const { port1, port2 } = new MessageChannel();
|
|
1243
|
+
nodeModule.register(import_url2.default.pathToFileURL(require.resolve("../transform/esmLoader.js")), {
|
|
1244
|
+
data: { port: port2 },
|
|
1245
|
+
transferList: [port2]
|
|
1246
|
+
});
|
|
1247
|
+
loaderChannel = new PortTransport(port1, async (method, params) => {
|
|
1248
|
+
if (method === "pushToCompilationCache")
|
|
1249
|
+
addToCompilationCache(params.cache);
|
|
1250
|
+
});
|
|
1251
|
+
void loaderChannel.send("setSingleTSConfig", { tsconfig: _singleTSConfigPath });
|
|
1252
|
+
void loaderChannel.send("setTransformConfig", { config: _transformConfig });
|
|
1253
|
+
void loaderChannel.send("addToCompilationCache", { cache: serializeCompilationCache() });
|
|
1254
|
+
}
|
|
1255
|
+
async function startCollectingFileDeps2() {
|
|
1256
|
+
startCollectingFileDeps();
|
|
1257
|
+
if (loaderChannel)
|
|
1258
|
+
await loaderChannel.send("startCollectingFileDeps", {});
|
|
1259
|
+
}
|
|
1260
|
+
async function stopCollectingFileDeps2(file2) {
|
|
1261
|
+
stopCollectingFileDeps(file2);
|
|
1262
|
+
if (loaderChannel)
|
|
1263
|
+
await loaderChannel.send("stopCollectingFileDeps", { file: file2 });
|
|
1264
|
+
}
|
|
1265
|
+
async function incorporateCompilationCache() {
|
|
1266
|
+
if (!loaderChannel)
|
|
1267
|
+
return;
|
|
1268
|
+
const result2 = await loaderChannel.send("getCompilationCache", {});
|
|
1269
|
+
addToCompilationCache(result2.cache);
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
// packages/playwright/src/common/configLoader.ts
|
|
1273
|
+
var { isRegExp: isRegExp2 } = require("playwright-core/lib/coreBundle").iso;
|
|
1274
|
+
var kDefineConfigWasUsed = Symbol("defineConfigWasUsed");
|
|
1275
|
+
var defineConfig = (...configs) => {
|
|
1276
|
+
let result2 = configs[0];
|
|
1277
|
+
for (let i = 1; i < configs.length; ++i) {
|
|
1278
|
+
const config = configs[i];
|
|
1279
|
+
const prevProjects = result2.projects;
|
|
1280
|
+
result2 = {
|
|
1281
|
+
...result2,
|
|
1282
|
+
...config,
|
|
1283
|
+
expect: {
|
|
1284
|
+
...result2.expect,
|
|
1285
|
+
...config.expect
|
|
1286
|
+
},
|
|
1287
|
+
use: {
|
|
1288
|
+
...result2.use,
|
|
1289
|
+
...config.use
|
|
1290
|
+
},
|
|
1291
|
+
build: {
|
|
1292
|
+
...result2.build,
|
|
1293
|
+
...config.build
|
|
1294
|
+
},
|
|
1295
|
+
webServer: [
|
|
1296
|
+
...Array.isArray(result2.webServer) ? result2.webServer : result2.webServer ? [result2.webServer] : [],
|
|
1297
|
+
...Array.isArray(config.webServer) ? config.webServer : config.webServer ? [config.webServer] : []
|
|
1298
|
+
]
|
|
1299
|
+
};
|
|
1300
|
+
if (!result2.projects && !config.projects)
|
|
1301
|
+
continue;
|
|
1302
|
+
const projectOverrides = /* @__PURE__ */ new Map();
|
|
1303
|
+
for (const project of config.projects || [])
|
|
1304
|
+
projectOverrides.set(project.name, project);
|
|
1305
|
+
const projects = [];
|
|
1306
|
+
for (const project of prevProjects || []) {
|
|
1307
|
+
const projectOverride = projectOverrides.get(project.name);
|
|
1308
|
+
if (projectOverride) {
|
|
1309
|
+
projects.push({
|
|
1310
|
+
...project,
|
|
1311
|
+
...projectOverride,
|
|
1312
|
+
use: {
|
|
1313
|
+
...project.use,
|
|
1314
|
+
...projectOverride.use
|
|
1315
|
+
}
|
|
1316
|
+
});
|
|
1317
|
+
projectOverrides.delete(project.name);
|
|
1318
|
+
} else {
|
|
1319
|
+
projects.push(project);
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
projects.push(...projectOverrides.values());
|
|
1323
|
+
result2.projects = projects;
|
|
1324
|
+
}
|
|
1325
|
+
result2[kDefineConfigWasUsed] = true;
|
|
1326
|
+
return result2;
|
|
1327
|
+
};
|
|
1328
|
+
async function deserializeConfig(data) {
|
|
1329
|
+
if (data.compilationCache)
|
|
1330
|
+
addToCompilationCache(data.compilationCache);
|
|
1331
|
+
return await loadConfig(data.location, data.configCLIOverrides, void 0, data.metadata ? JSON.parse(data.metadata) : void 0);
|
|
1332
|
+
}
|
|
1333
|
+
async function loadUserConfig(location) {
|
|
1334
|
+
let object = location.resolvedConfigFile ? await requireOrImport(location.resolvedConfigFile) : {};
|
|
1335
|
+
if (object && typeof object === "object" && "default" in object)
|
|
1336
|
+
object = object["default"];
|
|
1337
|
+
return object;
|
|
1338
|
+
}
|
|
1339
|
+
async function loadConfig(location, overrides, ignoreProjectDependencies = false, metadata) {
|
|
1340
|
+
await setSingleTSConfig(overrides?.tsconfig);
|
|
1341
|
+
const userConfig = await loadUserConfig(location);
|
|
1342
|
+
validateConfig(location.resolvedConfigFile || "<default config>", userConfig);
|
|
1343
|
+
const fullConfig = new FullConfigInternal(location, userConfig, overrides || {}, metadata);
|
|
1344
|
+
fullConfig.defineConfigWasUsed = !!userConfig[kDefineConfigWasUsed];
|
|
1345
|
+
if (ignoreProjectDependencies) {
|
|
1346
|
+
for (const project of fullConfig.projects) {
|
|
1347
|
+
project.deps = [];
|
|
1348
|
+
project.teardown = void 0;
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
const babelPlugins = userConfig["@playwright/test"]?.babelPlugins || [];
|
|
1352
|
+
const external = userConfig.build?.external || [];
|
|
1353
|
+
const jsxImportSource = import_path7.default.dirname(require.resolve("playwright"));
|
|
1354
|
+
await setTransformConfig({ babelPlugins, external, jsxImportSource });
|
|
1355
|
+
if (!overrides?.tsconfig)
|
|
1356
|
+
await setSingleTSConfig(fullConfig?.singleTSConfigPath);
|
|
1357
|
+
return fullConfig;
|
|
1358
|
+
}
|
|
1359
|
+
function validateConfig(file2, config) {
|
|
1360
|
+
if (typeof config !== "object" || !config)
|
|
1361
|
+
throw errorWithFile(file2, `Configuration file must export a single object`);
|
|
1362
|
+
validateProject(file2, config, "config");
|
|
1363
|
+
if ("forbidOnly" in config && config.forbidOnly !== void 0) {
|
|
1364
|
+
if (typeof config.forbidOnly !== "boolean")
|
|
1365
|
+
throw errorWithFile(file2, `config.forbidOnly must be a boolean`);
|
|
1366
|
+
}
|
|
1367
|
+
if ("globalSetup" in config && config.globalSetup !== void 0) {
|
|
1368
|
+
if (Array.isArray(config.globalSetup)) {
|
|
1369
|
+
config.globalSetup.forEach((item, index) => {
|
|
1370
|
+
if (typeof item !== "string")
|
|
1371
|
+
throw errorWithFile(file2, `config.globalSetup[${index}] must be a string`);
|
|
1372
|
+
});
|
|
1373
|
+
} else if (typeof config.globalSetup !== "string") {
|
|
1374
|
+
throw errorWithFile(file2, `config.globalSetup must be a string`);
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
if ("globalTeardown" in config && config.globalTeardown !== void 0) {
|
|
1378
|
+
if (Array.isArray(config.globalTeardown)) {
|
|
1379
|
+
config.globalTeardown.forEach((item, index) => {
|
|
1380
|
+
if (typeof item !== "string")
|
|
1381
|
+
throw errorWithFile(file2, `config.globalTeardown[${index}] must be a string`);
|
|
1382
|
+
});
|
|
1383
|
+
} else if (typeof config.globalTeardown !== "string") {
|
|
1384
|
+
throw errorWithFile(file2, `config.globalTeardown must be a string`);
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
if ("globalTimeout" in config && config.globalTimeout !== void 0) {
|
|
1388
|
+
if (typeof config.globalTimeout !== "number" || config.globalTimeout < 0)
|
|
1389
|
+
throw errorWithFile(file2, `config.globalTimeout must be a non-negative number`);
|
|
1390
|
+
}
|
|
1391
|
+
if ("grep" in config && config.grep !== void 0) {
|
|
1392
|
+
if (Array.isArray(config.grep)) {
|
|
1393
|
+
config.grep.forEach((item, index) => {
|
|
1394
|
+
if (!isRegExp2(item))
|
|
1395
|
+
throw errorWithFile(file2, `config.grep[${index}] must be a RegExp`);
|
|
1396
|
+
});
|
|
1397
|
+
} else if (!isRegExp2(config.grep)) {
|
|
1398
|
+
throw errorWithFile(file2, `config.grep must be a RegExp`);
|
|
1399
|
+
}
|
|
1400
|
+
}
|
|
1401
|
+
if ("grepInvert" in config && config.grepInvert !== void 0) {
|
|
1402
|
+
if (Array.isArray(config.grepInvert)) {
|
|
1403
|
+
config.grepInvert.forEach((item, index) => {
|
|
1404
|
+
if (!isRegExp2(item))
|
|
1405
|
+
throw errorWithFile(file2, `config.grepInvert[${index}] must be a RegExp`);
|
|
1406
|
+
});
|
|
1407
|
+
} else if (!isRegExp2(config.grepInvert)) {
|
|
1408
|
+
throw errorWithFile(file2, `config.grepInvert must be a RegExp`);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
if ("maxFailures" in config && config.maxFailures !== void 0) {
|
|
1412
|
+
if (typeof config.maxFailures !== "number" || config.maxFailures < 0)
|
|
1413
|
+
throw errorWithFile(file2, `config.maxFailures must be a non-negative number`);
|
|
1414
|
+
}
|
|
1415
|
+
if ("preserveOutput" in config && config.preserveOutput !== void 0) {
|
|
1416
|
+
if (typeof config.preserveOutput !== "string" || !["always", "never", "failures-only"].includes(config.preserveOutput))
|
|
1417
|
+
throw errorWithFile(file2, `config.preserveOutput must be one of "always", "never" or "failures-only"`);
|
|
1418
|
+
}
|
|
1419
|
+
if ("projects" in config && config.projects !== void 0) {
|
|
1420
|
+
if (!Array.isArray(config.projects))
|
|
1421
|
+
throw errorWithFile(file2, `config.projects must be an array`);
|
|
1422
|
+
config.projects.forEach((project, index) => {
|
|
1423
|
+
validateProject(file2, project, `config.projects[${index}]`);
|
|
1424
|
+
});
|
|
1425
|
+
}
|
|
1426
|
+
if ("quiet" in config && config.quiet !== void 0) {
|
|
1427
|
+
if (typeof config.quiet !== "boolean")
|
|
1428
|
+
throw errorWithFile(file2, `config.quiet must be a boolean`);
|
|
1429
|
+
}
|
|
1430
|
+
if ("reporter" in config && config.reporter !== void 0) {
|
|
1431
|
+
if (Array.isArray(config.reporter)) {
|
|
1432
|
+
config.reporter.forEach((item, index) => {
|
|
1433
|
+
if (!Array.isArray(item) || item.length <= 0 || item.length > 2 || typeof item[0] !== "string")
|
|
1434
|
+
throw errorWithFile(file2, `config.reporter[${index}] must be a tuple [name, optionalArgument]`);
|
|
1435
|
+
});
|
|
1436
|
+
} else if (typeof config.reporter !== "string") {
|
|
1437
|
+
throw errorWithFile(file2, `config.reporter must be a string`);
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
if ("reportSlowTests" in config && config.reportSlowTests !== void 0 && config.reportSlowTests !== null) {
|
|
1441
|
+
if (!config.reportSlowTests || typeof config.reportSlowTests !== "object")
|
|
1442
|
+
throw errorWithFile(file2, `config.reportSlowTests must be an object`);
|
|
1443
|
+
if (!("max" in config.reportSlowTests) || typeof config.reportSlowTests.max !== "number" || config.reportSlowTests.max < 0)
|
|
1444
|
+
throw errorWithFile(file2, `config.reportSlowTests.max must be a non-negative number`);
|
|
1445
|
+
if (!("threshold" in config.reportSlowTests) || typeof config.reportSlowTests.threshold !== "number" || config.reportSlowTests.threshold < 0)
|
|
1446
|
+
throw errorWithFile(file2, `config.reportSlowTests.threshold must be a non-negative number`);
|
|
1447
|
+
}
|
|
1448
|
+
if ("shard" in config && config.shard !== void 0 && config.shard !== null) {
|
|
1449
|
+
if (!config.shard || typeof config.shard !== "object")
|
|
1450
|
+
throw errorWithFile(file2, `config.shard must be an object`);
|
|
1451
|
+
if (!("total" in config.shard) || typeof config.shard.total !== "number" || config.shard.total < 1)
|
|
1452
|
+
throw errorWithFile(file2, `config.shard.total must be a positive number`);
|
|
1453
|
+
if (!("current" in config.shard) || typeof config.shard.current !== "number" || config.shard.current < 1 || config.shard.current > config.shard.total)
|
|
1454
|
+
throw errorWithFile(file2, `config.shard.current must be a positive number, not greater than config.shard.total`);
|
|
1455
|
+
}
|
|
1456
|
+
if ("updateSnapshots" in config && config.updateSnapshots !== void 0) {
|
|
1457
|
+
if (typeof config.updateSnapshots !== "string" || !["all", "changed", "missing", "none"].includes(config.updateSnapshots))
|
|
1458
|
+
throw errorWithFile(file2, `config.updateSnapshots must be one of "all", "changed", "missing" or "none"`);
|
|
1459
|
+
}
|
|
1460
|
+
if ("tsconfig" in config && config.tsconfig !== void 0) {
|
|
1461
|
+
if (typeof config.tsconfig !== "string")
|
|
1462
|
+
throw errorWithFile(file2, `config.tsconfig must be a string`);
|
|
1463
|
+
if (!import_fs7.default.existsSync(import_path7.default.resolve(file2, "..", config.tsconfig)))
|
|
1464
|
+
throw errorWithFile(file2, `config.tsconfig does not exist`);
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1467
|
+
function validateProject(file2, project, title) {
|
|
1468
|
+
if (typeof project !== "object" || !project)
|
|
1469
|
+
throw errorWithFile(file2, `${title} must be an object`);
|
|
1470
|
+
if ("name" in project && project.name !== void 0) {
|
|
1471
|
+
if (typeof project.name !== "string")
|
|
1472
|
+
throw errorWithFile(file2, `${title}.name must be a string`);
|
|
1473
|
+
}
|
|
1474
|
+
if ("outputDir" in project && project.outputDir !== void 0) {
|
|
1475
|
+
if (typeof project.outputDir !== "string")
|
|
1476
|
+
throw errorWithFile(file2, `${title}.outputDir must be a string`);
|
|
1477
|
+
}
|
|
1478
|
+
if ("repeatEach" in project && project.repeatEach !== void 0) {
|
|
1479
|
+
if (typeof project.repeatEach !== "number" || project.repeatEach < 0)
|
|
1480
|
+
throw errorWithFile(file2, `${title}.repeatEach must be a non-negative number`);
|
|
1481
|
+
}
|
|
1482
|
+
if ("retries" in project && project.retries !== void 0) {
|
|
1483
|
+
if (typeof project.retries !== "number" || project.retries < 0)
|
|
1484
|
+
throw errorWithFile(file2, `${title}.retries must be a non-negative number`);
|
|
1485
|
+
}
|
|
1486
|
+
if ("testDir" in project && project.testDir !== void 0) {
|
|
1487
|
+
if (typeof project.testDir !== "string")
|
|
1488
|
+
throw errorWithFile(file2, `${title}.testDir must be a string`);
|
|
1489
|
+
}
|
|
1490
|
+
for (const prop of ["testIgnore", "testMatch"]) {
|
|
1491
|
+
if (prop in project && project[prop] !== void 0) {
|
|
1492
|
+
const value = project[prop];
|
|
1493
|
+
if (Array.isArray(value)) {
|
|
1494
|
+
value.forEach((item, index) => {
|
|
1495
|
+
if (typeof item !== "string" && !isRegExp2(item))
|
|
1496
|
+
throw errorWithFile(file2, `${title}.${prop}[${index}] must be a string or a RegExp`);
|
|
1497
|
+
});
|
|
1498
|
+
} else if (typeof value !== "string" && !isRegExp2(value)) {
|
|
1499
|
+
throw errorWithFile(file2, `${title}.${prop} must be a string or a RegExp`);
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1503
|
+
if ("timeout" in project && project.timeout !== void 0) {
|
|
1504
|
+
if (typeof project.timeout !== "number" || project.timeout < 0)
|
|
1505
|
+
throw errorWithFile(file2, `${title}.timeout must be a non-negative number`);
|
|
1506
|
+
}
|
|
1507
|
+
if ("use" in project && project.use !== void 0) {
|
|
1508
|
+
if (!project.use || typeof project.use !== "object")
|
|
1509
|
+
throw errorWithFile(file2, `${title}.use must be an object`);
|
|
1510
|
+
}
|
|
1511
|
+
if ("ignoreSnapshots" in project && project.ignoreSnapshots !== void 0) {
|
|
1512
|
+
if (typeof project.ignoreSnapshots !== "boolean")
|
|
1513
|
+
throw errorWithFile(file2, `${title}.ignoreSnapshots must be a boolean`);
|
|
1514
|
+
}
|
|
1515
|
+
if ("workers" in project && project.workers !== void 0) {
|
|
1516
|
+
if (typeof project.workers === "number" && project.workers <= 0)
|
|
1517
|
+
throw errorWithFile(file2, `${title}.workers must be a positive number`);
|
|
1518
|
+
else if (typeof project.workers === "string" && !project.workers.endsWith("%"))
|
|
1519
|
+
throw errorWithFile(file2, `${title}.workers must be a number or percentage`);
|
|
1520
|
+
}
|
|
1521
|
+
}
|
|
1522
|
+
function resolveConfigLocation(configFile) {
|
|
1523
|
+
const configFileOrDirectory = configFile ? import_path7.default.resolve(process.cwd(), configFile) : process.cwd();
|
|
1524
|
+
const resolvedConfigFile = resolveConfigFile2(configFileOrDirectory);
|
|
1525
|
+
return {
|
|
1526
|
+
resolvedConfigFile,
|
|
1527
|
+
configDir: resolvedConfigFile ? import_path7.default.dirname(resolvedConfigFile) : configFileOrDirectory
|
|
1528
|
+
};
|
|
1529
|
+
}
|
|
1530
|
+
function resolveConfigFile2(configFileOrDirectory) {
|
|
1531
|
+
const resolveConfig = (configFile) => {
|
|
1532
|
+
if (import_fs7.default.existsSync(configFile))
|
|
1533
|
+
return configFile;
|
|
1534
|
+
};
|
|
1535
|
+
const resolveConfigFileFromDirectory = (directory) => {
|
|
1536
|
+
for (const ext of [".ts", ".js", ".mts", ".mjs", ".cts", ".cjs"]) {
|
|
1537
|
+
const configFile = resolveConfig(import_path7.default.resolve(directory, "playwright.config" + ext));
|
|
1538
|
+
if (configFile)
|
|
1539
|
+
return configFile;
|
|
1540
|
+
}
|
|
1541
|
+
};
|
|
1542
|
+
if (!import_fs7.default.existsSync(configFileOrDirectory))
|
|
1543
|
+
throw new Error(`${configFileOrDirectory} does not exist`);
|
|
1544
|
+
if (import_fs7.default.statSync(configFileOrDirectory).isDirectory()) {
|
|
1545
|
+
const configFile = resolveConfigFileFromDirectory(configFileOrDirectory);
|
|
1546
|
+
if (configFile)
|
|
1547
|
+
return configFile;
|
|
1548
|
+
return void 0;
|
|
1549
|
+
}
|
|
1550
|
+
return configFileOrDirectory;
|
|
1551
|
+
}
|
|
1552
|
+
async function loadConfigFromFile(configFile, overrides, ignoreDeps) {
|
|
1553
|
+
return await loadConfig(resolveConfigLocation(configFile), overrides, ignoreDeps);
|
|
1554
|
+
}
|
|
1555
|
+
async function loadEmptyConfigForMergeReports() {
|
|
1556
|
+
return await loadConfig({ configDir: process.cwd() });
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1559
|
+
// packages/playwright/src/common/fixtures.ts
|
|
1560
|
+
var fixtures_exports = {};
|
|
1561
|
+
__export(fixtures_exports, {
|
|
1562
|
+
FixturePool: () => FixturePool,
|
|
1563
|
+
fixtureParameterNames: () => fixtureParameterNames,
|
|
1564
|
+
formatPotentiallyInternalLocation: () => formatPotentiallyInternalLocation,
|
|
1565
|
+
inheritFixtureNames: () => inheritFixtureNames
|
|
1566
|
+
});
|
|
1567
|
+
var import_crypto2 = __toESM(require("crypto"));
|
|
1568
|
+
var kScopeOrder = ["test", "worker"];
|
|
1569
|
+
function isFixtureTuple(value) {
|
|
1570
|
+
return Array.isArray(value) && typeof value[1] === "object";
|
|
1571
|
+
}
|
|
1572
|
+
function isFixtureOption(value) {
|
|
1573
|
+
return isFixtureTuple(value) && !!value[1].option;
|
|
1574
|
+
}
|
|
1575
|
+
var FixturePool = class {
|
|
1576
|
+
constructor(fixturesList, onLoadError, parentPool, disallowWorkerFixtures, optionOverrides) {
|
|
1577
|
+
this._registrations = new Map(parentPool ? parentPool._registrations : []);
|
|
1578
|
+
this._onLoadError = onLoadError;
|
|
1579
|
+
const allOverrides = optionOverrides?.overrides ?? {};
|
|
1580
|
+
const overrideKeys = new Set(Object.keys(allOverrides));
|
|
1581
|
+
for (const list of fixturesList) {
|
|
1582
|
+
this._appendFixtureList(list, !!disallowWorkerFixtures, false);
|
|
1583
|
+
const selectedOverrides = {};
|
|
1584
|
+
for (const [key, value] of Object.entries(list.fixtures)) {
|
|
1585
|
+
if (isFixtureOption(value) && overrideKeys.has(key))
|
|
1586
|
+
selectedOverrides[key] = [allOverrides[key], value[1]];
|
|
1587
|
+
}
|
|
1588
|
+
if (Object.entries(selectedOverrides).length)
|
|
1589
|
+
this._appendFixtureList({ fixtures: selectedOverrides, location: optionOverrides.location }, !!disallowWorkerFixtures, true);
|
|
1590
|
+
}
|
|
1591
|
+
if (optionOverrides) {
|
|
1592
|
+
for (const key of overrideKeys) {
|
|
1593
|
+
const registration = this._registrations.get(key);
|
|
1594
|
+
if (registration && !registration.option)
|
|
1595
|
+
this._addLoadError(`Fixture "${key}" cannot be overridden in the configuration "use" section. Only fixtures registered with { option: true } can be set in the config.`, optionOverrides.location);
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
this.digest = this.validate();
|
|
1599
|
+
}
|
|
1600
|
+
_appendFixtureList(list, disallowWorkerFixtures, isOptionsOverride) {
|
|
1601
|
+
const { fixtures, location } = list;
|
|
1602
|
+
for (const entry of Object.entries(fixtures)) {
|
|
1603
|
+
const name = entry[0];
|
|
1604
|
+
let value = entry[1];
|
|
1605
|
+
let options;
|
|
1606
|
+
if (isFixtureTuple(value)) {
|
|
1607
|
+
options = {
|
|
1608
|
+
auto: value[1].auto ?? false,
|
|
1609
|
+
scope: value[1].scope || "test",
|
|
1610
|
+
option: !!value[1].option,
|
|
1611
|
+
timeout: value[1].timeout,
|
|
1612
|
+
customTitle: value[1].title,
|
|
1613
|
+
box: value[1].box
|
|
1614
|
+
};
|
|
1615
|
+
value = value[0];
|
|
1616
|
+
}
|
|
1617
|
+
let fn = value;
|
|
1618
|
+
const previous = this._registrations.get(name);
|
|
1619
|
+
if (previous && options) {
|
|
1620
|
+
if (previous.scope !== options.scope) {
|
|
1621
|
+
this._addLoadError(`Fixture "${name}" has already been registered as a { scope: '${previous.scope}' } fixture defined in ${formatLocation(previous.location)}.`, location);
|
|
1622
|
+
continue;
|
|
1623
|
+
}
|
|
1624
|
+
if (previous.auto !== options.auto) {
|
|
1625
|
+
this._addLoadError(`Fixture "${name}" has already been registered as a { auto: '${previous.scope}' } fixture defined in ${formatLocation(previous.location)}.`, location);
|
|
1626
|
+
continue;
|
|
1627
|
+
}
|
|
1628
|
+
} else if (previous) {
|
|
1629
|
+
options = { auto: previous.auto, scope: previous.scope, option: previous.option, timeout: previous.timeout, customTitle: previous.customTitle };
|
|
1630
|
+
} else if (!options) {
|
|
1631
|
+
options = { auto: false, scope: "test", option: false, timeout: void 0 };
|
|
1632
|
+
}
|
|
1633
|
+
if (!kScopeOrder.includes(options.scope)) {
|
|
1634
|
+
this._addLoadError(`Fixture "${name}" has unknown { scope: '${options.scope}' }.`, location);
|
|
1635
|
+
continue;
|
|
1636
|
+
}
|
|
1637
|
+
if (options.scope === "worker" && disallowWorkerFixtures) {
|
|
1638
|
+
this._addLoadError(`Cannot use({ ${name} }) in a describe group, because it forces a new worker.
|
|
1639
|
+
Make it top-level in the test file or put in the configuration file.`, location);
|
|
1640
|
+
continue;
|
|
1641
|
+
}
|
|
1642
|
+
if (fn === void 0 && options.option && previous) {
|
|
1643
|
+
let original = previous;
|
|
1644
|
+
while (!original.optionOverride && original.super)
|
|
1645
|
+
original = original.super;
|
|
1646
|
+
fn = original.fn;
|
|
1647
|
+
}
|
|
1648
|
+
const deps = fixtureParameterNames(fn, location, (e) => this._onLoadError(e));
|
|
1649
|
+
const registration = { id: "", name, location, scope: options.scope, fn, auto: options.auto, option: options.option, timeout: options.timeout, customTitle: options.customTitle, box: options.box, deps, super: previous, optionOverride: isOptionsOverride };
|
|
1650
|
+
registrationId(registration);
|
|
1651
|
+
this._registrations.set(name, registration);
|
|
1652
|
+
}
|
|
1653
|
+
}
|
|
1654
|
+
validate() {
|
|
1655
|
+
const markers = /* @__PURE__ */ new Map();
|
|
1656
|
+
const stack = [];
|
|
1657
|
+
let hasDependencyErrors = false;
|
|
1658
|
+
const addDependencyError = (message, location) => {
|
|
1659
|
+
hasDependencyErrors = true;
|
|
1660
|
+
this._addLoadError(message, location);
|
|
1661
|
+
};
|
|
1662
|
+
const visit = (registration, boxedOnly) => {
|
|
1663
|
+
markers.set(registration, "visiting");
|
|
1664
|
+
stack.push(registration);
|
|
1665
|
+
for (const name of registration.deps) {
|
|
1666
|
+
const dep = this.resolve(name, registration);
|
|
1667
|
+
if (!dep) {
|
|
1668
|
+
if (name === registration.name)
|
|
1669
|
+
addDependencyError(`Fixture "${registration.name}" references itself, but does not have a base implementation.`, registration.location);
|
|
1670
|
+
else
|
|
1671
|
+
addDependencyError(`Fixture "${registration.name}" has unknown parameter "${name}".`, registration.location);
|
|
1672
|
+
continue;
|
|
1673
|
+
}
|
|
1674
|
+
if (kScopeOrder.indexOf(registration.scope) > kScopeOrder.indexOf(dep.scope)) {
|
|
1675
|
+
addDependencyError(`${registration.scope} fixture "${registration.name}" cannot depend on a ${dep.scope} fixture "${name}" defined in ${formatPotentiallyInternalLocation(dep.location)}.`, registration.location);
|
|
1676
|
+
continue;
|
|
1677
|
+
}
|
|
1678
|
+
if (!markers.has(dep)) {
|
|
1679
|
+
visit(dep, boxedOnly);
|
|
1680
|
+
} else if (markers.get(dep) === "visiting") {
|
|
1681
|
+
const index = stack.indexOf(dep);
|
|
1682
|
+
const allRegs = stack.slice(index, stack.length);
|
|
1683
|
+
const filteredRegs = allRegs.filter((r) => !r.box);
|
|
1684
|
+
const regs = boxedOnly ? filteredRegs : allRegs;
|
|
1685
|
+
const names2 = regs.map((r) => `"${r.name}"`);
|
|
1686
|
+
addDependencyError(`Fixtures ${names2.join(" -> ")} -> "${dep.name}" form a dependency cycle: ${regs.map((r) => formatPotentiallyInternalLocation(r.location)).join(" -> ")} -> ${formatPotentiallyInternalLocation(dep.location)}`, dep.location);
|
|
1687
|
+
continue;
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
markers.set(registration, "visited");
|
|
1691
|
+
stack.pop();
|
|
1692
|
+
};
|
|
1693
|
+
const names = Array.from(this._registrations.keys()).sort();
|
|
1694
|
+
for (const name of names) {
|
|
1695
|
+
const registration = this._registrations.get(name);
|
|
1696
|
+
if (!registration.box)
|
|
1697
|
+
visit(registration, true);
|
|
1698
|
+
}
|
|
1699
|
+
if (!hasDependencyErrors) {
|
|
1700
|
+
for (const name of names) {
|
|
1701
|
+
const registration = this._registrations.get(name);
|
|
1702
|
+
if (registration.box)
|
|
1703
|
+
visit(registration, false);
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
const hash = import_crypto2.default.createHash("sha1");
|
|
1707
|
+
for (const name of names) {
|
|
1708
|
+
const registration = this._registrations.get(name);
|
|
1709
|
+
if (registration.scope === "worker")
|
|
1710
|
+
hash.update(registration.id + ";");
|
|
1711
|
+
}
|
|
1712
|
+
return hash.digest("hex");
|
|
1713
|
+
}
|
|
1714
|
+
validateFunction(fn, prefix, location) {
|
|
1715
|
+
for (const name of fixtureParameterNames(fn, location, (e) => this._onLoadError(e))) {
|
|
1716
|
+
const registration = this._registrations.get(name);
|
|
1717
|
+
if (!registration)
|
|
1718
|
+
this._addLoadError(`${prefix} has unknown parameter "${name}".`, location);
|
|
1719
|
+
}
|
|
1720
|
+
}
|
|
1721
|
+
resolve(name, forFixture) {
|
|
1722
|
+
if (name === forFixture?.name)
|
|
1723
|
+
return forFixture.super;
|
|
1724
|
+
return this._registrations.get(name);
|
|
1725
|
+
}
|
|
1726
|
+
autoFixtures() {
|
|
1727
|
+
return [...this._registrations.values()].filter((r) => r.auto !== false);
|
|
1728
|
+
}
|
|
1729
|
+
_addLoadError(message, location) {
|
|
1730
|
+
this._onLoadError({ message, location });
|
|
1731
|
+
}
|
|
1732
|
+
};
|
|
1733
|
+
var signatureSymbol = Symbol("signature");
|
|
1734
|
+
function formatPotentiallyInternalLocation(location) {
|
|
1735
|
+
const isUserFixture = location && filterStackFile(location.file);
|
|
1736
|
+
return isUserFixture ? formatLocation(location) : "<builtin>";
|
|
1737
|
+
}
|
|
1738
|
+
function fixtureParameterNames(fn, location, onError) {
|
|
1739
|
+
if (typeof fn !== "function")
|
|
1740
|
+
return [];
|
|
1741
|
+
if (!fn[signatureSymbol])
|
|
1742
|
+
fn[signatureSymbol] = innerFixtureParameterNames(fn, location, onError);
|
|
1743
|
+
return fn[signatureSymbol];
|
|
1744
|
+
}
|
|
1745
|
+
function inheritFixtureNames(from, to) {
|
|
1746
|
+
to[signatureSymbol] = from[signatureSymbol];
|
|
1747
|
+
}
|
|
1748
|
+
function innerFixtureParameterNames(fn, location, onError) {
|
|
1749
|
+
const text = filterOutComments(fn.toString());
|
|
1750
|
+
const match = text.match(/(?:async)?(?:\s+function)?[^(]*\(([^)]*)/);
|
|
1751
|
+
if (!match)
|
|
1752
|
+
return [];
|
|
1753
|
+
const trimmedParams = match[1].trim();
|
|
1754
|
+
if (!trimmedParams)
|
|
1755
|
+
return [];
|
|
1756
|
+
const [firstParam] = splitByComma(trimmedParams);
|
|
1757
|
+
if (firstParam[0] !== "{" || firstParam[firstParam.length - 1] !== "}") {
|
|
1758
|
+
onError({ message: "First argument must use the object destructuring pattern: " + firstParam, location });
|
|
1759
|
+
return [];
|
|
1760
|
+
}
|
|
1761
|
+
const props = splitByComma(firstParam.substring(1, firstParam.length - 1)).map((prop) => {
|
|
1762
|
+
const colon = prop.indexOf(":");
|
|
1763
|
+
return colon === -1 ? prop.trim() : prop.substring(0, colon).trim();
|
|
1764
|
+
});
|
|
1765
|
+
const restProperty = props.find((prop) => prop.startsWith("..."));
|
|
1766
|
+
if (restProperty) {
|
|
1767
|
+
onError({ message: `Rest property "${restProperty}" is not supported. List all used fixtures explicitly, separated by comma.`, location });
|
|
1768
|
+
return [];
|
|
1769
|
+
}
|
|
1770
|
+
return props;
|
|
1771
|
+
}
|
|
1772
|
+
function filterOutComments(s) {
|
|
1773
|
+
const result2 = [];
|
|
1774
|
+
let commentState = "none";
|
|
1775
|
+
for (let i = 0; i < s.length; ++i) {
|
|
1776
|
+
if (commentState === "singleline") {
|
|
1777
|
+
if (s[i] === "\n")
|
|
1778
|
+
commentState = "none";
|
|
1779
|
+
} else if (commentState === "multiline") {
|
|
1780
|
+
if (s[i - 1] === "*" && s[i] === "/")
|
|
1781
|
+
commentState = "none";
|
|
1782
|
+
} else if (commentState === "none") {
|
|
1783
|
+
if (s[i] === "/" && s[i + 1] === "/") {
|
|
1784
|
+
commentState = "singleline";
|
|
1785
|
+
} else if (s[i] === "/" && s[i + 1] === "*") {
|
|
1786
|
+
commentState = "multiline";
|
|
1787
|
+
i += 2;
|
|
1788
|
+
} else {
|
|
1789
|
+
result2.push(s[i]);
|
|
1790
|
+
}
|
|
1791
|
+
}
|
|
1792
|
+
}
|
|
1793
|
+
return result2.join("");
|
|
1794
|
+
}
|
|
1795
|
+
function splitByComma(s) {
|
|
1796
|
+
const result2 = [];
|
|
1797
|
+
const stack = [];
|
|
1798
|
+
let start = 0;
|
|
1799
|
+
for (let i = 0; i < s.length; i++) {
|
|
1800
|
+
if (s[i] === "{" || s[i] === "[") {
|
|
1801
|
+
stack.push(s[i] === "{" ? "}" : "]");
|
|
1802
|
+
} else if (s[i] === stack[stack.length - 1]) {
|
|
1803
|
+
stack.pop();
|
|
1804
|
+
} else if (!stack.length && s[i] === ",") {
|
|
1805
|
+
const token = s.substring(start, i).trim();
|
|
1806
|
+
if (token)
|
|
1807
|
+
result2.push(token);
|
|
1808
|
+
start = i + 1;
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
const lastToken = s.substring(start).trim();
|
|
1812
|
+
if (lastToken)
|
|
1813
|
+
result2.push(lastToken);
|
|
1814
|
+
return result2;
|
|
1815
|
+
}
|
|
1816
|
+
var registrationIdMap = /* @__PURE__ */ new Map();
|
|
1817
|
+
var lastId = 0;
|
|
1818
|
+
function registrationId(registration) {
|
|
1819
|
+
if (registration.id)
|
|
1820
|
+
return registration.id;
|
|
1821
|
+
const key = registration.name + "@@@" + (registration.super ? registrationId(registration.super) : "");
|
|
1822
|
+
let map = registrationIdMap.get(key);
|
|
1823
|
+
if (!map) {
|
|
1824
|
+
map = /* @__PURE__ */ new Map();
|
|
1825
|
+
registrationIdMap.set(key, map);
|
|
1826
|
+
}
|
|
1827
|
+
if (!map.has(registration.fn))
|
|
1828
|
+
map.set(registration.fn, String(lastId++));
|
|
1829
|
+
registration.id = map.get(registration.fn);
|
|
1830
|
+
return registration.id;
|
|
1831
|
+
}
|
|
1832
|
+
|
|
1833
|
+
// packages/playwright/src/common/ipc.ts
|
|
1834
|
+
var ipc_exports = {};
|
|
1835
|
+
__export(ipc_exports, {
|
|
1836
|
+
serializeConfig: () => serializeConfig,
|
|
1837
|
+
stdioChunkToParams: () => stdioChunkToParams,
|
|
1838
|
+
toTestInfoErrorPayload: () => toTestInfoErrorPayload
|
|
1839
|
+
});
|
|
1840
|
+
var import_util7 = __toESM(require("util"));
|
|
1841
|
+
function serializeConfig(config, passCompilationCache) {
|
|
1842
|
+
const result2 = {
|
|
1843
|
+
location: { configDir: config.configDir, resolvedConfigFile: config.config.configFile },
|
|
1844
|
+
configCLIOverrides: config.configCLIOverrides,
|
|
1845
|
+
compilationCache: passCompilationCache ? serializeCompilationCache() : void 0
|
|
1846
|
+
};
|
|
1847
|
+
try {
|
|
1848
|
+
result2.metadata = JSON.stringify(config.config.metadata);
|
|
1849
|
+
} catch (error) {
|
|
1850
|
+
}
|
|
1851
|
+
return result2;
|
|
1852
|
+
}
|
|
1853
|
+
function stdioChunkToParams(chunk) {
|
|
1854
|
+
if (chunk instanceof Uint8Array)
|
|
1855
|
+
return { buffer: Buffer.from(chunk).toString("base64") };
|
|
1856
|
+
if (typeof chunk !== "string")
|
|
1857
|
+
return { text: import_util7.default.inspect(chunk) };
|
|
1858
|
+
return { text: chunk };
|
|
1859
|
+
}
|
|
1860
|
+
function toTestInfoErrorPayload(error) {
|
|
1861
|
+
const result2 = {};
|
|
1862
|
+
if (error.message !== void 0)
|
|
1863
|
+
result2.message = error.message;
|
|
1864
|
+
if (error.stack !== void 0)
|
|
1865
|
+
result2.stack = error.stack;
|
|
1866
|
+
if (error.value !== void 0)
|
|
1867
|
+
result2.value = error.value;
|
|
1868
|
+
if (error.cause !== void 0)
|
|
1869
|
+
result2.cause = toTestInfoErrorPayload(error.cause);
|
|
1870
|
+
return result2;
|
|
1871
|
+
}
|
|
1872
|
+
|
|
1873
|
+
// packages/playwright/src/common/poolBuilder.ts
|
|
1874
|
+
var poolBuilder_exports = {};
|
|
1875
|
+
__export(poolBuilder_exports, {
|
|
1876
|
+
PoolBuilder: () => PoolBuilder
|
|
1877
|
+
});
|
|
1878
|
+
var PoolBuilder = class _PoolBuilder {
|
|
1879
|
+
constructor(type, project) {
|
|
1880
|
+
this._testTypePools = /* @__PURE__ */ new Map();
|
|
1881
|
+
this._type = type;
|
|
1882
|
+
this._project = project;
|
|
1883
|
+
}
|
|
1884
|
+
static createForLoader() {
|
|
1885
|
+
return new _PoolBuilder("loader");
|
|
1886
|
+
}
|
|
1887
|
+
static createForWorker(project) {
|
|
1888
|
+
return new _PoolBuilder("worker", project);
|
|
1889
|
+
}
|
|
1890
|
+
buildPools(suite, testErrors) {
|
|
1891
|
+
suite.forEachTest((test) => {
|
|
1892
|
+
const pool = this._buildPoolForTest(test, testErrors);
|
|
1893
|
+
if (this._type === "loader")
|
|
1894
|
+
test._poolDigest = pool.digest;
|
|
1895
|
+
if (this._type === "worker")
|
|
1896
|
+
test._pool = pool;
|
|
1897
|
+
});
|
|
1898
|
+
}
|
|
1899
|
+
_buildPoolForTest(test, testErrors) {
|
|
1900
|
+
let pool = this._buildTestTypePool(test._testType, testErrors);
|
|
1901
|
+
const parents = [];
|
|
1902
|
+
for (let parent = test.parent; parent; parent = parent.parent)
|
|
1903
|
+
parents.push(parent);
|
|
1904
|
+
parents.reverse();
|
|
1905
|
+
for (const parent of parents) {
|
|
1906
|
+
if (parent._use.length)
|
|
1907
|
+
pool = new FixturePool(parent._use, (e) => this._handleLoadError(e, testErrors), pool, parent._type === "describe");
|
|
1908
|
+
for (const hook of parent._hooks)
|
|
1909
|
+
pool.validateFunction(hook.fn, hook.type + " hook", hook.location);
|
|
1910
|
+
for (const modifier of parent._modifiers)
|
|
1911
|
+
pool.validateFunction(modifier.fn, modifier.type + " modifier", modifier.location);
|
|
1912
|
+
}
|
|
1913
|
+
pool.validateFunction(test.fn, "Test", test.location);
|
|
1914
|
+
return pool;
|
|
1915
|
+
}
|
|
1916
|
+
_buildTestTypePool(testType, testErrors) {
|
|
1917
|
+
if (!this._testTypePools.has(testType)) {
|
|
1918
|
+
const optionOverrides = {
|
|
1919
|
+
overrides: this._project?.project?.use ?? {},
|
|
1920
|
+
location: { file: `project#${this._project?.id}`, line: 1, column: 1 }
|
|
1921
|
+
};
|
|
1922
|
+
const pool = new FixturePool(testType.fixtures, (e) => this._handleLoadError(e, testErrors), void 0, void 0, optionOverrides);
|
|
1923
|
+
this._testTypePools.set(testType, pool);
|
|
1924
|
+
}
|
|
1925
|
+
return this._testTypePools.get(testType);
|
|
1926
|
+
}
|
|
1927
|
+
_handleLoadError(e, testErrors) {
|
|
1928
|
+
if (testErrors)
|
|
1929
|
+
testErrors.push(e);
|
|
1930
|
+
else
|
|
1931
|
+
throw new Error(`${formatLocation(e.location)}: ${e.message}`);
|
|
1932
|
+
}
|
|
1933
|
+
};
|
|
1934
|
+
|
|
1935
|
+
// packages/playwright/src/common/process.ts
|
|
1936
|
+
var process_exports = {};
|
|
1937
|
+
__export(process_exports, {
|
|
1938
|
+
ProcessRunner: () => ProcessRunner,
|
|
1939
|
+
startProcessRunner: () => startProcessRunner
|
|
1940
|
+
});
|
|
1941
|
+
var import_bootstrap = require("playwright-core/lib/bootstrap");
|
|
1942
|
+
var { ManualPromise } = require("playwright-core/lib/coreBundle").iso;
|
|
1943
|
+
var { setTimeOrigin } = require("playwright-core/lib/coreBundle").iso;
|
|
1944
|
+
var { startProfiling, stopProfiling } = require("playwright-core/lib/coreBundle").utils;
|
|
1945
|
+
var ProcessRunner = class {
|
|
1946
|
+
async gracefullyClose() {
|
|
1947
|
+
}
|
|
1948
|
+
dispatchEvent(method, params) {
|
|
1949
|
+
const response = { method, params };
|
|
1950
|
+
sendMessageToParent({ method: "__dispatch__", params: response });
|
|
1951
|
+
}
|
|
1952
|
+
async sendRequest(method, params) {
|
|
1953
|
+
return await sendRequestToParent(method, params);
|
|
1954
|
+
}
|
|
1955
|
+
async sendMessageNoReply(method, params) {
|
|
1956
|
+
void sendRequestToParent(method, params).catch(() => {
|
|
1957
|
+
});
|
|
1958
|
+
}
|
|
1959
|
+
};
|
|
1960
|
+
var gracefullyCloseCalled = false;
|
|
1961
|
+
var forceExitInitiated = false;
|
|
1962
|
+
var processRunner;
|
|
1963
|
+
var processName;
|
|
1964
|
+
var startingEnv = { ...process.env };
|
|
1965
|
+
function startProcessRunner(create) {
|
|
1966
|
+
sendMessageToParent({ method: "ready" });
|
|
1967
|
+
process.on("disconnect", () => gracefullyCloseAndExit(true));
|
|
1968
|
+
process.on("SIGINT", () => {
|
|
1969
|
+
});
|
|
1970
|
+
process.on("SIGTERM", () => {
|
|
1971
|
+
});
|
|
1972
|
+
process.on("message", async (message) => {
|
|
1973
|
+
if (message.method === "__init__") {
|
|
1974
|
+
const { processParams, runnerParams } = message.params;
|
|
1975
|
+
void startProfiling();
|
|
1976
|
+
setTimeOrigin(processParams.timeOrigin);
|
|
1977
|
+
processRunner = create(runnerParams);
|
|
1978
|
+
processName = processParams.processName;
|
|
1979
|
+
return;
|
|
1980
|
+
}
|
|
1981
|
+
if (message.method === "__stop__") {
|
|
1982
|
+
const keys = /* @__PURE__ */ new Set([...Object.keys(process.env), ...Object.keys(startingEnv)]);
|
|
1983
|
+
const producedEnv = [...keys].filter((key) => startingEnv[key] !== process.env[key]).map((key) => [key, process.env[key] ?? null]);
|
|
1984
|
+
sendMessageToParent({ method: "__env_produced__", params: producedEnv });
|
|
1985
|
+
await gracefullyCloseAndExit(false);
|
|
1986
|
+
return;
|
|
1987
|
+
}
|
|
1988
|
+
if (message.method === "__dispatch__") {
|
|
1989
|
+
const { id, method, params } = message.params;
|
|
1990
|
+
try {
|
|
1991
|
+
const result2 = await processRunner[method](params);
|
|
1992
|
+
const response = { id, result: result2 };
|
|
1993
|
+
sendMessageToParent({ method: "__dispatch__", params: response });
|
|
1994
|
+
} catch (e) {
|
|
1995
|
+
const response = { id, error: serializeError(e) };
|
|
1996
|
+
sendMessageToParent({ method: "__dispatch__", params: response });
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
if (message.method === "__response__")
|
|
2000
|
+
handleResponseFromParent(message.params);
|
|
2001
|
+
});
|
|
2002
|
+
}
|
|
2003
|
+
var kForceExitTimeout = +(process.env.PWTEST_FORCE_EXIT_TIMEOUT || 3e4);
|
|
2004
|
+
async function gracefullyCloseAndExit(forceExit) {
|
|
2005
|
+
if (forceExit && !forceExitInitiated) {
|
|
2006
|
+
forceExitInitiated = true;
|
|
2007
|
+
setTimeout(() => process.exit(0), kForceExitTimeout);
|
|
2008
|
+
}
|
|
2009
|
+
if (!gracefullyCloseCalled) {
|
|
2010
|
+
gracefullyCloseCalled = true;
|
|
2011
|
+
await processRunner?.gracefullyClose().catch(() => {
|
|
2012
|
+
});
|
|
2013
|
+
if (processName)
|
|
2014
|
+
await stopProfiling(processName).catch(() => {
|
|
2015
|
+
});
|
|
2016
|
+
process.exit(0);
|
|
2017
|
+
}
|
|
2018
|
+
}
|
|
2019
|
+
function sendMessageToParent(message) {
|
|
2020
|
+
try {
|
|
2021
|
+
process.send(message);
|
|
2022
|
+
} catch (e) {
|
|
2023
|
+
try {
|
|
2024
|
+
JSON.stringify(message);
|
|
2025
|
+
} catch {
|
|
2026
|
+
throw e;
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
}
|
|
2030
|
+
var lastId2 = 0;
|
|
2031
|
+
var requestCallbacks = /* @__PURE__ */ new Map();
|
|
2032
|
+
async function sendRequestToParent(method, params) {
|
|
2033
|
+
const id = ++lastId2;
|
|
2034
|
+
sendMessageToParent({ method: "__request__", params: { id, method, params } });
|
|
2035
|
+
const promise = new ManualPromise();
|
|
2036
|
+
requestCallbacks.set(id, promise);
|
|
2037
|
+
return promise;
|
|
2038
|
+
}
|
|
2039
|
+
function handleResponseFromParent(response) {
|
|
2040
|
+
const promise = requestCallbacks.get(response.id);
|
|
2041
|
+
if (!promise)
|
|
2042
|
+
return;
|
|
2043
|
+
requestCallbacks.delete(response.id);
|
|
2044
|
+
if (response.error)
|
|
2045
|
+
promise.reject(new Error(response.error.message));
|
|
2046
|
+
else
|
|
2047
|
+
promise.resolve(response.result);
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2050
|
+
// packages/playwright/src/common/suiteUtils.ts
|
|
2051
|
+
var suiteUtils_exports = {};
|
|
2052
|
+
__export(suiteUtils_exports, {
|
|
2053
|
+
applyRepeatEachIndex: () => applyRepeatEachIndex,
|
|
2054
|
+
bindFileSuiteToProject: () => bindFileSuiteToProject,
|
|
2055
|
+
createFiltersFromArguments: () => createFiltersFromArguments,
|
|
2056
|
+
filterOnly: () => filterOnly,
|
|
2057
|
+
filterTestsRemoveEmptySuites: () => filterTestsRemoveEmptySuites
|
|
2058
|
+
});
|
|
2059
|
+
var import_path8 = __toESM(require("path"));
|
|
2060
|
+
var { calculateSha1: calculateSha13 } = require("playwright-core/lib/coreBundle").utils;
|
|
2061
|
+
var { toPosixPath } = require("playwright-core/lib/coreBundle").utils;
|
|
2062
|
+
function filterTestsRemoveEmptySuites(suite, filter) {
|
|
2063
|
+
const filteredSuites = suite.suites.filter((child) => filterTestsRemoveEmptySuites(child, filter));
|
|
2064
|
+
const filteredTests = suite.tests.filter(filter);
|
|
2065
|
+
const entries = /* @__PURE__ */ new Set([...filteredSuites, ...filteredTests]);
|
|
2066
|
+
suite._entries = suite._entries.filter((e) => entries.has(e));
|
|
2067
|
+
return !!suite._entries.length;
|
|
2068
|
+
}
|
|
2069
|
+
function bindFileSuiteToProject(project, suite) {
|
|
2070
|
+
const relativeFile = import_path8.default.relative(project.project.testDir, suite.location.file);
|
|
2071
|
+
const fileId = calculateSha13(toPosixPath(relativeFile)).slice(0, 20);
|
|
2072
|
+
const result2 = suite._deepClone();
|
|
2073
|
+
result2._fileId = fileId;
|
|
2074
|
+
result2.forEachTest((test, suite2) => {
|
|
2075
|
+
suite2._fileId = fileId;
|
|
2076
|
+
const [file2, ...titles] = test.titlePath();
|
|
2077
|
+
const testIdExpression = `[project=${project.id}]${toPosixPath(file2)}${titles.join("")}`;
|
|
2078
|
+
const testId = fileId + "-" + calculateSha13(testIdExpression).slice(0, 20);
|
|
2079
|
+
test.id = testId;
|
|
2080
|
+
test._projectId = project.id;
|
|
2081
|
+
let inheritedRetries;
|
|
2082
|
+
let inheritedTimeout;
|
|
2083
|
+
for (let parentSuite = suite2; parentSuite; parentSuite = parentSuite.parent) {
|
|
2084
|
+
if (parentSuite._staticAnnotations.length)
|
|
2085
|
+
test.annotations.unshift(...parentSuite._staticAnnotations);
|
|
2086
|
+
if (inheritedRetries === void 0 && parentSuite._retries !== void 0)
|
|
2087
|
+
inheritedRetries = parentSuite._retries;
|
|
2088
|
+
if (inheritedTimeout === void 0 && parentSuite._timeout !== void 0)
|
|
2089
|
+
inheritedTimeout = parentSuite._timeout;
|
|
2090
|
+
}
|
|
2091
|
+
test.retries = inheritedRetries ?? project.project.retries;
|
|
2092
|
+
test.timeout = inheritedTimeout ?? project.project.timeout;
|
|
2093
|
+
if (test.annotations.some((a) => a.type === "skip" || a.type === "fixme"))
|
|
2094
|
+
test.expectedStatus = "skipped";
|
|
2095
|
+
if (test._poolDigest)
|
|
2096
|
+
test._workerHash = `${project.id}-${test._poolDigest}-0`;
|
|
2097
|
+
});
|
|
2098
|
+
return result2;
|
|
2099
|
+
}
|
|
2100
|
+
function applyRepeatEachIndex(project, fileSuite, repeatEachIndex) {
|
|
2101
|
+
fileSuite.forEachTest((test, suite) => {
|
|
2102
|
+
if (repeatEachIndex) {
|
|
2103
|
+
const [file2, ...titles] = test.titlePath();
|
|
2104
|
+
const testIdExpression = `[project=${project.id}]${toPosixPath(file2)}${titles.join("")} (repeat:${repeatEachIndex})`;
|
|
2105
|
+
const testId = suite._fileId + "-" + calculateSha13(testIdExpression).slice(0, 20);
|
|
2106
|
+
test.id = testId;
|
|
2107
|
+
test.repeatEachIndex = repeatEachIndex;
|
|
2108
|
+
if (test._poolDigest)
|
|
2109
|
+
test._workerHash = `${project.id}-${test._poolDigest}-${repeatEachIndex}`;
|
|
2110
|
+
}
|
|
2111
|
+
});
|
|
2112
|
+
}
|
|
2113
|
+
function filterOnly(suite) {
|
|
2114
|
+
if (!suite._getOnlyItems().length)
|
|
2115
|
+
return;
|
|
2116
|
+
const suiteFilter = (suite2) => suite2._only;
|
|
2117
|
+
const testFilter = (test) => test._only;
|
|
2118
|
+
return filterSuiteWithOnlySemantics(suite, suiteFilter, testFilter);
|
|
2119
|
+
}
|
|
2120
|
+
function filterSuiteWithOnlySemantics(suite, suiteFilter, testFilter) {
|
|
2121
|
+
const onlySuites = suite.suites.filter((child) => filterSuiteWithOnlySemantics(child, suiteFilter, testFilter) || suiteFilter(child));
|
|
2122
|
+
const onlyTests = suite.tests.filter(testFilter);
|
|
2123
|
+
const onlyEntries = /* @__PURE__ */ new Set([...onlySuites, ...onlyTests]);
|
|
2124
|
+
if (onlyEntries.size) {
|
|
2125
|
+
suite._entries = suite._entries.filter((e) => onlyEntries.has(e));
|
|
2126
|
+
return true;
|
|
2127
|
+
}
|
|
2128
|
+
return false;
|
|
2129
|
+
}
|
|
2130
|
+
function createFiltersFromArguments(args) {
|
|
2131
|
+
const matchers = args.map((arg) => {
|
|
2132
|
+
const parsed = parseLocationArg(arg);
|
|
2133
|
+
const fileMatcher = createFileMatcher(forceRegExp(parsed.file));
|
|
2134
|
+
const locationMatcher2 = (file2, line, column) => fileMatcher(file2) && (parsed.line === line || parsed.line === null) && (parsed.column === column || parsed.column === null);
|
|
2135
|
+
return { fileMatcher, locationMatcher: locationMatcher2 };
|
|
2136
|
+
});
|
|
2137
|
+
const fileFilter = (file2) => matchers.some((m) => m.fileMatcher(file2));
|
|
2138
|
+
const locationMatcher = (file2, line, column) => matchers.some((m) => m.locationMatcher(file2, line, column));
|
|
2139
|
+
const testFilter = (test) => {
|
|
2140
|
+
for (let suite = test.parent; suite; suite = suite.parent) {
|
|
2141
|
+
if (suite.location && locationMatcher(suite.location.file, suite.location.line, suite.location.column))
|
|
2142
|
+
return true;
|
|
2143
|
+
}
|
|
2144
|
+
return locationMatcher(test.location.file, test.location.line, test.location.column);
|
|
2145
|
+
};
|
|
2146
|
+
return { fileFilter, testFilter };
|
|
2147
|
+
}
|
|
2148
|
+
|
|
2149
|
+
// packages/playwright/src/common/test.ts
|
|
2150
|
+
var test_exports = {};
|
|
2151
|
+
__export(test_exports, {
|
|
2152
|
+
Suite: () => Suite,
|
|
2153
|
+
TestCase: () => TestCase
|
|
2154
|
+
});
|
|
2155
|
+
|
|
2156
|
+
// packages/playwright/src/common/testType.ts
|
|
2157
|
+
var testType_exports = {};
|
|
2158
|
+
__export(testType_exports, {
|
|
2159
|
+
TestTypeImpl: () => TestTypeImpl,
|
|
2160
|
+
mergeTests: () => mergeTests,
|
|
2161
|
+
rootTestType: () => rootTestType
|
|
2162
|
+
});
|
|
2163
|
+
var import_globals2 = require("../globals");
|
|
2164
|
+
var import_expect = require("../matchers/expect");
|
|
2165
|
+
|
|
2166
|
+
// packages/playwright/src/common/validators.ts
|
|
2167
|
+
var { validate } = require("playwright-core/lib/coreBundle").iso;
|
|
2168
|
+
var testAnnotationSchema = {
|
|
2169
|
+
type: "object",
|
|
2170
|
+
properties: {
|
|
2171
|
+
type: { type: "string" },
|
|
2172
|
+
description: { type: "string" }
|
|
2173
|
+
},
|
|
2174
|
+
required: ["type"]
|
|
2175
|
+
};
|
|
2176
|
+
var testDetailsSchema = {
|
|
2177
|
+
type: "object",
|
|
2178
|
+
properties: {
|
|
2179
|
+
tag: {
|
|
2180
|
+
oneOf: [
|
|
2181
|
+
{ type: "string", pattern: "^@", patternError: "Tag must start with '@'" },
|
|
2182
|
+
{ type: "array", items: { type: "string", pattern: "^@", patternError: "Tag must start with '@'" } }
|
|
2183
|
+
]
|
|
2184
|
+
},
|
|
2185
|
+
annotation: {
|
|
2186
|
+
oneOf: [
|
|
2187
|
+
testAnnotationSchema,
|
|
2188
|
+
{ type: "array", items: testAnnotationSchema }
|
|
2189
|
+
]
|
|
2190
|
+
}
|
|
2191
|
+
}
|
|
2192
|
+
};
|
|
2193
|
+
function validateTestDetails(details, location) {
|
|
2194
|
+
const errors = validate(details, testDetailsSchema, "details");
|
|
2195
|
+
if (errors.length)
|
|
2196
|
+
throw new Error(errors.join("\n"));
|
|
2197
|
+
const obj = details;
|
|
2198
|
+
const tag = obj.tag;
|
|
2199
|
+
const tags = tag === void 0 ? [] : typeof tag === "string" ? [tag] : tag;
|
|
2200
|
+
const annotation = obj.annotation;
|
|
2201
|
+
const annotations = annotation === void 0 ? [] : Array.isArray(annotation) ? annotation : [annotation];
|
|
2202
|
+
return {
|
|
2203
|
+
annotations: annotations.map((a) => ({ ...a, location })),
|
|
2204
|
+
tags,
|
|
2205
|
+
location
|
|
2206
|
+
};
|
|
2207
|
+
}
|
|
2208
|
+
|
|
2209
|
+
// packages/playwright/src/common/testType.ts
|
|
2210
|
+
var { monotonicTime } = require("playwright-core/lib/coreBundle").iso;
|
|
2211
|
+
var { raceAgainstDeadline } = require("playwright-core/lib/coreBundle").iso;
|
|
2212
|
+
var { getPackageManagerExecCommand } = require("playwright-core/lib/coreBundle").utils;
|
|
2213
|
+
var { currentZone } = require("playwright-core/lib/coreBundle").utils;
|
|
2214
|
+
var testTypeSymbol = Symbol("testType");
|
|
2215
|
+
var TestTypeImpl = class _TestTypeImpl {
|
|
2216
|
+
constructor(fixtures) {
|
|
2217
|
+
this.fixtures = fixtures;
|
|
2218
|
+
const test = wrapFunctionWithLocation(this._createTest.bind(this, "default"));
|
|
2219
|
+
test[testTypeSymbol] = this;
|
|
2220
|
+
test.expect = import_expect.expect;
|
|
2221
|
+
test.only = wrapFunctionWithLocation(this._createTest.bind(this, "only"));
|
|
2222
|
+
test.describe = wrapFunctionWithLocation(this._describe.bind(this, "default"));
|
|
2223
|
+
test.describe.only = wrapFunctionWithLocation(this._describe.bind(this, "only"));
|
|
2224
|
+
test.describe.configure = wrapFunctionWithLocation(this._configure.bind(this));
|
|
2225
|
+
test.describe.fixme = wrapFunctionWithLocation(this._describe.bind(this, "fixme"));
|
|
2226
|
+
test.describe.parallel = wrapFunctionWithLocation(this._describe.bind(this, "parallel"));
|
|
2227
|
+
test.describe.parallel.only = wrapFunctionWithLocation(this._describe.bind(this, "parallel.only"));
|
|
2228
|
+
test.describe.serial = wrapFunctionWithLocation(this._describe.bind(this, "serial"));
|
|
2229
|
+
test.describe.serial.only = wrapFunctionWithLocation(this._describe.bind(this, "serial.only"));
|
|
2230
|
+
test.describe.skip = wrapFunctionWithLocation(this._describe.bind(this, "skip"));
|
|
2231
|
+
test.beforeEach = wrapFunctionWithLocation(this._hook.bind(this, "beforeEach"));
|
|
2232
|
+
test.afterEach = wrapFunctionWithLocation(this._hook.bind(this, "afterEach"));
|
|
2233
|
+
test.beforeAll = wrapFunctionWithLocation(this._hook.bind(this, "beforeAll"));
|
|
2234
|
+
test.afterAll = wrapFunctionWithLocation(this._hook.bind(this, "afterAll"));
|
|
2235
|
+
test.skip = wrapFunctionWithLocation(this._modifier.bind(this, "skip"));
|
|
2236
|
+
test.fixme = wrapFunctionWithLocation(this._modifier.bind(this, "fixme"));
|
|
2237
|
+
test.fail = wrapFunctionWithLocation(this._modifier.bind(this, "fail"));
|
|
2238
|
+
test.abort = wrapFunctionWithLocation(this._abort.bind(this));
|
|
2239
|
+
test.fail.only = wrapFunctionWithLocation(this._createTest.bind(this, "fail.only"));
|
|
2240
|
+
test.slow = wrapFunctionWithLocation(this._modifier.bind(this, "slow"));
|
|
2241
|
+
test.setTimeout = wrapFunctionWithLocation(this._setTimeout.bind(this));
|
|
2242
|
+
test.step = this._step.bind(this, "pass");
|
|
2243
|
+
test.step.skip = this._step.bind(this, "skip");
|
|
2244
|
+
test.use = wrapFunctionWithLocation(this._use.bind(this));
|
|
2245
|
+
test.extend = wrapFunctionWithLocation(this._extend.bind(this));
|
|
2246
|
+
test.info = () => {
|
|
2247
|
+
const result2 = (0, import_globals2.currentTestInfo)();
|
|
2248
|
+
if (!result2)
|
|
2249
|
+
throw new Error("test.info() can only be called while test is running");
|
|
2250
|
+
return result2;
|
|
2251
|
+
};
|
|
2252
|
+
this.test = test;
|
|
2253
|
+
}
|
|
2254
|
+
_currentSuite(location, title) {
|
|
2255
|
+
const suite = (0, import_globals2.currentlyLoadingFileSuite)();
|
|
2256
|
+
if (!suite) {
|
|
2257
|
+
throw new Error([
|
|
2258
|
+
`Playwright Test did not expect ${title} to be called here.`,
|
|
2259
|
+
`Most common reasons include:`,
|
|
2260
|
+
`- You are calling ${title} in a configuration file.`,
|
|
2261
|
+
`- You are calling ${title} in a file that is imported by the configuration file.`,
|
|
2262
|
+
`- You have two different versions of @playwright/test. This usually happens`,
|
|
2263
|
+
` when one of the dependencies in your package.json depends on @playwright/test.`,
|
|
2264
|
+
`- You are calling ${title} from an async test.describe() block. Only sync ones are supported.`
|
|
2265
|
+
].join("\n"));
|
|
2266
|
+
}
|
|
2267
|
+
return suite;
|
|
2268
|
+
}
|
|
2269
|
+
_createTest(type, location, title, fnOrDetails, fn) {
|
|
2270
|
+
throwIfRunningInsideJest();
|
|
2271
|
+
const suite = this._currentSuite(location, "test()");
|
|
2272
|
+
if (!suite)
|
|
2273
|
+
return;
|
|
2274
|
+
let details;
|
|
2275
|
+
let body;
|
|
2276
|
+
if (typeof fnOrDetails === "function") {
|
|
2277
|
+
body = fnOrDetails;
|
|
2278
|
+
details = {};
|
|
2279
|
+
} else {
|
|
2280
|
+
body = fn;
|
|
2281
|
+
details = fnOrDetails;
|
|
2282
|
+
}
|
|
2283
|
+
const validatedDetails = validateTestDetails(details, location);
|
|
2284
|
+
const test = new TestCase(title, body, this, location);
|
|
2285
|
+
test._requireFile = suite._requireFile;
|
|
2286
|
+
test.annotations.push(...validatedDetails.annotations);
|
|
2287
|
+
test._tags.push(...validatedDetails.tags);
|
|
2288
|
+
suite._addTest(test);
|
|
2289
|
+
if (type === "only" || type === "fail.only")
|
|
2290
|
+
test._only = true;
|
|
2291
|
+
if (type === "skip" || type === "fixme" || type === "fail")
|
|
2292
|
+
test.annotations.push({ type, location });
|
|
2293
|
+
else if (type === "fail.only")
|
|
2294
|
+
test.annotations.push({ type: "fail", location });
|
|
2295
|
+
}
|
|
2296
|
+
_describe(type, location, titleOrFn, fnOrDetails, fn) {
|
|
2297
|
+
throwIfRunningInsideJest();
|
|
2298
|
+
const suite = this._currentSuite(location, "test.describe()");
|
|
2299
|
+
if (!suite)
|
|
2300
|
+
return;
|
|
2301
|
+
let title;
|
|
2302
|
+
let body;
|
|
2303
|
+
let details;
|
|
2304
|
+
if (typeof titleOrFn === "function") {
|
|
2305
|
+
title = "";
|
|
2306
|
+
details = {};
|
|
2307
|
+
body = titleOrFn;
|
|
2308
|
+
} else if (typeof fnOrDetails === "function") {
|
|
2309
|
+
title = titleOrFn;
|
|
2310
|
+
details = {};
|
|
2311
|
+
body = fnOrDetails;
|
|
2312
|
+
} else {
|
|
2313
|
+
title = titleOrFn;
|
|
2314
|
+
details = fnOrDetails;
|
|
2315
|
+
body = fn;
|
|
2316
|
+
}
|
|
2317
|
+
const validatedDetails = validateTestDetails(details, location);
|
|
2318
|
+
const child = new Suite(title, "describe");
|
|
2319
|
+
child._requireFile = suite._requireFile;
|
|
2320
|
+
child.location = location;
|
|
2321
|
+
child._staticAnnotations.push(...validatedDetails.annotations);
|
|
2322
|
+
child._tags.push(...validatedDetails.tags);
|
|
2323
|
+
suite._addSuite(child);
|
|
2324
|
+
if (type === "only" || type === "serial.only" || type === "parallel.only")
|
|
2325
|
+
child._only = true;
|
|
2326
|
+
if (type === "serial" || type === "serial.only")
|
|
2327
|
+
child._parallelMode = "serial";
|
|
2328
|
+
if (type === "parallel" || type === "parallel.only")
|
|
2329
|
+
child._parallelMode = "parallel";
|
|
2330
|
+
if (type === "skip" || type === "fixme")
|
|
2331
|
+
child._staticAnnotations.push({ type, location });
|
|
2332
|
+
for (let parent = suite; parent; parent = parent.parent) {
|
|
2333
|
+
if (parent._parallelMode === "serial" && child._parallelMode === "parallel")
|
|
2334
|
+
throw new Error("describe.parallel cannot be nested inside describe.serial");
|
|
2335
|
+
if (parent._parallelMode === "default" && child._parallelMode === "parallel")
|
|
2336
|
+
throw new Error("describe.parallel cannot be nested inside describe with default mode");
|
|
2337
|
+
}
|
|
2338
|
+
(0, import_globals2.setCurrentlyLoadingFileSuite)(child);
|
|
2339
|
+
body();
|
|
2340
|
+
(0, import_globals2.setCurrentlyLoadingFileSuite)(suite);
|
|
2341
|
+
}
|
|
2342
|
+
_hook(name, location, title, fn) {
|
|
2343
|
+
const suite = this._currentSuite(location, `test.${name}()`);
|
|
2344
|
+
if (!suite)
|
|
2345
|
+
return;
|
|
2346
|
+
if (typeof title === "function") {
|
|
2347
|
+
fn = title;
|
|
2348
|
+
title = `${name} hook`;
|
|
2349
|
+
}
|
|
2350
|
+
suite._hooks.push({ type: name, fn, title, location });
|
|
2351
|
+
}
|
|
2352
|
+
_configure(location, options) {
|
|
2353
|
+
throwIfRunningInsideJest();
|
|
2354
|
+
const suite = this._currentSuite(location, `test.describe.configure()`);
|
|
2355
|
+
if (!suite)
|
|
2356
|
+
return;
|
|
2357
|
+
if (options.timeout !== void 0)
|
|
2358
|
+
suite._timeout = options.timeout;
|
|
2359
|
+
if (options.retries !== void 0)
|
|
2360
|
+
suite._retries = options.retries;
|
|
2361
|
+
if (options.mode !== void 0) {
|
|
2362
|
+
if (suite._parallelMode !== "none")
|
|
2363
|
+
throw new Error(`"${suite._parallelMode}" mode is already assigned for the enclosing scope.`);
|
|
2364
|
+
suite._parallelMode = options.mode;
|
|
2365
|
+
for (let parent = suite.parent; parent; parent = parent.parent) {
|
|
2366
|
+
if (parent._parallelMode === "serial" && suite._parallelMode === "parallel")
|
|
2367
|
+
throw new Error("describe with parallel mode cannot be nested inside describe with serial mode");
|
|
2368
|
+
if (parent._parallelMode === "default" && suite._parallelMode === "parallel")
|
|
2369
|
+
throw new Error("describe with parallel mode cannot be nested inside describe with default mode");
|
|
2370
|
+
}
|
|
2371
|
+
}
|
|
2372
|
+
}
|
|
2373
|
+
_modifier(type, location, ...modifierArgs) {
|
|
2374
|
+
const suite = (0, import_globals2.currentlyLoadingFileSuite)();
|
|
2375
|
+
if (suite) {
|
|
2376
|
+
if (typeof modifierArgs[0] === "string" && typeof modifierArgs[1] === "function" && (type === "skip" || type === "fixme" || type === "fail")) {
|
|
2377
|
+
this._createTest(type, location, modifierArgs[0], modifierArgs[1]);
|
|
2378
|
+
return;
|
|
2379
|
+
}
|
|
2380
|
+
if (typeof modifierArgs[0] === "string" && typeof modifierArgs[1] === "object" && typeof modifierArgs[2] === "function" && (type === "skip" || type === "fixme" || type === "fail")) {
|
|
2381
|
+
this._createTest(type, location, modifierArgs[0], modifierArgs[1], modifierArgs[2]);
|
|
2382
|
+
return;
|
|
2383
|
+
}
|
|
2384
|
+
if (typeof modifierArgs[0] === "function") {
|
|
2385
|
+
suite._modifiers.push({ type, fn: modifierArgs[0], location, description: modifierArgs[1] });
|
|
2386
|
+
} else {
|
|
2387
|
+
if (modifierArgs.length >= 1 && !modifierArgs[0])
|
|
2388
|
+
return;
|
|
2389
|
+
const description = modifierArgs[1];
|
|
2390
|
+
suite._staticAnnotations.push({ type, description, location });
|
|
2391
|
+
}
|
|
2392
|
+
return;
|
|
2393
|
+
}
|
|
2394
|
+
const testInfo = (0, import_globals2.currentTestInfo)();
|
|
2395
|
+
if (!testInfo)
|
|
2396
|
+
throw new Error(`test.${type}() can only be called inside test, describe block or fixture`);
|
|
2397
|
+
if (typeof modifierArgs[0] === "function")
|
|
2398
|
+
throw new Error(`test.${type}() with a function can only be called inside describe block`);
|
|
2399
|
+
testInfo._modifier(type, location, modifierArgs);
|
|
2400
|
+
}
|
|
2401
|
+
_abort(location, message) {
|
|
2402
|
+
const testInfo = (0, import_globals2.currentTestInfo)();
|
|
2403
|
+
if (!testInfo)
|
|
2404
|
+
throw new Error(`test.abort() can only be called inside a test or fixture`);
|
|
2405
|
+
testInfo._abort(location, message);
|
|
2406
|
+
}
|
|
2407
|
+
_setTimeout(location, timeout) {
|
|
2408
|
+
const suite = (0, import_globals2.currentlyLoadingFileSuite)();
|
|
2409
|
+
if (suite) {
|
|
2410
|
+
suite._timeout = timeout;
|
|
2411
|
+
return;
|
|
2412
|
+
}
|
|
2413
|
+
const testInfo = (0, import_globals2.currentTestInfo)();
|
|
2414
|
+
if (!testInfo)
|
|
2415
|
+
throw new Error(`test.setTimeout() can only be called from a test`);
|
|
2416
|
+
testInfo.setTimeout(timeout);
|
|
2417
|
+
}
|
|
2418
|
+
_use(location, fixtures) {
|
|
2419
|
+
const suite = this._currentSuite(location, `test.use()`);
|
|
2420
|
+
if (!suite)
|
|
2421
|
+
return;
|
|
2422
|
+
suite._use.push({ fixtures, location });
|
|
2423
|
+
}
|
|
2424
|
+
async _step(expectation, title, body, options = {}) {
|
|
2425
|
+
const testInfo = (0, import_globals2.currentTestInfo)();
|
|
2426
|
+
if (!testInfo)
|
|
2427
|
+
throw new Error(`test.step() can only be called from a test`);
|
|
2428
|
+
await testInfo._onUserStepBegin?.(title);
|
|
2429
|
+
const step = testInfo._addStep({ category: "test.step", title, location: options.location, box: options.box });
|
|
2430
|
+
return await currentZone().with("stepZone", step).run(async () => {
|
|
2431
|
+
try {
|
|
2432
|
+
let result2 = void 0;
|
|
2433
|
+
result2 = await raceAgainstDeadline(async () => {
|
|
2434
|
+
try {
|
|
2435
|
+
return await step.info._runStepBody(expectation === "skip", body, step.location);
|
|
2436
|
+
} catch (e) {
|
|
2437
|
+
if (result2?.timedOut)
|
|
2438
|
+
testInfo._failWithError(e);
|
|
2439
|
+
throw e;
|
|
2440
|
+
}
|
|
2441
|
+
}, options.timeout ? monotonicTime() + options.timeout : 0);
|
|
2442
|
+
if (result2.timedOut)
|
|
2443
|
+
throw new TimeoutError(`Step timeout of ${options.timeout}ms exceeded.`);
|
|
2444
|
+
step.complete({});
|
|
2445
|
+
return result2.result;
|
|
2446
|
+
} catch (error) {
|
|
2447
|
+
step.complete({ error });
|
|
2448
|
+
throw error;
|
|
2449
|
+
} finally {
|
|
2450
|
+
await testInfo._onUserStepEnd?.();
|
|
2451
|
+
}
|
|
2452
|
+
});
|
|
2453
|
+
}
|
|
2454
|
+
_extend(location, fixtures) {
|
|
2455
|
+
if (fixtures[testTypeSymbol])
|
|
2456
|
+
throw new Error(`test.extend() accepts fixtures object, not a test object.
|
|
2457
|
+
Did you mean to call mergeTests()?`);
|
|
2458
|
+
const fixturesWithLocation = { fixtures, location };
|
|
2459
|
+
return new _TestTypeImpl([...this.fixtures, fixturesWithLocation]).test;
|
|
2460
|
+
}
|
|
2461
|
+
};
|
|
2462
|
+
function throwIfRunningInsideJest() {
|
|
2463
|
+
if (process.env.JEST_WORKER_ID) {
|
|
2464
|
+
const packageManagerCommand = getPackageManagerExecCommand();
|
|
2465
|
+
throw new Error(
|
|
2466
|
+
`Playwright Test needs to be invoked via '${packageManagerCommand} playwright test' and excluded from Jest test runs.
|
|
2467
|
+
Creating one directory for Playwright tests and one for Jest is the recommended way of doing it.
|
|
2468
|
+
See https://playwright.dev/docs/intro for more information about Playwright Test.`
|
|
2469
|
+
);
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
var rootTestType = new TestTypeImpl([]);
|
|
2473
|
+
function mergeTests(...tests) {
|
|
2474
|
+
let result2 = rootTestType;
|
|
2475
|
+
for (const t of tests) {
|
|
2476
|
+
const testTypeImpl = t[testTypeSymbol];
|
|
2477
|
+
if (!testTypeImpl)
|
|
2478
|
+
throw new Error(`mergeTests() accepts "test" functions as parameters.
|
|
2479
|
+
Did you mean to call test.extend() with fixtures instead?`);
|
|
2480
|
+
const newFixtures = testTypeImpl.fixtures.filter((theirs) => !result2.fixtures.find((ours) => ours.fixtures === theirs.fixtures));
|
|
2481
|
+
result2 = new TestTypeImpl([...result2.fixtures, ...newFixtures]);
|
|
2482
|
+
}
|
|
2483
|
+
return result2.test;
|
|
2484
|
+
}
|
|
2485
|
+
var TimeoutError = class extends Error {
|
|
2486
|
+
constructor(message) {
|
|
2487
|
+
super(message);
|
|
2488
|
+
this.name = "TimeoutError";
|
|
2489
|
+
}
|
|
2490
|
+
};
|
|
2491
|
+
|
|
2492
|
+
// packages/playwright/src/isomorphic/teleReceiver.ts
|
|
2493
|
+
var baseFullConfig = {
|
|
2494
|
+
argv: [],
|
|
2495
|
+
failOnFlakyTests: false,
|
|
2496
|
+
forbidOnly: false,
|
|
2497
|
+
fullyParallel: false,
|
|
2498
|
+
globalSetup: null,
|
|
2499
|
+
globalTeardown: null,
|
|
2500
|
+
globalTimeout: 0,
|
|
2501
|
+
grep: /.*/,
|
|
2502
|
+
grepInvert: null,
|
|
2503
|
+
maxFailures: 0,
|
|
2504
|
+
metadata: {},
|
|
2505
|
+
preserveOutput: "always",
|
|
2506
|
+
projects: [],
|
|
2507
|
+
reporter: [[process.env.CI ? "dot" : "list"]],
|
|
2508
|
+
reportSlowTests: {
|
|
2509
|
+
max: 5,
|
|
2510
|
+
threshold: 3e5
|
|
2511
|
+
/* 5 minutes */
|
|
2512
|
+
},
|
|
2513
|
+
configFile: "",
|
|
2514
|
+
rootDir: "",
|
|
2515
|
+
quiet: false,
|
|
2516
|
+
shard: null,
|
|
2517
|
+
tags: [],
|
|
2518
|
+
updateSnapshots: "missing",
|
|
2519
|
+
updateSourceMethod: "patch",
|
|
2520
|
+
version: "",
|
|
2521
|
+
workers: 0,
|
|
2522
|
+
webServer: null
|
|
2523
|
+
};
|
|
2524
|
+
function computeTestCaseOutcome(test) {
|
|
2525
|
+
let skipped = 0;
|
|
2526
|
+
let didNotRun = 0;
|
|
2527
|
+
let expected = 0;
|
|
2528
|
+
let interrupted = 0;
|
|
2529
|
+
let unexpected = 0;
|
|
2530
|
+
for (const result2 of test.results) {
|
|
2531
|
+
if (result2.status === "interrupted") {
|
|
2532
|
+
++interrupted;
|
|
2533
|
+
} else if (result2.status === "skipped" && test.expectedStatus === "skipped") {
|
|
2534
|
+
++skipped;
|
|
2535
|
+
} else if (result2.status === "skipped") {
|
|
2536
|
+
++didNotRun;
|
|
2537
|
+
} else if (result2.status === test.expectedStatus) {
|
|
2538
|
+
++expected;
|
|
2539
|
+
} else {
|
|
2540
|
+
++unexpected;
|
|
2541
|
+
}
|
|
2542
|
+
}
|
|
2543
|
+
if (expected === 0 && unexpected === 0)
|
|
2544
|
+
return "skipped";
|
|
2545
|
+
if (unexpected === 0)
|
|
2546
|
+
return "expected";
|
|
2547
|
+
if (expected === 0 && skipped === 0)
|
|
2548
|
+
return "unexpected";
|
|
2549
|
+
return "flaky";
|
|
2550
|
+
}
|
|
2551
|
+
|
|
2552
|
+
// packages/playwright/src/common/test.ts
|
|
2553
|
+
var Base = class {
|
|
2554
|
+
constructor(title) {
|
|
2555
|
+
this._only = false;
|
|
2556
|
+
this._requireFile = "";
|
|
2557
|
+
this.title = title;
|
|
2558
|
+
}
|
|
2559
|
+
};
|
|
2560
|
+
var Suite = class _Suite extends Base {
|
|
2561
|
+
constructor(title, type) {
|
|
2562
|
+
super(title);
|
|
2563
|
+
this._use = [];
|
|
2564
|
+
this._entries = [];
|
|
2565
|
+
this._hooks = [];
|
|
2566
|
+
// Annotations known statically before running the test, e.g. `test.describe.skip()` or `test.describe({ annotation }, body)`.
|
|
2567
|
+
this._staticAnnotations = [];
|
|
2568
|
+
// Explicitly declared tags that are not a part of the title.
|
|
2569
|
+
this._tags = [];
|
|
2570
|
+
this._modifiers = [];
|
|
2571
|
+
this._parallelMode = "none";
|
|
2572
|
+
this._type = type;
|
|
2573
|
+
}
|
|
2574
|
+
get type() {
|
|
2575
|
+
return this._type;
|
|
2576
|
+
}
|
|
2577
|
+
entries() {
|
|
2578
|
+
return this._entries;
|
|
2579
|
+
}
|
|
2580
|
+
get suites() {
|
|
2581
|
+
return this._entries.filter((entry) => entry instanceof _Suite);
|
|
2582
|
+
}
|
|
2583
|
+
get tests() {
|
|
2584
|
+
return this._entries.filter((entry) => entry instanceof TestCase);
|
|
2585
|
+
}
|
|
2586
|
+
_addTest(test) {
|
|
2587
|
+
test.parent = this;
|
|
2588
|
+
this._entries.push(test);
|
|
2589
|
+
}
|
|
2590
|
+
_addSuite(suite) {
|
|
2591
|
+
suite.parent = this;
|
|
2592
|
+
this._entries.push(suite);
|
|
2593
|
+
}
|
|
2594
|
+
_prependSuite(suite) {
|
|
2595
|
+
suite.parent = this;
|
|
2596
|
+
this._entries.unshift(suite);
|
|
2597
|
+
}
|
|
2598
|
+
allTests() {
|
|
2599
|
+
const result2 = [];
|
|
2600
|
+
const visit = (suite) => {
|
|
2601
|
+
for (const entry of suite._entries) {
|
|
2602
|
+
if (entry instanceof _Suite)
|
|
2603
|
+
visit(entry);
|
|
2604
|
+
else
|
|
2605
|
+
result2.push(entry);
|
|
2606
|
+
}
|
|
2607
|
+
};
|
|
2608
|
+
visit(this);
|
|
2609
|
+
return result2;
|
|
2610
|
+
}
|
|
2611
|
+
_hasTests() {
|
|
2612
|
+
let result2 = false;
|
|
2613
|
+
const visit = (suite) => {
|
|
2614
|
+
for (const entry of suite._entries) {
|
|
2615
|
+
if (result2)
|
|
2616
|
+
return;
|
|
2617
|
+
if (entry instanceof _Suite)
|
|
2618
|
+
visit(entry);
|
|
2619
|
+
else
|
|
2620
|
+
result2 = true;
|
|
2621
|
+
}
|
|
2622
|
+
};
|
|
2623
|
+
visit(this);
|
|
2624
|
+
return result2;
|
|
2625
|
+
}
|
|
2626
|
+
titlePath() {
|
|
2627
|
+
const titlePath = this.parent ? this.parent.titlePath() : [];
|
|
2628
|
+
if (this.title || this._type !== "describe")
|
|
2629
|
+
titlePath.push(this.title);
|
|
2630
|
+
return titlePath;
|
|
2631
|
+
}
|
|
2632
|
+
_collectGrepTitlePath(path10) {
|
|
2633
|
+
if (this.parent)
|
|
2634
|
+
this.parent._collectGrepTitlePath(path10);
|
|
2635
|
+
if (this.title || this._type !== "describe")
|
|
2636
|
+
path10.push(this.title);
|
|
2637
|
+
path10.push(...this._tags);
|
|
2638
|
+
}
|
|
2639
|
+
_collectTagTitlePath(path10) {
|
|
2640
|
+
this.parent?._collectTagTitlePath(path10);
|
|
2641
|
+
if (this._type === "describe")
|
|
2642
|
+
path10.push(this.title);
|
|
2643
|
+
path10.push(...this._tags);
|
|
2644
|
+
}
|
|
2645
|
+
_getOnlyItems() {
|
|
2646
|
+
const items = [];
|
|
2647
|
+
if (this._only)
|
|
2648
|
+
items.push(this);
|
|
2649
|
+
for (const suite of this.suites)
|
|
2650
|
+
items.push(...suite._getOnlyItems());
|
|
2651
|
+
items.push(...this.tests.filter((test) => test._only));
|
|
2652
|
+
return items;
|
|
2653
|
+
}
|
|
2654
|
+
_deepClone() {
|
|
2655
|
+
const suite = this._clone();
|
|
2656
|
+
for (const entry of this._entries) {
|
|
2657
|
+
if (entry instanceof _Suite)
|
|
2658
|
+
suite._addSuite(entry._deepClone());
|
|
2659
|
+
else
|
|
2660
|
+
suite._addTest(entry._clone());
|
|
2661
|
+
}
|
|
2662
|
+
return suite;
|
|
2663
|
+
}
|
|
2664
|
+
_deepSerialize() {
|
|
2665
|
+
const suite = this._serialize();
|
|
2666
|
+
suite.entries = [];
|
|
2667
|
+
for (const entry of this._entries) {
|
|
2668
|
+
if (entry instanceof _Suite)
|
|
2669
|
+
suite.entries.push(entry._deepSerialize());
|
|
2670
|
+
else
|
|
2671
|
+
suite.entries.push(entry._serialize());
|
|
2672
|
+
}
|
|
2673
|
+
return suite;
|
|
2674
|
+
}
|
|
2675
|
+
static _deepParse(data) {
|
|
2676
|
+
const suite = _Suite._parse(data);
|
|
2677
|
+
for (const entry of data.entries) {
|
|
2678
|
+
if (entry.kind === "suite")
|
|
2679
|
+
suite._addSuite(_Suite._deepParse(entry));
|
|
2680
|
+
else
|
|
2681
|
+
suite._addTest(TestCase._parse(entry));
|
|
2682
|
+
}
|
|
2683
|
+
return suite;
|
|
2684
|
+
}
|
|
2685
|
+
forEachTest(visitor) {
|
|
2686
|
+
for (const entry of this._entries) {
|
|
2687
|
+
if (entry instanceof _Suite)
|
|
2688
|
+
entry.forEachTest(visitor);
|
|
2689
|
+
else
|
|
2690
|
+
visitor(entry, this);
|
|
2691
|
+
}
|
|
2692
|
+
}
|
|
2693
|
+
_serialize() {
|
|
2694
|
+
return {
|
|
2695
|
+
kind: "suite",
|
|
2696
|
+
title: this.title,
|
|
2697
|
+
type: this._type,
|
|
2698
|
+
location: this.location,
|
|
2699
|
+
only: this._only,
|
|
2700
|
+
requireFile: this._requireFile,
|
|
2701
|
+
timeout: this._timeout,
|
|
2702
|
+
retries: this._retries,
|
|
2703
|
+
staticAnnotations: this._staticAnnotations.slice(),
|
|
2704
|
+
tags: this._tags.slice(),
|
|
2705
|
+
modifiers: this._modifiers.slice(),
|
|
2706
|
+
parallelMode: this._parallelMode,
|
|
2707
|
+
hooks: this._hooks.map((h) => ({ type: h.type, location: h.location, title: h.title })),
|
|
2708
|
+
fileId: this._fileId
|
|
2709
|
+
};
|
|
2710
|
+
}
|
|
2711
|
+
static _parse(data) {
|
|
2712
|
+
const suite = new _Suite(data.title, data.type);
|
|
2713
|
+
suite.location = data.location;
|
|
2714
|
+
suite._only = data.only;
|
|
2715
|
+
suite._requireFile = data.requireFile;
|
|
2716
|
+
suite._timeout = data.timeout;
|
|
2717
|
+
suite._retries = data.retries;
|
|
2718
|
+
suite._staticAnnotations = data.staticAnnotations;
|
|
2719
|
+
suite._tags = data.tags;
|
|
2720
|
+
suite._modifiers = data.modifiers;
|
|
2721
|
+
suite._parallelMode = data.parallelMode;
|
|
2722
|
+
suite._hooks = data.hooks.map((h) => ({ type: h.type, location: h.location, title: h.title, fn: () => {
|
|
2723
|
+
} }));
|
|
2724
|
+
suite._fileId = data.fileId;
|
|
2725
|
+
return suite;
|
|
2726
|
+
}
|
|
2727
|
+
_clone() {
|
|
2728
|
+
const data = this._serialize();
|
|
2729
|
+
const suite = _Suite._parse(data);
|
|
2730
|
+
suite._use = this._use.slice();
|
|
2731
|
+
suite._hooks = this._hooks.slice();
|
|
2732
|
+
suite._fullProject = this._fullProject;
|
|
2733
|
+
return suite;
|
|
2734
|
+
}
|
|
2735
|
+
project() {
|
|
2736
|
+
return this._fullProject?.project || this.parent?.project();
|
|
2737
|
+
}
|
|
2738
|
+
};
|
|
2739
|
+
var TestCase = class _TestCase extends Base {
|
|
2740
|
+
constructor(title, fn, testType, location) {
|
|
2741
|
+
super(title);
|
|
2742
|
+
this.results = [];
|
|
2743
|
+
this.type = "test";
|
|
2744
|
+
this.expectedStatus = "passed";
|
|
2745
|
+
this.timeout = 0;
|
|
2746
|
+
this.annotations = [];
|
|
2747
|
+
this.retries = 0;
|
|
2748
|
+
this.repeatEachIndex = 0;
|
|
2749
|
+
this.id = "";
|
|
2750
|
+
this._poolDigest = "";
|
|
2751
|
+
this._workerHash = "";
|
|
2752
|
+
this._projectId = "";
|
|
2753
|
+
// Explicitly declared tags that are not a part of the title.
|
|
2754
|
+
this._tags = [];
|
|
2755
|
+
this.fn = fn;
|
|
2756
|
+
this._testType = testType;
|
|
2757
|
+
this.location = location;
|
|
2758
|
+
}
|
|
2759
|
+
titlePath() {
|
|
2760
|
+
const titlePath = this.parent ? this.parent.titlePath() : [];
|
|
2761
|
+
titlePath.push(this.title);
|
|
2762
|
+
return titlePath;
|
|
2763
|
+
}
|
|
2764
|
+
outcome() {
|
|
2765
|
+
return computeTestCaseOutcome(this);
|
|
2766
|
+
}
|
|
2767
|
+
ok() {
|
|
2768
|
+
const status = this.outcome();
|
|
2769
|
+
return status === "expected" || status === "flaky" || status === "skipped";
|
|
2770
|
+
}
|
|
2771
|
+
get tags() {
|
|
2772
|
+
const path10 = [];
|
|
2773
|
+
this.parent._collectTagTitlePath(path10);
|
|
2774
|
+
path10.push(this.title);
|
|
2775
|
+
const titleTags = path10.join(" ").match(/@[\S]+/g) || [];
|
|
2776
|
+
return [
|
|
2777
|
+
...titleTags,
|
|
2778
|
+
...this._tags
|
|
2779
|
+
];
|
|
2780
|
+
}
|
|
2781
|
+
_serialize() {
|
|
2782
|
+
return {
|
|
2783
|
+
kind: "test",
|
|
2784
|
+
id: this.id,
|
|
2785
|
+
title: this.title,
|
|
2786
|
+
retries: this.retries,
|
|
2787
|
+
timeout: this.timeout,
|
|
2788
|
+
expectedStatus: this.expectedStatus,
|
|
2789
|
+
location: this.location,
|
|
2790
|
+
only: this._only,
|
|
2791
|
+
requireFile: this._requireFile,
|
|
2792
|
+
poolDigest: this._poolDigest,
|
|
2793
|
+
workerHash: this._workerHash,
|
|
2794
|
+
annotations: this.annotations.slice(),
|
|
2795
|
+
tags: this._tags.slice(),
|
|
2796
|
+
projectId: this._projectId
|
|
2797
|
+
};
|
|
2798
|
+
}
|
|
2799
|
+
static _parse(data) {
|
|
2800
|
+
const test = new _TestCase(data.title, () => {
|
|
2801
|
+
}, rootTestType, data.location);
|
|
2802
|
+
test.id = data.id;
|
|
2803
|
+
test.retries = data.retries;
|
|
2804
|
+
test.timeout = data.timeout;
|
|
2805
|
+
test.expectedStatus = data.expectedStatus;
|
|
2806
|
+
test._only = data.only;
|
|
2807
|
+
test._requireFile = data.requireFile;
|
|
2808
|
+
test._poolDigest = data.poolDigest;
|
|
2809
|
+
test._workerHash = data.workerHash;
|
|
2810
|
+
test.annotations = data.annotations;
|
|
2811
|
+
test._tags = data.tags;
|
|
2812
|
+
test._projectId = data.projectId;
|
|
2813
|
+
return test;
|
|
2814
|
+
}
|
|
2815
|
+
_clone() {
|
|
2816
|
+
const data = this._serialize();
|
|
2817
|
+
const test = _TestCase._parse(data);
|
|
2818
|
+
test._testType = this._testType;
|
|
2819
|
+
test.fn = this.fn;
|
|
2820
|
+
return test;
|
|
2821
|
+
}
|
|
2822
|
+
_appendTestResult() {
|
|
2823
|
+
const result2 = {
|
|
2824
|
+
retry: this.results.length,
|
|
2825
|
+
parallelIndex: -1,
|
|
2826
|
+
workerIndex: -1,
|
|
2827
|
+
duration: 0,
|
|
2828
|
+
startTime: /* @__PURE__ */ new Date(),
|
|
2829
|
+
stdout: [],
|
|
2830
|
+
stderr: [],
|
|
2831
|
+
attachments: [],
|
|
2832
|
+
status: "skipped",
|
|
2833
|
+
steps: [],
|
|
2834
|
+
errors: [],
|
|
2835
|
+
annotations: []
|
|
2836
|
+
};
|
|
2837
|
+
this.results.push(result2);
|
|
2838
|
+
return result2;
|
|
2839
|
+
}
|
|
2840
|
+
_grepBaseTitlePath() {
|
|
2841
|
+
const path10 = [];
|
|
2842
|
+
this.parent._collectGrepTitlePath(path10);
|
|
2843
|
+
path10.push(this.title);
|
|
2844
|
+
return path10;
|
|
2845
|
+
}
|
|
2846
|
+
_grepTitleWithTags() {
|
|
2847
|
+
const path10 = this._grepBaseTitlePath();
|
|
2848
|
+
path10.push(...this._tags);
|
|
2849
|
+
return path10.join(" ");
|
|
2850
|
+
}
|
|
2851
|
+
};
|
|
2852
|
+
|
|
2853
|
+
// packages/playwright/src/common/testLoader.ts
|
|
2854
|
+
var testLoader_exports = {};
|
|
2855
|
+
__export(testLoader_exports, {
|
|
2856
|
+
defaultTimeout: () => defaultTimeout2,
|
|
2857
|
+
loadTestFile: () => loadTestFile
|
|
2858
|
+
});
|
|
2859
|
+
var import_path9 = __toESM(require("path"));
|
|
2860
|
+
var import_util11 = __toESM(require("util"));
|
|
2861
|
+
var import_globals3 = require("../globals");
|
|
2862
|
+
var defaultTimeout2 = 3e4;
|
|
2863
|
+
var cachedFileSuites = /* @__PURE__ */ new Map();
|
|
2864
|
+
async function loadTestFile(file2, config, testErrors) {
|
|
2865
|
+
if (cachedFileSuites.has(file2))
|
|
2866
|
+
return cachedFileSuites.get(file2);
|
|
2867
|
+
const suite = new Suite(import_path9.default.relative(config.config.rootDir, file2) || import_path9.default.basename(file2), "file");
|
|
2868
|
+
suite._requireFile = file2;
|
|
2869
|
+
suite.location = { file: file2, line: 0, column: 0 };
|
|
2870
|
+
suite._tags = [...config.config.tags];
|
|
2871
|
+
(0, import_globals3.setCurrentlyLoadingFileSuite)(suite);
|
|
2872
|
+
if (!(0, import_globals3.isWorkerProcess)())
|
|
2873
|
+
await startCollectingFileDeps2();
|
|
2874
|
+
try {
|
|
2875
|
+
await requireOrImport(file2);
|
|
2876
|
+
cachedFileSuites.set(file2, suite);
|
|
2877
|
+
} catch (e) {
|
|
2878
|
+
if (!testErrors)
|
|
2879
|
+
throw e;
|
|
2880
|
+
testErrors.push(serializeLoadError(file2, e));
|
|
2881
|
+
} finally {
|
|
2882
|
+
(0, import_globals3.setCurrentlyLoadingFileSuite)(void 0);
|
|
2883
|
+
if (!(0, import_globals3.isWorkerProcess)())
|
|
2884
|
+
await stopCollectingFileDeps2(file2);
|
|
2885
|
+
}
|
|
2886
|
+
{
|
|
2887
|
+
const files = /* @__PURE__ */ new Set();
|
|
2888
|
+
suite.allTests().map((t) => files.add(t.location.file));
|
|
2889
|
+
if (files.size === 1) {
|
|
2890
|
+
const mappedFile = files.values().next().value;
|
|
2891
|
+
if (suite.location.file !== mappedFile) {
|
|
2892
|
+
if (import_path9.default.extname(mappedFile) !== import_path9.default.extname(suite.location.file))
|
|
2893
|
+
suite.location.file = mappedFile;
|
|
2894
|
+
}
|
|
2895
|
+
}
|
|
2896
|
+
}
|
|
2897
|
+
return suite;
|
|
2898
|
+
}
|
|
2899
|
+
function serializeLoadError(file2, error) {
|
|
2900
|
+
if (error instanceof Error) {
|
|
2901
|
+
const result2 = filterStackTrace(error);
|
|
2902
|
+
const loc = error.loc;
|
|
2903
|
+
result2.location = loc ? {
|
|
2904
|
+
file: file2,
|
|
2905
|
+
line: loc.line || 0,
|
|
2906
|
+
column: loc.column || 0
|
|
2907
|
+
} : void 0;
|
|
2908
|
+
return result2;
|
|
2909
|
+
}
|
|
2910
|
+
return { value: import_util11.default.inspect(error) };
|
|
2911
|
+
}
|
|
2912
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
2913
|
+
0 && (module.exports = {
|
|
2914
|
+
FullConfigInternal,
|
|
2915
|
+
ProcessRunner,
|
|
2916
|
+
builtInReporters,
|
|
2917
|
+
cc,
|
|
2918
|
+
config,
|
|
2919
|
+
configLoader,
|
|
2920
|
+
defineConfig,
|
|
2921
|
+
fixtures,
|
|
2922
|
+
ipc,
|
|
2923
|
+
mergeTests,
|
|
2924
|
+
poolBuilder,
|
|
2925
|
+
processRunner,
|
|
2926
|
+
startProcessRunner,
|
|
2927
|
+
suiteUtils,
|
|
2928
|
+
test,
|
|
2929
|
+
testLoader,
|
|
2930
|
+
testType,
|
|
2931
|
+
transform
|
|
2932
|
+
});
|