{"_id":"@seontechnologies/playwright-utils","_rev":"15-4c21f2f3461542fa58820a9eb40206f6","name":"@seontechnologies/playwright-utils","dist-tags":{"latest":"4.4.1"},"versions":{"3.10.0":{"name":"@seontechnologies/playwright-utils","version":"3.10.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.10.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"7300d452ce22a8d266dff6d8511af9e896d8027d","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.10.0.tgz","fileCount":933,"integrity":"sha512-NxzwCQUQzwKAHrYAabwGRaER+X99RkT3WZLBncL6X8hWMGBNuYs9nJWEn7VQfxzbMbLHgc3Xf38tvzUlT2YRmA==","signatures":[{"sig":"MEUCIQCH/6iH5xHIZq8ttA2l+FYWFnUkEj/1D1A8kHx6FaLaagIgGGraUTJ7MHQEbNl001bSv9d0FwyzCOa6o57gywfR+oY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1988175},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"193b477d6d35c2a5139a3285b531417804fc9dc1","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"git submodule update --init --recursive --force","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.10.0_1763731740956_0.7881707632690458","host":"s3://npm-registry-packages-npm-production"}},"3.10.1":{"name":"@seontechnologies/playwright-utils","version":"3.10.1","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.10.1","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"df092edf63cc48073b977892b197bfc6ee318d8b","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.10.1.tgz","fileCount":933,"integrity":"sha512-IfVWp44xSXNE5ddOiwnYO8BjHYLtlwhQbmZoE23KX311UwnqmGF8G/kC7/OTAnYxCcOzZFJPKjFxxmrnNOG3DA==","signatures":[{"sig":"MEUCIQC1hQMYJa2eCQTSRkGFLNbw3HBXCAXO+Y/aqHSMSMzcbQIgJnkm75m3h6zFJnELArw1/r5Jy4G37IjCFcyAozEBaqM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1994489},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"3ba2e5f32042002acf35f6d79085830ba129304c","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"git submodule update --init --recursive --force","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.10.1_1764859635259_0.3220558293873963","host":"s3://npm-registry-packages-npm-production"}},"3.11.0":{"name":"@seontechnologies/playwright-utils","version":"3.11.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.11.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"ed9b1e67cd8f818445b15e88c9c3b4a422b8b0f2","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.11.0.tgz","fileCount":943,"integrity":"sha512-PCmmbL3/bRxg6tUdWja3vPnA20g7AUCzBLTTr6fVwzMvnKHHTePH2XcUcYwlz6zZMVSQajYFLFT3DXkX/JBoOg==","signatures":[{"sig":"MEYCIQDNSan2Yfp7HvPKmrJhmT5JLpKslehIXc+dSgtdoC4mqwIhAKz9+6VD1/o9pqIgkHQ+vtMDnMRWf4qqccBVyW7FtoR2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019959},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"0025b62b4940b75b76193f87d42e8ff81fafed85","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.11.0_1767897313202_0.03831866051039157","host":"s3://npm-registry-packages-npm-production"}},"3.12.0":{"name":"@seontechnologies/playwright-utils","version":"3.12.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.12.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"54938c6953ec89ba27ad90f453760bdfc95b0d0e","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.12.0.tgz","fileCount":943,"integrity":"sha512-szO02vNrXpyhKEnvB0+FKmUmfDmp9vj1KaHXYJqpcN+3PoiJauIsfwXEcaZ/1bcf7ZM5HhDtE61zoXHIviyJoQ==","signatures":[{"sig":"MEYCIQCmeHEk8RDpssKUPGDpoprThTieQaz4XWRxZD2HWEZdgQIhAJarvLgvWFK4a8b+ZpboCXq7pQqJD+oIh0LiPCZeLHlk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019913},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"45d26b277a88fc6834b5d1958d54d70f5cb7cc58","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.12.0_1767900566254_0.3205043211594929","host":"s3://npm-registry-packages-npm-production"}},"3.11.1":{"name":"@seontechnologies/playwright-utils","version":"3.11.1","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.11.1","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"856f04daa95e29d5054e7a128dabb9719efa9d22","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.11.1.tgz","fileCount":943,"integrity":"sha512-Dnldi504rO+45nB7MLrOvPnxFkNKEbf19WEVHQOTuzIVC0ftphkJbYTjqbURBXoT03z2cPiX+osP2dsXABfoGw==","signatures":[{"sig":"MEQCIAogtXhpzSE87bQnqlxE+wNAGJemdpRN/hth1PaUDyMTAiBPjomga/dsQf0ewWk7ItgdSyARFv3ol48B/drDfjULQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019913},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"505fb99827a394b97854fc92b917d803d64f1eee","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.11.1_1767900958066_0.5088960055317711","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@seontechnologies/playwright-utils","version":"4.0.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@4.0.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"3b2339478388537bce59460dd11500919e658c37","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.0.0.tgz","fileCount":943,"integrity":"sha512-KXfznm7+r+l5UuXmUJMOB2QNgsg3PN5Xf/cKz2KMK/iIyzUvjo0DkAGSpR2CcpQF14te+LNuFdfpO36MTcfGrg==","signatures":[{"sig":"MEUCIQDvpaIMgAeIMvkjqxu0licO0M9V0ttFOjVbXdCuCBZ1ZAIgIwGiHU9vMD4uyFdUpSBn+c5kAN56vjrE02pzkd2bUdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019912},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"038541e4258f9f82a9f739d532dab4180da5c303","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_4.0.0_1767902555755_0.8520876990240067","host":"s3://npm-registry-packages-npm-production"}},"3.13.0":{"name":"@seontechnologies/playwright-utils","version":"3.13.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.13.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"6fe092acfde97b6cf6e9533c4f6f1e4c083e0044","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.13.0.tgz","fileCount":943,"integrity":"sha512-OFBmFTTlX1e7/NrgPGj2pRAW0CwCO24dgykxjtL/rXcAsSpdAh4evx14m/TQgyanAGZhHyzR0+ZCeqKMQBpvDQ==","signatures":[{"sig":"MEUCIFPdzzSxvmCpi97guZpxAdEzdZsd3ky7lhNXRAzsoNCkAiEA8tc+Oq8uoLKcvKgcQLjZ21OWAnpy/wR3cLHviYYphvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2019913},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"5422612b731e71ad5b4bf66e808dd4fc62ca0ea0","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","js-yaml":"4.1.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.13.0_1767903019142_0.31553812023455885","host":"s3://npm-registry-packages-npm-production"}},"3.13.1":{"name":"@seontechnologies/playwright-utils","version":"3.13.1","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.13.1","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"32d664f4d9a138558b9b5814c6f3b1402e47bafe","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.13.1.tgz","fileCount":943,"integrity":"sha512-DF/gGpRHjOQYbZ6xsoeGE5iDdVwOkD90UMpO24ct7K+oMhIGRrT9LTQbHriypyvnapxTN057Ctx4o9xsEQ3VQA==","signatures":[{"sig":"MEYCIQCatjqCjzZ+FfpAWnunRUX+WqKhcCi/cSXxuTTuNvF67wIhAPmO1Xn8JDqNTrFWH3MynRdbr1RSAYK91X/igE8WqJeH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2021414},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"84cb01a62c53224f6c0089fa4a8a59171148ee72","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.17.1","tsx":"4.20.6","zod":"4.1.12","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.21","ts-jest":"29.4.5","ts-node":"10.9.2","prettier":"3.6.2","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.0","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.20","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.0","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.4","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.46.3","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.0","@typescript-eslint/eslint-plugin":"8.46.3","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.13.1_1768241511473_0.06944877939808691","host":"s3://npm-registry-packages-npm-production"}},"3.14.0":{"name":"@seontechnologies/playwright-utils","version":"3.14.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"MIT","_id":"@seontechnologies/playwright-utils@3.14.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"e484e39d4c929069905d80eb4e34fe2f6c9e576f","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-3.14.0.tgz","fileCount":943,"integrity":"sha512-T+jmOSbh+ISRg/zgVfRuahSGe6O5SEj0rL3dU5ffOYA69kFnjyBdHCaNlpGUF/qoxfyZKaq1NPSwFY0tMB57iA==","signatures":[{"sig":"MEUCIGHDWMKqiyviq2Q1HAZl907e3syZg1U01W0lxbTyZ31OAiEAvXGXLCv8f6+5O1ZUHwB5tQrZJWvTA7G/sTGzY54yFTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2034217},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"8175b76657fb3a1419f8b4308a6baaab8a42bb39","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"10.9.4","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.18.0","tsx":"4.21.0","zod":"4.3.6","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.23","ts-jest":"29.4.6","ts-node":"10.9.2","prettier":"3.8.1","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.11","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.23","@types/adm-zip":"0.5.7","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.2","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.5","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.55.0","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.1","@typescript-eslint/eslint-plugin":"8.55.0","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_3.14.0_1771348338494_0.8351772827694215","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"@seontechnologies/playwright-utils","version":"4.1.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"Apache-2.0","_id":"@seontechnologies/playwright-utils@4.1.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"b614e9d75aeb03e0e3ed1dd4655f63127c542b90","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.1.0.tgz","fileCount":943,"integrity":"sha512-X4t0aZlb3OCJi7O4YPFEHiyGbe2HPSTvWMwI418mpNhLGVKpkaSpPyTbPLIGV/UCmA9LNz7PLQFThuIXBKg1NA==","signatures":[{"sig":"MEUCIQCx0LinILiYChlXilyn80iPNP+x/IpIRclCiGghyHw1lQIgU1i+GJ6AWxcY9wkwiigR8SWQ/khUvpXugMziVmT65pU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2044540},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"2cd55bda58049b670c2f532f7cbf11ae2b130797","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"11.9.0","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.3","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.18.0","tsx":"4.21.0","zod":"4.3.6","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.23","ts-jest":"29.4.6","ts-node":"10.9.2","prettier":"3.8.1","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.15","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.24","@types/adm-zip":"0.5.8","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.56.1","@types/papaparse":"5.5.2","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.5","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.57.1","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.1","@typescript-eslint/eslint-plugin":"8.57.1","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_4.1.0_1774704171758_0.3653929556572151","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"@seontechnologies/playwright-utils","version":"4.2.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"Apache-2.0","_id":"@seontechnologies/playwright-utils@4.2.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"e3ca33ebc33a50d6d1b9ac402df7b1347c5d7e4b","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.2.0.tgz","fileCount":943,"integrity":"sha512-ttuo4FTMGdjrN3T5gt5tg86ke4SC6j1Xp+QEyJ18w+K56cUUMNB4A5oI15Byl8qD38uWVIbmxhphlIDE6ht4EQ==","signatures":[{"sig":"MEYCIQDDEa87kJCBQIqSravnfW++fTIknEatqHScyq7+SknmCAIhALtNE1Mwkp3gozhwgr0gzfMuE+A6Xk7ZgPNj0qDvLFnC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2046223},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"61022e39ea6ed4ef44e3d5938645318527b62ceb","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","show:trace":"npx playwright show-trace","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","test:pw:debug":"TEST_ENV=local npx playwright test --debug","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"11.9.0","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.16","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.4","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.18.0","tsx":"4.21.0","zod":"4.3.6","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.17.23","ts-jest":"29.4.6","ts-node":"10.9.2","prettier":"3.8.1","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.15","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.24","@types/adm-zip":"0.5.8","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.59.0","@types/papaparse":"5.5.2","@types/picomatch":"4.0.2","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.5","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.57.2","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.1","@typescript-eslint/eslint-plugin":"8.57.2","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_4.2.0_1775086616588_0.14267008448049845","host":"s3://npm-registry-packages-npm-production"}},"4.2.1":{"name":"@seontechnologies/playwright-utils","version":"4.2.1","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"Apache-2.0","_id":"@seontechnologies/playwright-utils@4.2.1","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"4fba439b1accb50aecac1406f6a2e15dedb1f70e","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.2.1.tgz","fileCount":943,"integrity":"sha512-yJNoGc2GIaCNcPVnvktjVrc4tHTZARM2ypPsdobySSEaVAZCtlJj/tBEOi2bPGZZML0HlQ2ZRkQTvmtY8yJcXw==","signatures":[{"sig":"MEUCIQDcfOBr+e/69O9DppfEEfaZ8a9kDqx65SxVbDCHPnDRhwIgHtutSlYKB0HIluqChKVspIHTvqitb198ovG+pTMd3cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2047840},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"3f589c7854a5c9c0a5e3f642c6a80328121d5ae4","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format check:exports-parity","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","show:trace":"npx playwright show-trace","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","test:pw:debug":"TEST_ENV=local npx playwright test --debug","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","check:exports-parity":"node scripts/check-exports-parity.mjs","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"11.11.0","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.17","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.4","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"log":["./dist/types/log/index.d.ts"],"burn-in":["./dist/types/burn-in/index.d.ts"],"recurse":["./dist/types/recurse/index.d.ts"],"file-utils":["./dist/types/file-utils/index.d.ts"],"api-request":["./dist/types/api-request/index.d.ts"],"auth-session":["./dist/types/auth-session/index.d.ts"],"log/fixtures":["./dist/types/log/fixtures.d.ts"],"network-recorder":["./dist/types/network-recorder/index.d.ts"],"recurse/fixtures":["./dist/types/recurse/fixtures.d.ts"],"file-utils/fixtures":["./dist/types/file-utils/fixtures.d.ts"],"api-request/fixtures":["./dist/types/api-request/fixtures.d.ts"],"auth-session/fixtures":["./dist/types/auth-session/fixtures.d.ts"],"intercept-network-call":["./dist/types/intercept-network-call/index.d.ts"],"network-recorder/fixtures":["./dist/types/network-recorder/fixtures.d.ts"],"api-request/schema-validation":["./dist/types/api-request/schema-validation/index.d.ts"],"network-error-monitor/fixtures":["./dist/types/network-error-monitor/fixtures.d.ts"],"intercept-network-call/fixtures":["./dist/types/intercept-network-call/fixtures.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.18.0","tsx":"4.21.0","zod":"4.3.6","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.18.1","ts-jest":"29.4.9","ts-node":"10.9.2","prettier":"3.8.1","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.17","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.24","@types/adm-zip":"0.5.8","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.59.0","@types/papaparse":"5.5.2","@types/picomatch":"4.0.3","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.5","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.58.0","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.1","@typescript-eslint/eslint-plugin":"8.58.0","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_4.2.1_1775667122443_0.5791374659305948","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"@seontechnologies/playwright-utils","version":"4.3.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"Apache-2.0","_id":"@seontechnologies/playwright-utils@4.3.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"fbfd1caef53e96ff76d94a185eddbc854a048c43","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.3.0.tgz","fileCount":1053,"integrity":"sha512-UHemLQ8OgW0QL6cuWu8VA3UUkPyR9eUQedIpby56SzKwVDVyf6+2MPKRqJgc6Lq08hvZaAksUNroeGQrxnjEVA==","signatures":[{"sig":"MEUCIQDwnoOJmqf4Qy79w1v0yaRRElDVbCR5EldJoeKBk89d5wIgeMZP1CR5FwJPfEyWQ5Su9iUNfJlS6vSU1vbfum0DPTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2242161},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./webhook":{"types":"./dist/types/webhook/index.d.ts","import":"./dist/esm/webhook/index.js","default":"./dist/cjs/webhook/index.js","require":"./dist/cjs/webhook/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./webhook/fixtures":{"types":"./dist/types/webhook/fixtures.d.ts","import":"./dist/esm/webhook/fixtures.js","default":"./dist/cjs/webhook/fixtures.js","require":"./dist/cjs/webhook/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"095710080c6211ad5e7373faed2c201b1a6260ff","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format check:exports-parity","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","show:trace":"npx playwright show-trace","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","test:pw:debug":"TEST_ENV=local npx playwright test --debug","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","check:exports-parity":"node scripts/check-exports-parity.mjs","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"11.11.0","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.4.0","adm-zip":"0.5.17","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.4","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"log":["./dist/types/log/index.d.ts"],"burn-in":["./dist/types/burn-in/index.d.ts"],"recurse":["./dist/types/recurse/index.d.ts"],"webhook":["./dist/types/webhook/index.d.ts"],"file-utils":["./dist/types/file-utils/index.d.ts"],"api-request":["./dist/types/api-request/index.d.ts"],"auth-session":["./dist/types/auth-session/index.d.ts"],"log/fixtures":["./dist/types/log/fixtures.d.ts"],"network-recorder":["./dist/types/network-recorder/index.d.ts"],"recurse/fixtures":["./dist/types/recurse/fixtures.d.ts"],"webhook/fixtures":["./dist/types/webhook/fixtures.d.ts"],"file-utils/fixtures":["./dist/types/file-utils/fixtures.d.ts"],"api-request/fixtures":["./dist/types/api-request/fixtures.d.ts"],"auth-session/fixtures":["./dist/types/auth-session/fixtures.d.ts"],"intercept-network-call":["./dist/types/intercept-network-call/index.d.ts"],"network-recorder/fixtures":["./dist/types/network-recorder/fixtures.d.ts"],"api-request/schema-validation":["./dist/types/api-request/schema-validation/index.d.ts"],"network-error-monitor/fixtures":["./dist/types/network-error-monitor/fixtures.d.ts"],"intercept-network-call/fixtures":["./dist/types/intercept-network-call/fixtures.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.18.0","tsx":"4.21.0","zod":"4.3.6","jest":"29.7.0","vite":"6.4.1","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.18.1","ts-jest":"29.4.9","ts-node":"10.9.2","prettier":"3.8.1","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.17","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.24","@types/adm-zip":"0.5.8","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.59.0","@types/papaparse":"5.5.2","@types/picomatch":"4.0.3","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.5","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.58.0","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.1","@typescript-eslint/eslint-plugin":"8.58.0","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_4.3.0_1776353170674_0.1353085032086776","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"@seontechnologies/playwright-utils","version":"4.4.0","keywords":["playwright","utils"],"author":{"name":"Murat Ozcan"},"license":"Apache-2.0","_id":"@seontechnologies/playwright-utils@4.4.0","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"homepage":"https://github.com/seontechnologies/playwright-utils#readme","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"34f6c2ef93fa312312011744e83692b6d84da3d9","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.4.0.tgz","fileCount":1083,"integrity":"sha512-mX2sHPxDbpZWQWYiUoaNE8XLskjGUBs3o8NWawtjYUeJIH9vRVUs1+93pKpAiiZLoAFmA9xXK12RYYZndQNt+A==","signatures":[{"sig":"MEUCIERruSG+OwjimYGjyVIyQzE+RVR61BuXIClW5ku4GdDMAiEAoogZ9jGWN7rZkc+AN4VezsqZ9CrPCHn9KNzwe+DkPa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2300148},"main":"dist/cjs/index.js","types":"dist/types/index.d.ts","module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./webhook":{"types":"./dist/types/webhook/index.d.ts","import":"./dist/esm/webhook/index.js","default":"./dist/cjs/webhook/index.js","require":"./dist/cjs/webhook/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./webhook/fixtures":{"types":"./dist/types/webhook/fixtures.d.ts","import":"./dist/esm/webhook/fixtures.js","default":"./dist/cjs/webhook/fixtures.js","require":"./dist/cjs/webhook/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"daedd0711f097c51e2cb5b7f97c04a69094911a3","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format check:exports-parity","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","show:trace":"npx playwright show-trace","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","test:pw:debug":"TEST_ENV=local npx playwright test --debug","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","check:exports-parity":"node scripts/check-exports-parity.mjs","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"11.13.0","description":"A collection of utilities for Playwright.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"uuid":"11.1.0","madge":"7.0.0","unpdf":"1.6.0","adm-zip":"0.5.17","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.5.3","picomatch":"4.0.4","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"log":["./dist/types/log/index.d.ts"],"burn-in":["./dist/types/burn-in/index.d.ts"],"recurse":["./dist/types/recurse/index.d.ts"],"webhook":["./dist/types/webhook/index.d.ts"],"file-utils":["./dist/types/file-utils/index.d.ts"],"api-request":["./dist/types/api-request/index.d.ts"],"auth-session":["./dist/types/auth-session/index.d.ts"],"log/fixtures":["./dist/types/log/fixtures.d.ts"],"network-recorder":["./dist/types/network-recorder/index.d.ts"],"recurse/fixtures":["./dist/types/recurse/fixtures.d.ts"],"webhook/fixtures":["./dist/types/webhook/fixtures.d.ts"],"file-utils/fixtures":["./dist/types/file-utils/fixtures.d.ts"],"api-request/fixtures":["./dist/types/api-request/fixtures.d.ts"],"auth-session/fixtures":["./dist/types/auth-session/fixtures.d.ts"],"intercept-network-call":["./dist/types/intercept-network-call/index.d.ts"],"network-recorder/fixtures":["./dist/types/network-recorder/fixtures.d.ts"],"api-request/schema-validation":["./dist/types/api-request/schema-validation/index.d.ts"],"network-error-monitor/fixtures":["./dist/types/network-error-monitor/fixtures.d.ts"],"intercept-network-call/fixtures":["./dist/types/intercept-network-call/fixtures.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.18.0","tsx":"4.21.0","zod":"4.3.6","jest":"29.7.0","vite":"6.4.2","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.18.1","ts-jest":"29.4.9","ts-node":"10.9.2","prettier":"3.8.3","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.19.17","@types/uuid":"10.0.0","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.24","@types/adm-zip":"0.5.8","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.61.0","@types/papaparse":"5.5.2","@types/picomatch":"4.0.3","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.5","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.58.2","eslint-plugin-no-only-tests":"3.3.0","@types/express-serve-static-core":"5.1.1","@typescript-eslint/eslint-plugin":"8.58.2","eslint-import-resolver-typescript":"4.4.4","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/playwright-utils_4.4.0_1781602372757_0.7858613906571223","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"_id":"@seontechnologies/playwright-utils@4.4.1","bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"dist":{"shasum":"9dfb432c8b76bfbf8ab9fd3f829f8cfe0082a546","tarball":"https://registry.npmjs.org/@seontechnologies/playwright-utils/-/playwright-utils-4.4.1.tgz","fileCount":1083,"integrity":"sha512-oZJgz67R5NMhhEnCwugXH2yVBg9XdNsqKA20x6XVwPA7hepuCbK3tS6KWetSe50HiaI0HZX5RQKFzZewwnyUww==","signatures":[{"sig":"MEUCIQCBS2IzL5I+O4DNSYi2Y7rgWGBIjQgtlYFr9pItSpMYcAIgf+MipMVuWq2ob3pjB5udVjTefyKuhnu2YHLlIPL3PQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCVnffu/dpGR8jC3qbSIBCkHNt5nqt1BYqzA03EpuZCKwIgVtigvE2Tk9PI6Rf8vYtgkhFsO57/4ROUPgeOkR/X0bc="}],"unpackedSize":2300720},"main":"dist/cjs/index.js","name":"@seontechnologies/playwright-utils","types":"dist/types/index.d.ts","author":{"name":"Murat Ozcan"},"module":"dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","default":"./dist/cjs/index.js","require":"./dist/cjs/index.js"},"./log":{"types":"./dist/types/log/index.d.ts","import":"./dist/esm/log/index.js","default":"./dist/cjs/log/index.js","require":"./dist/cjs/log/index.js"},"./burn-in":{"types":"./dist/types/burn-in/index.d.ts","import":"./dist/esm/burn-in/index.js","default":"./dist/cjs/burn-in/index.js","require":"./dist/cjs/burn-in/index.js"},"./recurse":{"types":"./dist/types/recurse/index.d.ts","import":"./dist/esm/recurse/index.js","default":"./dist/cjs/recurse/index.js","require":"./dist/cjs/recurse/index.js"},"./webhook":{"types":"./dist/types/webhook/index.d.ts","import":"./dist/esm/webhook/index.js","default":"./dist/cjs/webhook/index.js","require":"./dist/cjs/webhook/index.js"},"./file-utils":{"types":"./dist/types/file-utils/index.d.ts","import":"./dist/esm/file-utils/index.js","default":"./dist/cjs/file-utils/index.js","require":"./dist/cjs/file-utils/index.js"},"./api-request":{"types":"./dist/types/api-request/index.d.ts","import":"./dist/esm/api-request/index.js","default":"./dist/cjs/api-request/index.js","require":"./dist/cjs/api-request/index.js"},"./auth-session":{"types":"./dist/types/auth-session/index.d.ts","import":"./dist/esm/auth-session/index.js","default":"./dist/cjs/auth-session/index.js","require":"./dist/cjs/auth-session/index.js"},"./log/fixtures":{"types":"./dist/types/log/fixtures.d.ts","import":"./dist/esm/log/fixtures.js","default":"./dist/cjs/log/fixtures.js","require":"./dist/cjs/log/fixtures.js"},"./network-recorder":{"types":"./dist/types/network-recorder/index.d.ts","import":"./dist/esm/network-recorder/index.js","default":"./dist/cjs/network-recorder/index.js","require":"./dist/cjs/network-recorder/index.js"},"./recurse/fixtures":{"types":"./dist/types/recurse/fixtures.d.ts","import":"./dist/esm/recurse/fixtures.js","default":"./dist/cjs/recurse/fixtures.js","require":"./dist/cjs/recurse/fixtures.js"},"./webhook/fixtures":{"types":"./dist/types/webhook/fixtures.d.ts","import":"./dist/esm/webhook/fixtures.js","default":"./dist/cjs/webhook/fixtures.js","require":"./dist/cjs/webhook/fixtures.js"},"./file-utils/fixtures":{"types":"./dist/types/file-utils/fixtures.d.ts","import":"./dist/esm/file-utils/fixtures.js","default":"./dist/cjs/file-utils/fixtures.js","require":"./dist/cjs/file-utils/fixtures.js"},"./api-request/fixtures":{"types":"./dist/types/api-request/fixtures.d.ts","import":"./dist/esm/api-request/fixtures.js","default":"./dist/cjs/api-request/fixtures.js","require":"./dist/cjs/api-request/fixtures.js"},"./auth-session/fixtures":{"types":"./dist/types/auth-session/fixtures.d.ts","import":"./dist/esm/auth-session/fixtures.js","default":"./dist/cjs/auth-session/fixtures.js","require":"./dist/cjs/auth-session/fixtures.js"},"./intercept-network-call":{"types":"./dist/types/intercept-network-call/index.d.ts","import":"./dist/esm/intercept-network-call/index.js","default":"./dist/cjs/intercept-network-call/index.js","require":"./dist/cjs/intercept-network-call/index.js"},"./network-recorder/fixtures":{"types":"./dist/types/network-recorder/fixtures.d.ts","import":"./dist/esm/network-recorder/fixtures.js","default":"./dist/cjs/network-recorder/fixtures.js","require":"./dist/cjs/network-recorder/fixtures.js"},"./api-request/schema-validation":{"types":"./dist/types/api-request/schema-validation/index.d.ts","import":"./dist/esm/api-request/schema-validation/index.js","default":"./dist/cjs/api-request/schema-validation/index.js","require":"./dist/cjs/api-request/schema-validation/index.js"},"./network-error-monitor/fixtures":{"types":"./dist/types/network-error-monitor/fixtures.d.ts","import":"./dist/esm/network-error-monitor/fixtures.js","default":"./dist/cjs/network-error-monitor/fixtures.js","require":"./dist/cjs/network-error-monitor/fixtures.js"},"./intercept-network-call/fixtures":{"types":"./dist/types/intercept-network-call/fixtures.d.ts","import":"./dist/esm/intercept-network-call/fixtures.js","default":"./dist/cjs/intercept-network-call/fixtures.js","require":"./dist/cjs/intercept-network-call/fixtures.js"}},"gitHead":"6f8a6555f1f4b128b47d3c2483e4fff462a244ee","license":"Apache-2.0","scripts":{"lint":"eslint . --cache-location node_modules/.cache/eslint --fix","test":"npm-run-all --parallel test:backend test:frontend","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rm -rf dist","prepare":"npm run build","test:pw":"TEST_ENV=local npx playwright test","docs:dev":"DOCS_BASE=/ vitepress dev docs","prettier":"prettier --ignore-path .gitignore \"**/*.+(js|ts|json)\"","validate":"npm-run-all --parallel typecheck lint test fix:format check:exports-parity","build:cjs":"tsc -p tsconfig-cjs.json","build:esm":"tsc -p tsconfig-esm.json","typecheck":"tsc --noEmit -p tsconfig.json","docs:build":"vitepress build docs","fix:format":"npm run prettier -- --write","show:trace":"npx playwright show-trace","test:pw-ui":"TEST_ENV=local npx playwright test --ui","build:types":"tsc -p tsconfig-build-types.json --declaration --declarationDir dist/types --emitDeclarationOnly","postinstall":"[ -z \"$CI\" ] && git submodule update --init --recursive --force || true","show:report":"npx playwright show-report --port 9324","docs:preview":"DOCS_BASE=/ vitepress preview docs","test:backend":"cd sample-app/backend && npm run test","publish:local":"./scripts/publish.sh","start:backend":"cd sample-app/backend && npm start","test:frontend":"cd sample-app/frontend && npm run vitest:run","test:pw:debug":"TEST_ENV=local npx playwright test --debug","start:frontend":"cd sample-app/frontend && npm start","test:pw:burn-in":"PW_BURN_IN=true npx playwright test --repeat-each=3 --retries=0","start:sample-app":"npm-run-all --parallel start:backend start:frontend","check:exports-parity":"node scripts/check-exports-parity.mjs","typecheck:clear-cache":"find . -name \"*.tsbuildinfo\" -delete && rm -rf node_modules/.cache/typescript","test:pw:burn-in-changed":"tsx playwright/scripts/burn-in-changed.ts","test:pw:burn-in-changed-classic":"PW_BURN_IN=true npx playwright test --only-changed=main --repeat-each=3 --retries=0"},"version":"4.4.1","_npmUser":{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"},"homepage":"https://github.com/seontechnologies/playwright-utils#readme","keywords":["playwright","utils"],"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"workspaces":["sample-app/*"],"_npmVersion":"11.19.0","description":"A collection of utilities for Playwright.","directories":{},"maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"_nodeVersion":"24.20.0","dependencies":{"uuid":"11.1.1","madge":"7.0.0","unpdf":"1.8.1","adm-zip":"0.6.1","exceljs":"4.4.0","deepmerge":"4.3.1","papaparse":"5.7.0","picomatch":"4.0.7","proper-lockfile":"4.1.2"},"publishConfig":{"access":"public"},"typesVersions":{"*":{"log":["./dist/types/log/index.d.ts"],"burn-in":["./dist/types/burn-in/index.d.ts"],"recurse":["./dist/types/recurse/index.d.ts"],"webhook":["./dist/types/webhook/index.d.ts"],"file-utils":["./dist/types/file-utils/index.d.ts"],"api-request":["./dist/types/api-request/index.d.ts"],"auth-session":["./dist/types/auth-session/index.d.ts"],"log/fixtures":["./dist/types/log/fixtures.d.ts"],"network-recorder":["./dist/types/network-recorder/index.d.ts"],"recurse/fixtures":["./dist/types/recurse/fixtures.d.ts"],"webhook/fixtures":["./dist/types/webhook/fixtures.d.ts"],"file-utils/fixtures":["./dist/types/file-utils/fixtures.d.ts"],"api-request/fixtures":["./dist/types/api-request/fixtures.d.ts"],"auth-session/fixtures":["./dist/types/auth-session/fixtures.d.ts"],"intercept-network-call":["./dist/types/intercept-network-call/index.d.ts"],"network-recorder/fixtures":["./dist/types/network-recorder/fixtures.d.ts"],"api-request/schema-validation":["./dist/types/api-request/schema-validation/index.d.ts"],"network-error-monitor/fixtures":["./dist/types/network-error-monitor/fixtures.d.ts"],"intercept-network-call/fixtures":["./dist/types/intercept-network-call/fixtures.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","tsx":"4.23.13","zod":"4.6.5","jest":"29.7.0","vite":"6.4.3","is-ci":"4.1.0","dotenv":"16.6.1","eslint":"8.57.1","lodash":"4.18.1","ts-jest":"29.4.12","ts-node":"10.9.2","prettier":"3.9.8","vitepress":"^1.6.4","typescript":"5.9.3","@types/jest":"29.5.14","@types/node":"22.20.3","@types/madge":"5.0.3","npm-run-all2":"7.0.2","@types/lodash":"4.17.25","@types/express":"4.17.21","@types/js-yaml":"4.0.9","@faker-js/faker":"9.9.0","@playwright/test":"^1.61.0","@types/papaparse":"5.5.2","@types/picomatch":"4.0.3","eslint-plugin-import":"2.32.0","@types/proper-lockfile":"4.1.4","eslint-config-prettier":"10.1.8","eslint-plugin-prettier":"5.5.6","eslint-plugin-filenames":"1.3.2","@typescript-eslint/parser":"8.70.0","eslint-plugin-no-only-tests":"3.4.0","@types/express-serve-static-core":"5.1.3","@typescript-eslint/eslint-plugin":"8.70.0","eslint-import-resolver-typescript":"4.4.5","eslint-plugin-implicit-dependencies":"1.1.1"},"peerDependencies":{"ajv":">=8.0.0","zod":">=3.0.0","js-yaml":">=4.0.0","@playwright/test":">=1.54.1"},"peerDependenciesMeta":{"ajv":{"optional":true},"zod":{"optional":true},"js-yaml":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/playwright-utils_4.4.1_1790015893047_0.03251785324600753"}}},"time":{"created":"2025-11-21T13:29:00.883Z","modified":"2026-09-21T18:38:13.487Z","3.10.0":"2025-11-21T13:29:01.240Z","3.10.1":"2025-12-04T14:47:15.561Z","3.11.0":"2026-01-08T18:35:13.398Z","3.12.0":"2026-01-08T19:29:26.452Z","3.11.1":"2026-01-08T19:35:58.268Z","4.0.0":"2026-01-08T20:02:35.969Z","3.13.0":"2026-01-08T20:10:19.303Z","3.13.1":"2026-01-12T18:11:51.662Z","3.14.0":"2026-02-17T17:12:18.651Z","4.1.0":"2026-03-28T13:22:52.082Z","4.2.0":"2026-04-01T23:36:56.819Z","4.2.1":"2026-04-08T16:52:02.695Z","4.3.0":"2026-04-16T15:26:10.895Z","4.4.0":"2026-06-16T09:32:52.935Z","4.4.1":"2026-09-21T18:38:13.131Z"},"bugs":{"url":"https://github.com/seontechnologies/playwright-utils/issues"},"author":{"name":"Murat Ozcan"},"license":"Apache-2.0","homepage":"https://github.com/seontechnologies/playwright-utils#readme","keywords":["playwright","utils"],"repository":{"url":"git+https://github.com/seontechnologies/playwright-utils.git","type":"git"},"description":"A collection of utilities for Playwright.","maintainers":[{"name":"seontechnologies-publisher","email":"sysadmin@seon.io"}],"readme":"# Playwright Utils\n\nA collection of utilities for Playwright tests, designed to make testing more efficient and maintainable.\n\n📚 **[View the full documentation on GitHub Pages](https://seontechnologies.github.io/playwright-utils/)** or browse the [docs folder](./docs)\n\n## One Pattern, Two Ways to Use\n\nEvery utility follows the same design: **functional core, fixture shell**.\n\n```typescript\n// Direct function - explicit dependencies\nimport { apiRequest } from '@seontechnologies/playwright-utils/api-request'\nconst result = await apiRequest({ request, method: 'GET', path: '/api/users' })\n\n// Playwright fixture - injected, ready to use\ntest('example', async ({ apiRequest }) => {\n  const result = await apiRequest({ method: 'GET', path: '/api/users' })\n})\n```\n\nUse functions for scripts and simple cases. Use fixtures for test suites.\n\n## Utilities\n\n| Category     | Utilities                                                                                                                                                                                               |\n| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Agnostic** | [API Request](./docs/api-request.md), [Auth Session](./docs/auth-session.md), [Recurse](./docs/recurse.md), [Log](./docs/log.md), [File Utils](./docs/file-utils.md), [Test Burn-in](./docs/burn-in.md) |\n| **Frontend** | [Network Interception](./docs/intercept-network-call.md), [Network Recorder](./docs/network-recorder.md), [Network Error Monitor](./docs/network-error-monitor.md)                                      |\n\n- [Playwright Utils](#playwright-utils)\n  - [One Pattern, Two Ways to Use](#one-pattern-two-ways-to-use)\n  - [Utilities](#utilities)\n  - [Installation](#installation)\n  - [Development](#development)\n  - [Available Utilities](#available-utilities)\n    - [API Request](#api-request)\n    - [Recurse (Polling)](#recurse-polling)\n    - [Logging](#logging)\n    - [Network Interception](#network-interception)\n    - [Auth Session](#auth-session)\n      - [Implementation Steps](#implementation-steps)\n    - [File Utilities](#file-utilities)\n    - [Network Recorder](#network-recorder)\n    - [Test Burn-in](#test-burn-in)\n    - [Network Error Monitor](#network-error-monitor)\n  - [Module Format Support](#module-format-support)\n    - [Testing Strategy in this repository](#testing-strategy-in-this-repository)\n  - [Testing the Package Locally](#testing-the-package-locally)\n  - [Release and Publishing](#release-and-publishing)\n    - [Publishing via GitHub UI (Recommended)](#publishing-via-github-ui-recommended)\n    - [Publishing Locally](#publishing-locally)\n\n## Installation\n\n```bash\nnpm i -D @seontechnologies/playwright-utils\npnpm i -D @seontechnologies/playwright-utils\n```\n\n> **Note:** This package requires `@playwright/test` as a peer dependency. It should already be installed in your repository.\n\n## Development\n\nQuick start (this repo):\n\n```bash\ngit clone https://github.com/seontechnologies/playwright-utils.git\n\ncd playwright-utils\n\nnvm use\n\nnpm install\n\n# start docker\n# running the app initially may require docker to download things for a few minutes\nnpm run start:sample-app\n\n# open a new tab, and run a test\n# run with UI, with headless, or with the Playwright Inspector\nnpm run test:pw-ui\nnpm run test:pw\nnpm run test:pw:debug\n```\n\n```bash\n# Install dependencies\nnpm i\n\n# Development commands\nnpm run lint          # Run ESLint\nnpm run typecheck     # Run TypeScript checks\nnpm run fix:format    # Fix code formatting with Prettier\nnpm run test          # Run unit tests\nnpm run validate      # Run all the above in parallel\n\n# Start the sample app (for testing apiRequest, recurse, auth-session)\nnpm run start:sample-app\n\n# Playwright tests\nnpm run test:pw       # Run Playwright tests\nnpm run test:pw:debug # Run with Playwright Inspector\nnpm run test:pw-ui    # Run Playwright tests with UI\nnpm run show:trace -- test-results/<run>/trace.zip\n```\n\nModern Playwright debugging tips used in this repo:\n\n```bash\n# Inspector\nnpm run test:pw:debug -- --project=chromium\n\n# UI Mode\nnpm run test:pw-ui\n\n# Trace Viewer\nnpm run show:trace -- test-results/<run>/trace.zip\n```\n\n```typescript\n// Recent Playwright page diagnostics pair well with these utilities\nconst consoleMessages = await page.consoleMessages({\n  filter: 'since-navigation'\n})\nconst pageErrors = await page.pageErrors({\n  filter: 'since-navigation'\n})\nconst requests = await page.requests()\n```\n\n## Available Utilities\n\nThe library provides the following utilities, each with both direct function imports and Playwright fixtures:\n\n### [API Request](./docs/api-request.md)\n\nA typed, flexible HTTP client for making API requests in tests.\n\n```typescript\n// Direct import\nimport { apiRequest } from '@seontechnologies/playwright-utils'\n\ntest('example', async ({ request }) => {\n  const { status, body } = await apiRequest({\n    request, // need to pass in request context when using this way\n    method: 'GET',\n    path: '/api/users/123'\n  })\n})\n\n// As a fixture\nimport { test } from '@seontechnologies/playwright-utils/fixtures'\n// or use your own main fixture (with mergeTests) and import from there\n\ntest('example', async ({ apiRequest }) => {\n  const { status, body } = await apiRequest({\n    method: 'GET',\n    path: '/api/users/123'\n  })\n})\n```\n\n[→ API Request Documentation](./docs/api-request.md)\n\n### [Recurse (Polling)](./docs/recurse.md)\n\nA powerful polling utility for waiting on asynchronous conditions.\n\n```typescript\n// note that there is no need to pass in request or page context from Playwright\n\n// Direct import\nimport { recurse } from '@seontechnologies/playwright-utils/recurse'\n\ntest('example', async ({}) => {\n  const result = await recurse(\n    () => fetchData(),\n    (data) => data.status === 'ready',\n    { timeout: 30000 }\n  )\n})\n\n// As a fixture\nimport { test } from '@seontechnologies/playwright-utils/fixtures'\n// or use your own main fixture (with mergeTests) and import from there\n\ntest('example', async ({ recurse }) => {\n  const result = await recurse({\n    command: () => fetchData(),\n    predicate: (data) => data.status === 'ready',\n    options: { timeout: 30000 }\n  })\n})\n```\n\n[→ Recurse Documentation](./docs/recurse.md)\n\n### [Logging](./docs/log.md)\n\nA specialized logging utility that integrates with Playwright's test reports.\n\n```typescript\n// Direct import\nimport { log } from '@seontechnologies/playwright-utils'\n\nawait log.info('Information message')\nawait log.step('Starting a new test step')\nawait log.error('Something went wrong', false) // Disable console output\n```\n\n```typescript\n// As a fixture\nimport { test } from '@seontechnologies/playwright-utils/log/fixtures'\n\ntest('example', async ({ log }) => {\n  await log({\n    message: 'Starting test',\n    level: 'step'\n  })\n})\n```\n\n[→ Logging Documentation](./docs/log.md)\n\n### [Network Interception](./docs/intercept-network-call.md)\n\nA powerful utility for intercepting, observing, and mocking network requests in Playwright tests.\n\n```typescript\n// Direct import\nimport { interceptNetworkCall } from '@seontechnologies/playwright-utils'\n\ntest('Spy on the network', async ({ page }) => {\n  // Set up the interception before navigating\n  const networkCall = interceptNetworkCall({\n    page,\n    method: 'GET', // GET is optional\n    url: '**/api/users'\n  })\n\n  await page.goto('/users-page')\n\n  // Wait for the intercepted response and access the result\n  const { responseJson, status } = await networkCall\n\n  expect(responseJson.length).toBeGreaterThan(0)\n  expect(status).toBe(200)\n})\n```\n\n```typescript\n// As a fixture\nimport { test } from '@seontechnologies/playwright-utils/fixtures'\n\ntest('Stub the network', async ({ page, interceptNetworkCall }) => {\n  // With fixture, you don't need to pass the page object\n  const mockResponse = interceptNetworkCall({\n    method: 'GET',\n    url: '**/api/users',\n    fulfillResponse: {\n      status: 200,\n      body: { data: [{ id: 1, name: 'Test User' }] }\n    }\n  })\n\n  await page.goto('/users-page')\n\n  // Wait for the intercepted response\n  await mockResponse\n\n  expect(responseJson.data[0].name).toBe('Test User')\n})\n```\n\n```typescript\n// Conditional request handling\ntest('Modify responses', async ({ page, interceptNetworkCall }) => {\n  await interceptNetworkCall({\n    url: '/api/data',\n    handler: async (route, request) => {\n      if (request.method() === 'POST') {\n        // Handle POST requests\n        await route.fulfill({\n          status: 200,\n          body: JSON.stringify({ success: true })\n        })\n      } else {\n        // Continue with other requests\n        await route.continue()\n      }\n    }\n  })\n})\n```\n\n[→ Network Interception Documentation](./docs/intercept-network-call.md)\n\n### [Auth Session](./docs/auth-session.md)\n\nAn authentication session management system for Playwright tests that persists tokens between test runs:\n\n- Faster tests with persistent token storage\n- User-based, on the fly authentication support\n- Support for both UI and API testing\n\n#### Implementation Steps\n\n1. **Configure Global Setup** - Create `playwright/support/global-setup.ts` and add it to your Playwright config\n   - Sets up authentication storage and initializes the auth provider\n   - Nearly identical across all applications\n\n```typescript\n// 1. Configure Global Setup (playwright/support/global-setup.ts)\nimport {\n  authStorageInit,\n  setAuthProvider,\n  configureAuthSession,\n  authGlobalInit\n} from '@seontechnologies/playwright-utils/auth-session'\nimport myCustomProvider from './auth/custom-auth-provider'\n\nasync function globalSetup() {\n  // Ensure storage directories exist\n  authStorageInit()\n\n  // STEP 1: Configure auth storage settings\n  configureAuthSession({\n    // store auth tokens anywhere you want, and remember to gitignore the directory\n    storageDir: process.cwd() + '/playwright/auth-sessions',\n    debug: true\n  })\n\n  // STEP 2: Set up custom auth provider\n  // This defines HOW authentication tokens are acquired and used\n  setAuthProvider(myCustomProvider)\n\n  // Optional: pre-fetch all tokens in the beginning\n  await authGlobalInit()\n}\n\nexport default globalSetup\n```\n\n> **⚠️ IMPORTANT:** The order of function calls in your global setup is critical. Always register your auth provider with `setAuthProvider()` after configuring the session. This ensures the auth provider is properly initialized.\n\n1. **Create Auth Fixture** - Add `playwright/support/auth/auth-fixture.ts` to your merged fixtures\n   - Provides standardized Playwright test fixtures for authentication\n   - Generally reusable across applications without modification\n   - **CRITICAL: Register auth provider early to ensure it's always available**\n\nAdd `playwright/support/auth/auth-fixture.ts` to your merged fixtures\n\n```typescript\n// 1. Create Auth Fixture (playwright/support/auth/auth-fixture.ts)\nimport { test as base } from '@playwright/test'\nimport {\n  createAuthFixtures,\n  type AuthOptions,\n  type AuthFixtures,\n  setAuthProvider // Import the setAuthProvider function\n} from '@seontechnologies/playwright-utils/auth-session'\n\n// Import your custom auth provider\nimport myCustomProvider from './custom-auth-provider'\n\n// Register the auth provider early\nsetAuthProvider(myCustomProvider)\n\nexport const test = base.extend<AuthFixtures>({\n  // For authOptions, we need to define it directly using the Playwright array format\n  authOptions: [defaultAuthOptions, { option: true }],\n\n  // Use the other fixtures directly\n  ...createAuthFixtures()\n\n// In your tests, use the auth token\ntest('authenticated API request', async ({ authToken, request }) => {\n  const response = await request.get('https://api.example.com/protected', {\n    headers: { Authorization: `Bearer ${authToken}` }\n  })\n\n  expect(response.ok()).toBeTruthy()\n})\n```\n\n1. Create Custom Auth Provider - Implement token management with modular utilities:\n\n```typescript\n// playwright/support/auth/custom-auth-provider.ts\nimport {\n  type AuthProvider,\n  authStorageInit,\n  getTokenFilePath,\n  saveStorageState\n} from '@seontechnologies/playwright-utils/auth-session'\nimport { log } from '@seontechnologies/playwright-utils/log'\nimport { acquireToken } from './token/acquire'\nimport { checkTokenValidity } from './token/check-validity'\nimport { isTokenExpired } from './token/is-expired'\nimport { extractToken, extractCookies } from './token/extract'\nimport { getEnvironment } from './get-environment'\nimport { getUserIdentifier } from './get-user-identifier'\n\nconst myCustomProvider: AuthProvider = {\n  // Get the current environment to use\n  getEnvironment,\n\n  // Get the current user identifier to use\n  getUserIdentifier,\n\n  // Extract token from storage state\n  extractToken,\n\n  // Extract cookies from token data for browser context\n  extractCookies,\n\n  // Check if token is expired\n  isTokenExpired,\n\n  // Main token management method\n  async manageAuthToken(request, options = {}) {\n    const environment = this.getEnvironment(options)\n    const userIdentifier = this.getUserIdentifier(options)\n    const tokenPath = getTokenFilePath({\n      environment,\n      userIdentifier,\n      tokenFileName: 'storage-state.json'\n    })\n\n    // Check for existing valid token\n    const validToken = await checkTokenValidity(tokenPath)\n    if (validToken) return validToken\n\n    // Initialize storage and acquire new token if needed\n    authStorageInit({ environment, userIdentifier })\n    const storageState = await acquireToken(\n      request,\n      environment,\n      userIdentifier,\n      options\n    )\n\n    // Save and return the new token\n    saveStorageState(tokenPath, storageState)\n    return storageState\n  },\n\n  // Clear token when needed\n  clearToken(options = {}) {\n    const environment = this.getEnvironment(options)\n    const userIdentifier = this.getUserIdentifier(options)\n    const storageDir = getStorageDir({ environment, userIdentifier })\n    const authManager = AuthSessionManager.getInstance({ storageDir })\n    authManager.clearToken()\n    return true\n  }\n}\n\nexport default myCustomProvider\n```\n\n1. Use the Auth Session in Your Tests\n\n```typescript\nimport { test } from '../support/auth/auth-fixture'\n\ntest('access protected resources', async ({ page, authToken }) => {\n  // API calls with token\n  const response = await request.get('/api/protected', {\n    headers: { Authorization: `Bearer ${authToken}` }\n  })\n\n  // Or use the pre-authenticated page\n  await page.goto('/protected-area')\n})\n\n// Ephemeral user authentication\nimport { applyUserCookiesToBrowserContext } from '@seontechnologies/playwright-utils/auth-session'\n\ntest('ephemeral user auth', async ({ context, page }) => {\n  // Apply user auth directly to browser context (no disk persistence)\n  const user = await createTestUser({ userIdentifier: 'admin' })\n  await applyUserCookiesToBrowserContext(context, user)\n\n  // Page is now authenticated with the user's token\n  await page.goto('/protected-page')\n})\n```\n\n[→ Auth Session Documentation](./docs/auth-session.md)\n\n### [File Utilities](./docs/file-utils.md)\n\nA comprehensive set of utilities for reading, validating, and waiting for files (CSV, XLSX, PDF, ZIP).\n\n```typescript\n// Direct import\nimport { readCSV } from '@seontechnologies/playwright-utils/file-utils'\n\ntest('example', async () => {\n  const result = await readCSV({ filePath: '/path/to/data.csv' })\n})\n\n// As a fixture\nimport { test } from '@seontechnologies/playwright-utils/file-utils/fixtures'\n\ntest('example', async ({ fileUtils }) => {\n  const isValid = await fileUtils.validateCSV({\n    filePath: '/path/to/data.csv',\n    expectedRowCount: 10\n  })\n})\n```\n\n[→ File Utilities Documentation](./docs/file-utils.md)\n\n### [Network Recorder](./docs/network-recorder.md)\n\nA HAR-based network traffic recording and playback utility that enables frontend tests to run in complete isolation from backend services. Features intelligent stateful CRUD detection for realistic API behavior.\n\n```typescript\n// Control mode in your test file (recommended)\nprocess.env.PW_NET_MODE = 'record' // or 'playback'\n\n// As a fixture (recommended)\nimport { test } from '@seontechnologies/playwright-utils/network-recorder/fixtures'\n\ntest('CRUD operations work offline', async ({\n  page,\n  context,\n  networkRecorder\n}) => {\n  // Setup - automatically records or plays back based on PW_NET_MODE\n  await networkRecorder.setup(context)\n\n  await page.goto('/')\n\n  // First time: records all network traffic to HAR file\n  // Subsequent runs: plays back from HAR file (no backend needed!)\n  await page.fill('#movie-name', 'Inception')\n  await page.click('#add-movie')\n\n  // Intelligent CRUD detection ensures the movie appears in the list\n  // even though we're running offline!\n  await expect(page.getByText('Inception')).toBeVisible()\n})\n```\n\n```bash\n# Alternative: Environment-based mode switching\nPW_NET_MODE=record npm run test:pw   # Record network traffic to HAR files\nPW_NET_MODE=playback npm run test:pw # Playback from existing HAR files\n```\n\n[→ Network Recorder Documentation](./docs/network-recorder.md)\n\n### [Test Burn-in](./docs/burn-in.md)\n\nA **test reliability verification tool** that finds tests affected by your code changes and runs each one multiple times to prove they pass consistently — catching flaky tests before they reach your main branch.\n\n> **Not a test skipper.** The goal is not to run fewer tests. It is to run the _right_ tests _more_ times so you can merge with confidence.\n\n**How it works**:\n\n1. `git diff` finds changed files in your branch\n2. Skip patterns filter out noise (configs, types, docs)\n3. `madge` dependency graph traces exactly which tests are affected\n4. Each affected test runs multiple times (`repeatEach: 3` by default)\n5. All pass? Safe to merge. Any fail? Flaky test caught early.\n\n**Quick Setup**:\n\n1. Create a burn-in script:\n\n```typescript\n// scripts/burn-in-changed.ts\nimport { runBurnIn } from '@seontechnologies/playwright-utils/burn-in'\n\nasync function main() {\n  await runBurnIn()\n}\n\nmain().catch(console.error)\n```\n\n2. Add package.json script:\n\n```json\n{\n  \"scripts\": {\n    \"test:pw:burn-in-changed\": \"tsx scripts/burn-in-changed.ts\"\n  }\n}\n```\n\n3. Create configuration:\n\n```typescript\n// config/.burn-in.config.ts (recommended location)\nimport type { BurnInConfig } from '@seontechnologies/playwright-utils/burn-in'\n\nconst config: BurnInConfig = {\n  // Files that should never trigger tests\n  skipBurnInPatterns: [\n    '**/config/**',\n    '**/*constants*',\n    '**/*types*',\n    '**/*.md'\n  ],\n\n  // Burn-in repetition settings (the core of burn-in)\n  burnIn: {\n    repeatEach: process.env.CI ? 2 : 3, // Run each test N times\n    retries: process.env.CI ? 0 : 1\n  },\n\n  // Optional: sample a percentage of affected tests in CI for large changesets\n  burnInTestPercentage: process.env.CI ? 0.5 : 1\n}\nexport default config\n```\n\n[→ Burn-in Documentation](./docs/burn-in.md)\n\n### [Network Error Monitor](./docs/network-error-monitor.md)\n\nAutomatically detects and reports HTTP 4xx/5xx errors during test execution. Tests fail if network errors occur, even when UI appears correct.\n\n```typescript\nimport { test } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures'\n\ntest('my test', async ({ page }) => {\n  await page.goto('/dashboard')\n  // Fails if any HTTP 4xx/5xx errors occur\n})\n```\n\n**Features**: Auto-enabled for all tests, catches silent backend failures, attaches JSON artifacts, respects test status (skipped/interrupted/failed).\n\n**Integration**:\n\n```typescript\nimport { test as networkErrorMonitorFixture } from '@seontechnologies/playwright-utils/network-error-monitor/fixtures'\n\nexport const test = mergeTests(authFixture, networkErrorMonitorFixture)\n```\n\n**Opt-out** for tests expecting errors:\n\n```typescript\ntest(\n  'validation',\n  { annotation: [{ type: 'skipNetworkMonitoring' }] },\n  async ({ page }) => {\n    // Monitoring disabled\n  }\n)\n```\n\nInspired by [Checkly's network monitoring pattern](https://github.com/checkly/checkly-playwright-examples/tree/main/network-monitoring). See [full docs](./docs/network-error-monitor.md).\n\n## Module Format Support\n\nThis package supports both CommonJS and ES Modules formats:\n\n- **CommonJS**: For projects using `require()` syntax or CommonJS module resolution\n- **ES Modules**: For projects using `import` syntax with ES modules\n\nThe package automatically detects which format to use based on your project's configuration. This means:\n\n- You can use this package in both legacy CommonJS projects and modern ESM projects\n- No need to change import paths or add file extensions\n- TypeScript type definitions work for both formats\n\nExample usage:\n\n```typescript\n// Works in both CommonJS and ESM environments\nimport { log } from '@seontechnologies/playwright-utils'\n\n// Subpath imports also work in both formats\nimport { recurse } from '@seontechnologies/playwright-utils/recurse'\n```\n\n### Testing Strategy in this repository\n\nWe showcase how to use the utilities in this repository through tests, often comparing and contrasting to vanilla Playwright patterns. We are using a backend and a frontend application to demonstrate more complex scenarios.\n\nThe overall testing approach:\n\n1. **Deployed Apps Tests** - Some tests use Playwright's deployed apps to keep things familiar (`log`, `interceptNetworkCall`):\n   - `playwright/tests/network-mock-original.spec.ts`\n   - `playwright/tests/todo-with-logs.spec.ts`\n   - `playwright/tests/network-mock-intercept-network-call.spec.ts`\n\n1. **Sample App Tests** - The `./sample-app` provides a more complex environment to test:\n   - API request automation\n   - Recursion and retry patterns\n   - Authentication flows\n   - Future: feature flag testing, email testing, etc.\n\nTo start the sample app backend and frontend; `npm run start:sample-app`.\n\nThe sample app uses `\"@seontechnologies/playwright-utils\": \"*\"` in its package.json so that changes to the library are immediately available for testing without requiring republishing or package updates.\n\n## Testing the Package Locally\n\n```bash\n# Build the package\nnpm run build\n\n# Create a tarball package\nnpm pack\n\n# Install in a target repository (change the version according to the file name)\n# For npm projects:\nnpm install ../playwright-utils/seontechnologies-playwright-utils-1.0.1.tgz\n\n# For pnpm projects:\npnpm add file:/path/to/playwright-utils-1.0.1.tgz\n```\n\n## Release and Publishing\n\nThis package is published to the public npm registry under the `@seontechnologies` scope.\n\n### Publishing via GitHub UI (Recommended)\n\nYou can trigger a release directly from GitHub's web interface:\n\n1. Go to the repository → Actions → \"Publish Package\" workflow\n2. Click \"Run workflow\" button (dropdown on the right)\n3. Select options in the form:\n   - **Branch**: main\n   - **Version type**: patch/minor/major/custom\n   - **Custom version**: Only needed if you selected \"custom\" type\n4. Click \"Run workflow\"\n\n**Important**:\n\n- Requires `NPM_TOKEN` secret to be configured in GitHub repository settings\n- You must review and merge the PR to complete the process\n\n### Publishing Locally\n\nYou can also publish the package locally using the provided script:\n\n```bash\n# 1. Set your npm token as an environment variable\n# Get your token from: https://www.npmjs.com/settings/~/tokens\nexport NPM_TOKEN=your_npm_token\n\n# 2. Run the publish script\nnpm run publish:local\n```\n","readmeFilename":"README.md"}