{ "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" } }