{
  "name": "@o3r/testing",
  "version": "14.0.4",
  "publishConfig": {
    "access": "public"
  },
  "description": "The module provides testing (e2e, unit test) utilities to help you build your own E2E pipeline integrating visual testing.",
  "keywords": [
    "testing",
    "otter",
    "otter-module"
  ],
  "main": "public_api.js",
  "types": "public_api.d.ts",
  "sideEffects": false,
  "scripts": {
    "nx": "nx",
    "ng": "yarn nx",
    "build": "yarn nx build testing",
    "build:schematics": "tsc -b tsconfig.schematics.json --pretty && yarn generate-cjs-manifest",
    "build:source": "tsc -b tsconfig.build.json --pretty && yarn cpy ./package.json dist",
    "build:tools": "tsc -b tsconfig.build.tools.json --pretty",
    "build:utils": "tsc -b tsconfig.build.utils.json --pretty && node ./scripts/generate-esm-manifest.cjs",
    "prepare:build:builders": "yarn cpy 'schematics/**/*.json' 'schematics/**/templates/**' dist/schematics && yarn cpy '{collection,migration}.json' dist",
    "postbuild": "patch-package-json-main"
  },
  "exports": {
    "./package.json": {
      "default": "./package.json"
    },
    ".": {
      "types": "./core/index.d.ts",
      "default": "./core/index.js"
    },
    "./core": {
      "types": "./core/index.d.ts",
      "default": "./core/index.js"
    },
    "./core/angular": {
      "types": "./core/angular/index.d.ts",
      "default": "./core/angular/index.js"
    },
    "./core/playwright": {
      "types": "./core/playwright/index.d.ts",
      "default": "./core/playwright/index.js"
    },
    "./core/playwright/component-fixture": {
      "types": "./core/playwright/component-fixture.d.ts",
      "default": "./core/playwright/component-fixture.js"
    },
    "./kassette": {
      "types": "./kassette/index.d.ts",
      "default": "./kassette/index.js"
    },
    "./localization": {
      "types": "./localization/index.d.ts",
      "default": "./localization/index.js"
    },
    "./mocks": {
      "types": "./mocks/index.d.ts",
      "default": "./mocks/index.js"
    },
    "./store": {
      "types": "./store/index.d.ts",
      "default": "./store/index.js"
    },
    "./tools": {
      "types": "./tools/index.d.ts",
      "default": "./tools/index.js"
    },
    "./tools/path-replacement": {
      "types": "./tools/path-replacement/index.d.ts",
      "default": "./tools/path-replacement/index.js"
    },
    "./visual-test": {
      "types": "./visual-test/index.d.ts",
      "default": "./visual-test/index.js"
    },
    "./visual-test/utils": {
      "types": "./visual-test/utils.d.ts",
      "import": "./esm/visual-test/utils.js",
      "default": "./visual-test/utils.js"
    },
    "./visual-testing-reporter": {
      "types": "./visual-testing-reporter/index.d.ts",
      "default": "./visual-testing-reporter/index.js"
    }
  },
  "peerDependencies": {
    "@amadeus-it-group/kassette": "^1.7.0",
    "@angular-devkit/core": "^21.0.0",
    "@angular-devkit/schematics": "^21.0.0",
    "@angular/animations": "^21.0.0",
    "@angular/cli": "^21.0.0",
    "@angular/common": "^21.0.0",
    "@angular/core": "^21.0.0",
    "@angular/forms": "^21.0.0",
    "@angular/platform-browser": "^21.0.0",
    "@material/slider": "^14.0.0",
    "@ngrx/store": "^21.0.0",
    "@ngx-translate/core": "^15.0.0 || ~16.0.4",
    "@o3r/core": "~14.0.4",
    "@o3r/eslint-config": "~14.0.4",
    "@o3r/localization": "~14.0.4",
    "@o3r/schematics": "~14.0.4",
    "@playwright/test": "^1.49.0",
    "@schematics/angular": "^21.0.0",
    "eslint": "~9.39.0",
    "pixelmatch": "^7.0.0",
    "pngjs": "^7.0.0",
    "rxjs": "^7.8.1",
    "temporal-polyfill": "^0.3.0",
    "type-fest": "^5.3.1",
    "typescript": "^5.9.0"
  },
  "peerDependenciesMeta": {
    "@amadeus-it-group/kassette": {
      "optional": true
    },
    "@angular-devkit/core": {
      "optional": true
    },
    "@angular-devkit/schematics": {
      "optional": true
    },
    "@angular/cli": {
      "optional": true
    },
    "@angular/forms": {
      "optional": true
    },
    "@material/slider": {
      "optional": true
    },
    "@ngrx/store": {
      "optional": true
    },
    "@ngx-translate/core": {
      "optional": true
    },
    "@o3r/core": {
      "optional": true
    },
    "@o3r/eslint-config": {
      "optional": true
    },
    "@o3r/localization": {
      "optional": true
    },
    "@o3r/schematics": {
      "optional": true
    },
    "@playwright/test": {
      "optional": true
    },
    "@schematics/angular": {
      "optional": true
    },
    "pixelmatch": {
      "optional": true
    },
    "pngjs": {
      "optional": true
    },
    "temporal-polyfill": {
      "optional": true
    },
    "type-fest": {
      "optional": true
    }
  },
  "dependencies": {
    "@o3r/schematics": "~14.0.4",
    "esbuild": "~0.25.1",
    "tslib": "^2.6.2"
  },
  "devDependencies": {
    "@amadeus-it-group/kassette": "^1.7.0",
    "@angular-devkit/build-angular": "~21.0.2",
    "@angular-devkit/core": "~21.0.2",
    "@angular-devkit/schematics": "~21.0.2",
    "@angular/cli": "~21.0.2",
    "@angular/common": "~21.0.3",
    "@angular/compiler": "~21.0.3",
    "@angular/compiler-cli": "~21.0.3",
    "@angular/core": "~21.0.3",
    "@angular/forms": "~21.0.3",
    "@angular/platform-browser": "~21.0.3",
    "@angular/platform-browser-dynamic": "~21.0.3",
    "@babel/core": "~7.28.0",
    "@babel/preset-typescript": "~7.28.0",
    "@compodoc/compodoc": "^1.1.32",
    "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
    "@material/slider": "^14.0.0",
    "@ngrx/store": "~21.0.0",
    "@ngx-translate/core": "~16.0.4",
    "@nx/eslint-plugin": "~22.3.3",
    "@nx/jest": "~22.3.3",
    "@o3r/build-helpers": "~14.0.4",
    "@o3r/core": "~14.0.4",
    "@o3r/eslint-plugin": "~14.0.4",
    "@o3r/localization": "~14.0.4",
    "@o3r/test-helpers": "~14.0.4",
    "@playwright/test": "~1.57.0",
    "@schematics/angular": "~21.0.2",
    "@standard-schema/spec": "~1.0.0",
    "@stylistic/eslint-plugin": "~5.6.0",
    "@swc/helpers": "~0.5.17",
    "@types/jest": "~30.0.0",
    "@types/node": "~24.10.0",
    "@types/pixelmatch": "^5.2.3",
    "@types/pngjs": "^6.0.0",
    "@typescript-eslint/parser": "~8.52.0",
    "angular-eslint": "~21.0.1",
    "concurrently": "^9.1.0",
    "cpy-cli": "^6.0.0",
    "eslint": "~9.39.0",
    "eslint-import-resolver-node": "~0.3.9",
    "eslint-import-resolver-typescript": "~4.4.0",
    "eslint-plugin-import": "~2.32.0",
    "eslint-plugin-import-newlines": "~1.4.0",
    "eslint-plugin-jest": "~29.12.0",
    "eslint-plugin-jsdoc": "~61.5.0",
    "eslint-plugin-prefer-arrow": "~1.2.3",
    "eslint-plugin-unicorn": "~62.0.0",
    "eslint-plugin-unused-imports": "~4.3.0",
    "globals": "^16.0.0",
    "isomorphic-fetch": "~3.0.0",
    "jest": "~30.2.0",
    "jest-environment-jsdom": "~30.2.0",
    "jest-junit": "~16.0.0",
    "jest-preset-angular": "~16.0.0",
    "jest-util": "~30.2.0",
    "jsdom": "~27.3.0",
    "jsonc-eslint-parser": "~2.4.0",
    "nx": "~22.4.0",
    "pixelmatch": "^7.0.0",
    "pngjs": "^7.0.0",
    "rxjs": "^7.8.1",
    "semver": "^7.5.2",
    "temporal-polyfill": "^0.3.0",
    "ts-jest": "~29.4.0",
    "type-fest": "^5.3.1",
    "typescript": "~5.9.2",
    "typescript-eslint": "~8.52.0"
  },
  "generatorDependencies": {
    "@angular-builders/jest": "~21.0.0-beta.1",
    "@types/jest": "~30.0.0",
    "jest": "~30.2.0",
    "jest-environment-jsdom": "~30.2.0",
    "jest-preset-angular": "~16.0.0",
    "jest-util": "~30.2.0",
    "rimraf": "^6.0.1",
    "ts-jest": "~29.4.0",
    "uuid": "~13.0.0"
  },
  "schematics": "./collection.json",
  "ng-update": {
    "migrations": "./migration.json"
  },
  "engines": {
    "node": "^22.17.0 || ^24.0.0"
  },
  "contributors": [
    {
      "name": "Yannick Adam",
      "url": "https://github.com/yannickadam",
      "email": "yannickadam@users.noreply.github.com"
    },
    {
      "name": "Kilian Panot",
      "url": "https://github.com/kpanot",
      "email": "kpanot@users.noreply.github.com"
    },
    {
      "name": "Jeremy Bourgeois",
      "url": "https://github.com/jbourgeois-1A",
      "email": "jbourgeois-1A@users.noreply.github.com"
    },
    {
      "name": "Pierre Henri Ginoux",
      "url": "https://github.com/pginoux-1A",
      "email": "pginoux-1A@users.noreply.github.com"
    },
    {
      "name": "Mircea Vasile Rednic",
      "url": "https://github.com/mrednic-1A",
      "email": "mrednic-1A@users.noreply.github.com"
    },
    {
      "name": "Stephane Dalle",
      "url": "https://github.com/sdalle-1A",
      "email": "sdalle-1A@users.noreply.github.com"
    },
    {
      "name": "Nicolas Hoffmann",
      "url": "https://github.com/nhoffmann-1A",
      "email": "nhoffmann-1A@users.noreply.github.com"
    },
    {
      "name": "Victor Scaiceanu",
      "url": "https://github.com/vscaiceanu-1a",
      "email": "vscaiceanu-1A@users.noreply.github.com"
    },
    {
      "name": "Florian Paul",
      "url": "https://github.com/fpaul-1A",
      "email": "fpaul-1A@users.noreply.github.com"
    },
    {
      "name": "Corinne Paulve",
      "url": "https://github.com/cpaulve-1A",
      "email": "cpaulve-1A@users.noreply.github.com"
    },
    {
      "name": "Matthieu Crouzet",
      "url": "https://github.com/matthieu-crouzet",
      "email": "matthieu-crouzet@users.noreply.github.com"
    },
    {
      "name": "Salome Do",
      "url": "https://github.com/sdo-1A",
      "email": "sdo-1A@users.noreply.github.com"
    }
  ],
  "bugs": "https://github.com/AmadeusITGroup/otter/issues",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/AmadeusITGroup/otter.git"
  },
  "license": "BSD-3-Clause",
  "homepage": "https://amadeusitgroup.github.io/otter/"
}