{
  "name": "@royalnavy/react-component-library",
  "description": "A collection of react components and helpers to assist in building applications for the Royal Navy",
  "version": "4.54.0",
  "publishConfig": {
    "access": "public"
  },
  "keywords": [
    "react",
    "webpack",
    "typescript",
    "babel",
    "lib",
    "starter",
    "boilerplate"
  ],
  "main": "dist/cjs/index.js",
  "module": "dist/es/index.js",
  "types": "dist/types/src/index.d.ts",
  "sideEffects": false,
  "author": "Royal Navy",
  "license": "Apache-2.0",
  "exports": {
    "types": "./dist/types/src/index.d.ts",
    "import": "./dist/es/index.js",
    "require": "./dist/cjs/index.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/Royal-Navy/design-system.git",
    "directory": "packages/react-component-library"
  },
  "scripts": {
    "analyze": "webpack --config=webpack/analyze.js",
    "build": "run-s build:es build:cjs types",
    "build:cjs": "BABEL_ENV=cjs webpack --config=webpack/prod.js",
    "build:es": "BABEL_ENV=es babel src --out-dir \"dist/es\" --extensions \".ts,.tsx\"",
    "build:cjs:dev": "BABEL_ENV=cjs RNDS_LOG_LEVEL=debug webpack --config=webpack/dev.js",
    "chromatic": "chromatic --build-script-name storybook:static",
    "lint": "eslint src e2e --ext .js --ext .jsx --ext .ts --ext .tsx --max-warnings 0 --resolve-plugins-relative-to ../eslint-config-react --ignore-pattern \"*.d.ts\"",
    "prepack": "pnpm run build",
    "storybook": "BABEL_ENV=es RNDS_LOG_LEVEL=debug storybook dev -p 6006",
    "storybook:static": "BABEL_ENV=es storybook build -c .storybook -o .static_storybook --webpack-stats-json",
    "storybook:static:test": "BABEL_ENV=storybook-test storybook build -c .storybook -o .static_storybook --test",
    "storybook:test": "BABEL_ENV=storybook-test RNDS_LOG_LEVEL=debug storybook dev -p 6006",
    "test": "BABEL_ENV=test jest",
    "test:a11y": "test-storybook",
    "test:watch": "BABEL_ENV=test jest --watch",
    "test:e2e": "playwright test",
    "test:e2e:install": "playwright install --with-deps",
    "test:e2e:show-report": "playwright show-report e2e-output/html",
    "test:e2e:trace": "playwright test --trace retain-on-failure",
    "types": "tsc -p tsconfig.build.json",
    "playwright:install": "playwright install --with-deps chromium",
    "ci:server:storybook": "http-server .static_storybook --port 6006 --silent",
    "ci:test:a11y": "concurrently -k -s first -n 'SB,TEST' -c 'magenta,blue' 'pnpm run ci:server:storybook' 'wait-on tcp:6006 && pnpm run test:a11y'"
  },
  "lint-staged": {
    "*.@(js|jsx|ts|tsx)": [
      "eslint --ext .js --ext .jsx --ext .ts --ext .tsx --max-warnings 1 --resolve-plugins-relative-to ../eslint-config-react --ignore-pattern \"*.d.ts\"",
      "prettier --write"
    ]
  },
  "jestSonar": {
    "reportPath": "coverage",
    "reportFile": "rcl-sonar-report.xml",
    "indent": 4
  },
  "devDependencies": {
    "@axe-core/playwright": "^4.10.0",
    "@babel/cli": "^7.25.6",
    "@babel/core": "^7.25.2",
    "@babel/plugin-proposal-class-properties": "^7.8.3",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
    "@babel/plugin-proposal-object-rest-spread": "^7.8.3",
    "@babel/plugin-proposal-optional-chaining": "^7.9.0",
    "@babel/plugin-transform-modules-commonjs": "^7.24.8",
    "@babel/preset-env": "^7.25.4",
    "@babel/preset-react": "^7.24.7",
    "@babel/preset-typescript": "^7.24.7",
    "@faker-js/faker": "^8.4.1",
    "@happy-dom/jest-environment": "^14.10.1",
    "@playwright/test": "^1.47.2",
    "@royalnavy/eslint-config-react": "^4.54.0",
    "@storybook/addon-a11y": "^10.4.6",
    "@storybook/addon-docs": "^10.4.6",
    "@storybook/addon-links": "^10.4.6",
    "@storybook/addon-webpack5-compiler-babel": "^4.0.1",
    "@storybook/react-webpack5": "^10.4.6",
    "@storybook/test-runner": "^0.24.4",
    "@testing-library/dom": "^10.4.0",
    "@testing-library/jest-dom": "^6.5.0",
    "@testing-library/react": "^16.0.1",
    "@testing-library/react-hooks": "^8.0.1",
    "@testing-library/user-event": "^14.5.2",
    "@types/classnames": "^2.2.9",
    "@types/jest": "^29.5.13",
    "@types/lodash": "^4.14.149",
    "@types/node": "^20.12.10",
    "@types/react": "^18.3.12",
    "@types/react-dom": "^18.3.1",
    "@types/react-select": "^3.0.27",
    "@types/react-transition-group": "^4.2.3",
    "@types/styled-components": "^5.1.34",
    "@types/styled-theming": "^2.2.5",
    "@types/testing-library__react": "^10.0.1",
    "@types/uuid": "^8.0.0",
    "@welldone-software/why-did-you-render": "^7.0.1",
    "axe-playwright": "^2.0.3",
    "babel-jest": "^29.0.3",
    "babel-loader": "^9.0.1",
    "babel-plugin-jsx-remove-data-test-id": "^3.0.0",
    "babel-plugin-search-and-replace": "1.1.1",
    "babel-plugin-styled-components": "^2.0.2",
    "babel-polyfill": "^6.26.0",
    "chalk": "^4.1.2",
    "chromatic": "^11.3.0",
    "clean-webpack-plugin": "^4.0.0",
    "concurrently": "^7.3.0",
    "csstype": "^3.1.3",
    "eslint": "^8.2.0",
    "eslint-plugin-playwright": "^0.12.0",
    "eslint-plugin-storybook": "^10.4.6",
    "formik": "^2.2.9",
    "hex-rgb": "^5.0.0",
    "html-webpack-plugin": "^5.2.0",
    "http-server": "^14.1.1",
    "identity-obj-proxy": "^3.0.0",
    "iframe-resizer": "^5.3.1",
    "jest": "^29.0.3",
    "jest-canvas-mock": "^2.3.0",
    "jest-environment-jsdom": "^29.0.3",
    "jest-junit": "^16.0.0",
    "jest-sonar-reporter": "^2.0.0",
    "jest-styled-components": "^7.0.3",
    "npm-run-all": "^4.1.5",
    "prettier": "^2.0.5",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "react-hook-form": "6.15.8",
    "react-hot-loader": "^4.12.19",
    "source-map-loader": "^4.0.1",
    "storybook": "^10.4.6",
    "styled-components": "^6.1.8",
    "timezone-mock": "^1.1.3",
    "typescript": "^5.4.4",
    "undici": "^6.21.2",
    "url-search-params-polyfill": "^8.1.1",
    "wait-on": "^7.0.1",
    "webpack": "^5.94.0",
    "webpack-bundle-analyzer": "^4.2.0",
    "webpack-cli": "^5.0.1",
    "webpack-merge": "^5.2.0"
  },
  "files": [
    "dist"
  ],
  "dependencies": {
    "@popperjs/core": "^2.9.2",
    "@royalnavy/design-tokens": "^4.54.0",
    "@royalnavy/fonts": "^4.54.0",
    "@royalnavy/icon-library": "^4.54.0",
    "@tanstack/react-table": "^8.21.3",
    "@tanstack/table-core": "8.21.3",
    "classnames": "^2.2.6",
    "date-fns": "^2.9.0",
    "decimal.js": "^10.3.1",
    "downshift": "^6.1.12",
    "focus-trap": "^7.6.2",
    "focus-trap-react": "^10.3.1",
    "lodash": "^4.17.21",
    "polished": "^4.0.3",
    "react-compound-slider": "^3.3.1",
    "react-day-picker": "^8.10.1",
    "react-hot-toast": "^2.4.1",
    "react-merge-refs": "^1.1.0",
    "react-popper": "^2.2.5",
    "react-select": "^4.1.0",
    "react-string-replace": "^1.1.0",
    "react-transition-group": "^4.4.1",
    "styled-normalize": "^8.0.7",
    "styled-theming": "^2.2.0",
    "uuid": "^8.3.2"
  },
  "peerDependencies": {
    "styled-components": ">= 6"
  }
}
