{
  "name": "backpack",
  "version": "0.0.1",
  "license": "Apache-2.0",
  "private": true,
  "engines": {
    "node": "^18.16.0",
    "npm": ">=9.5.1"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:Skyscanner/backpack.git"
  },
  "author": "Backpack Design System <backpack@skyscanner.net>",
  "publishConfig": {
    "registry": "https://registry.npmjs.org/"
  },
  "scripts": {
    "build": "run-s build:*",
    "build:gulp": "gulp",
    "build:unstable__bpk-mixins": "./scripts/scss/generate-unstable__bpk-mixins.sh",
    "build:sass": "node scripts/scss/styles-prod.js && rm packages/bpk-stylesheets/index.css",
    "build:stylesheets": "(cd packages/bpk-stylesheets && node build)",
    "check-bpk-dependencies": "node scripts/npm/check-bpk-dependencies.js",
    "check-react-versions": "node scripts/npm/check-react-versions.js",
    "check-pristine": "node scripts/check-pristine-state",
    "clean": "npm run clean:dist && npm run clean:node_modules",
    "clean:dist": "rm -rf dist",
    "clean:node_modules": "rm -rf packages/node_modules && rm -rf node_modules",
    "danger": "danger ci",
    "fix-bpk-dependencies": "node scripts/npm/check-bpk-dependencies.js --fix",
    "upgrade-foundations": "node scripts/npm/check-bpk-dependencies.js --fix --upgrade-foundations",
    "jest": "TZ=Etc/UTC jest --coverage",
    "jest:update": "TZ=Etc/UTC jest --updateSnapshot",
    "jest:watch": "TZ=Etc/UTC jest --watch",
    "jest:accessibility": "jest --testRegex accessibility-test",
    "lint": "npm run lint:js && npm run lint:scss",
    "lint:js": "eslint . .storybook --ext .js,.jsx,.ts,.tsx",
    "lint:js:fix": "eslint . .storybook --ext .js,.jsx,.ts,.tsx --fix",
    "lint:scss": "stylelint 'packages/**/*.scss'",
    "lint:scss:fix": "stylelint 'packages/**/*.scss' --fix",
    "lint-staged": "lint-staged",
    "postinstall": "(cd packages && npm install)",
    "prettier": "prettier --config .prettierrc --write \"**/*.(js|ts|tsx)\"",
    "start": "npm run build && npm run storybook",
    "storybook": "storybook dev -p 9001",
    "storybook:dist": "storybook build -c .storybook -o dist-storybook",
    "sassdoc": "sassdoc {packages/bpk-mixins/src/**/*,node_modules/@skyscanner/bpk-svgs/dist/*,node_modules/@skyscanner/bpk-foundations-web/tokens/base.default}.scss -d dist-sassdoc -v --strict",
    "test": "npm run lint && npm run check-react-versions && npm run check-bpk-dependencies && npm run jest",
    "typecheck": "tsc",
    "prepare": "husky",
    "percy-test": "percy storybook ./dist-storybook -i '/Visual\\stest\\s?([a-z]*)?/i'",
    "ts-migrate": "ts-migrate",
    "transpile": "npm run build && run-s transpile:*",
    "transpile:clean": "rm -rf ./dist",
    "transpile:js": "BABEL_ENV=dev babel packages --ignore ./packages/bpk-stylesheets --out-dir dist --extensions \".ts,.tsx,.js,.jsx\" --config-file ./babel.config.js",
    "transpile:dts": "tsc --project tsconfig.declaration.json",
    "transpile:imports": "node scripts/transpilation/transform-js-scss-css-imports.js",
    "transpile:copy-css": "node scripts/transpilation/copy-css.js",
    "transpile:copy-utils": "node scripts/transpilation/copy-utils.js",
    "transpile:copy-package-json": "cp ./packages/package.json ./dist/",
    "transpile:copy-readme": "cp packages/README.md ./dist/"
  },
  "lint-staged": {
    "*.{js,jsx,ts,tsx}": [
      "eslint --fix"
    ],
    "*.scss": [
      "stylelint --fix",
      "stylelint"
    ]
  },
  "jest": {
    "coverageReporters": [
      "text"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 70,
        "functions": 75,
        "lines": 75,
        "statements": 75
      }
    },
    "moduleNameMapper": {
      "^.+\\.scss$": "<rootDir>/scripts/stubs/styleStub.js",
      "^.+\\.(svg|png)$": "<rootDir>/scripts/stubs/fileStub.js",
      "react-transition-group/CSSTransition": "<rootDir>/scripts/stubs/cssTransitionStub.js",
      "@skyscanner/bpk-svgs/dist/svgs/^.+\\.svg$": "<rootDir>/scripts/stubs/fileStub.js",
      "^react($|/.+)": "<rootDir>/node_modules/react$1"
    },
    "setupFilesAfterEnv": [
      "<rootDir>/scripts/jest/setup.js"
    ],
    "testEnvironment": "jsdom",
    "testRegex": "packages/.*-test\\.[jt]sx?$",
    "transformIgnorePatterns": [
      "node_modules/(?!bpk|@skyscanner|d3-.*|internmap)"
    ],
    "verbose": true
  },
  "browserslist": [
    "Android >= 96",
    "Chrome >= 87",
    "Edge >= 96",
    "Firefox >= 95",
    "Opera >= 82",
    "Safari >= 12",
    "Samsung >= 16"
  ],
  "devDependencies": {
    "@babel/cli": "^7.25.6",
    "@babel/core": "^7.26.0",
    "@babel/plugin-proposal-class-properties": "^7.18.6",
    "@babel/plugin-proposal-object-rest-spread": "^7.20.2",
    "@babel/plugin-proposal-private-methods": "^7.17.12",
    "@babel/plugin-transform-runtime": "^7.25.4",
    "@babel/preset-env": "^7.26.0",
    "@babel/preset-react": "^7.25.7",
    "@babel/preset-typescript": "^7.26.0",
    "@babel/register": "^7.25.7",
    "@percy/cli": "^1.30.0",
    "@percy/storybook": "^6.0.1",
    "@skyscanner/bpk-foundations-web": "^18.1.0",
    "@skyscanner/bpk-svgs": "^20.0.0",
    "@skyscanner/eslint-config-skyscanner": "^18.2.0",
    "@skyscanner/stylelint-config-skyscanner": "^11.1.0",
    "@storybook/addon-a11y": "^7.6.17",
    "@storybook/addon-actions": "^7.6.17",
    "@storybook/addon-docs": "7.6.17",
    "@storybook/addon-interactions": "^7.6.19",
    "@storybook/addon-viewport": "^7.6.12",
    "@storybook/react": "^7.6.17",
    "@storybook/react-webpack5": "^7.6.8",
    "@storybook/test": "^7.6.19",
    "@storybook/testing-library": "^0.2.2",
    "@testing-library/jest-dom": "^6.5.0",
    "@testing-library/react": "^16.0.0",
    "@testing-library/user-event": "^14.5.2",
    "@types/jest": "^29.5.12",
    "@types/jest-axe": "^3.5.9",
    "@types/lodash.clamp": "^4.0.9",
    "@types/react": "^18.3.1",
    "@types/react-dom": "^18.3.0",
    "@types/react-transition-group": "^4.4.11",
    "@types/react-window": "^1.8.8",
    "@types/webpack-env": "^1.18.4",
    "autoprefixer": "^10.4.18",
    "babel-loader": "^9.2.1",
    "babel-plugin-inline-react-svg": "^2.0.1",
    "babel-plugin-module-resolver": "^5.0.0",
    "babel-plugin-react-docgen": "^4.2.1",
    "babel-plugin-require-context-hook": "^1.0.0",
    "core-js": "^3.38.1",
    "css-loader": "^6.10.0",
    "d3-scale": "^4.0.2",
    "danger": "^12.3.3",
    "danger-plugin-toolbox": "^3.1.2",
    "date-fns": "^3.6.0",
    "eslint_d": "^14.2.2",
    "glob": "^10.4.2",
    "gulp": "^5.0.0",
    "gulp-rename": "^2.0.0",
    "gulp-svgmin": "^4.1.0",
    "husky": "^9.1.3",
    "jest": "^29.7.0",
    "jest-axe": "^9.0.0",
    "jest-environment-jsdom": "^29.7.0",
    "lint-staged": "^15.2.2",
    "lodash": "^4.17.20",
    "mini-css-extract-plugin": "^2.9.0",
    "npm-run-all": "^4.1.5",
    "postcss-flexbugs-fixes": "^5.0.2",
    "postcss-loader": "^8.1.1",
    "prop-types": "^15.7.2",
    "raf": "^3.4.1",
    "react": "18.3.1",
    "react-dom": "18.3.1",
    "react-svg-loader": "^3.0.1",
    "sass-embedded": "^1.81.0",
    "sass-loader": "^14.2.1",
    "sass-migrator": "^2.2.0",
    "sassdoc": "^2.7.0",
    "storybook": "^7.6.17",
    "style-loader": "^4.0.0",
    "ts-migrate": "^0.1.35",
    "typescript": "^5.6.3",
    "webpack": "^5.95.0",
    "wrapper-webpack-plugin": "^2.2.2"
  }
}