{
  "name": "@thepalaceproject/circulation-admin",
  "description": "Admin Interface for The Palace Project Circulation Manager",
  "repository": {
    "type": "git",
    "url": "git://github.com/ThePalaceProject/circulation-admin.git"
  },
  "main": "dist/circulation-admin.js",
  "author": "The Palace Project",
  "license": "Apache-2.0",
  "engines": {
    "node": ">=20.0.0",
    "npm": ">=10.0.0"
  },
  "scripts": {
    "prepublish": "npm run prod",
    "lint": "tslint -c tslint.json src/*.ts src/*.tsx src/**/*.ts src/**/*.tsx src/**/**/*.ts src/**/**/*.tsx && sass-lint -c .sass-lint.yml -v -q",
    "test-js": "npm run lint && tsc && cp -r src/stylesheets lib && cp -r src/images lib && mocha --require lib/testHelper.js lib/__tests__/*.js lib/**/__tests__/*.js lib/**/**/__tests__/*.js",
    "test-js-file": "npm run lint && tsc && cp -r src/stylesheets lib && cp -r src/images lib && mocha --require lib/testHelper.js",
    "test-js-list": "mocha --require lib/testHelper.js lib/__tests__/*.js lib/**/__tests__/*.js lib/**/**/__tests__/*.js --reporter ./testReporter.js",
    "test-ts": "npm run lint && mocha -r ts-node/register --require src/testHelper.ts src/__tests__/*.ts* src/**/__tests__/*.ts* src/**/**/__tests__/*.ts*",
    "test-file-ts": "npm run lint && mocha -r ts-node/register --require src/testHelper.ts",
    "test-file-ts-nolint": "mocha -r ts-node/register --require src/testHelper.ts",
    "test": "npm run test-ts && npm run test-jest",
    "test-file": "npm run test-file-ts",
    "test-browser": "npm run test-chrome && npm run test-firefox",
    "test-chrome": "node_modules/.bin/selenium-standalone install && nightwatch -e chrome",
    "test-firefox": "node_modules/.bin/selenium-standalone install && nightwatch -e firefox",
    "test-jest": "jest --verbose --roots tests/jest",
    "test-jest-file": "jest --verbose",
    "dev": "webpack --watch --progress --config webpack.dev.config",
    "dev-server": "dotenv -c -- webpack serve --progress --hot --config webpack.dev-server.config",
    "dev-test-axe": "TEST_AXE=true npm run dev",
    "prod": "webpack --progress --config webpack.prod.config",
    "build-docs": "typedoc --tsconfig tsconfig.json src"
  },
  "dependencies": {
    "@nypl/dgx-svg-icons": "0.3.4",
    "@reduxjs/toolkit": "^2.2.5",
    "@tanstack/react-query": "^4.36.1",
    "@thepalaceproject/web-opds-client": "^1.1.0",
    "bootstrap": "^3.3.6",
    "classnames": "^2.3.1",
    "draft-convert": "^2.1.5",
    "draft-js": "0.11.7",
    "font-awesome": "^4.6.3",
    "immer": "^9.0.15",
    "isomorphic-fetch": "^3.0.0",
    "library-simplified-reusable-components": "1.3.18",
    "numeral": "^2.0.6",
    "opds-feed-parser": "0.0.17",
    "prop-types": "^15.7.2",
    "qs": "^6.14.2",
    "react": "^16.8.6",
    "react-beautiful-dnd": "^2.3.1",
    "react-bootstrap": "^0.32.4",
    "react-color": "^2.14.1",
    "react-dnd": "^14.0.5",
    "react-dnd-html5-backend": "^14.0.5",
    "react-dom": "^16.8.6",
    "react-redux": "^7.2.9",
    "react-router": "^3.2.0",
    "recharts": "^2.12.7",
    "redux": "^4.2.1",
    "redux-thunk": "^2.4.2",
    "request": "^2.85.0",
    "stream-browserify": "^3.0.0",
    "timers-browserify": "^2.0.12",
    "url": "^0.11.0"
  },
  "devDependencies": {
    "@tanstack/react-query-devtools": "^4.36.1",
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^12.1.5",
    "@testing-library/react-hooks": "^8.0.1",
    "@testing-library/user-event": "^14.4.3",
    "@types/jest": "^29.2.6",
    "@types/mocha": "^10.0.1",
    "@types/node": "^20.17.19",
    "@types/numeral": "^2.0.5",
    "@types/prop-types": "^15.7.3",
    "@types/react": "^16.14.6",
    "@types/react-dom": "^16.9.8",
    "@types/react-redux": "^7.1.33",
    "@types/react-router": "^3.0.28",
    "@types/recharts": "^1.8.28",
    "@types/redux-mock-store": "^1.0.3",
    "@typescript-eslint/eslint-plugin": "^5.46.0",
    "@typescript-eslint/parser": "^5.46.0",
    "chai": "4.2.0",
    "clean-webpack-plugin": "^2.0.1",
    "colors-cli": "^1.0.27",
    "copy-webpack-plugin": "13.0.1",
    "css-loader": "^6.7.2",
    "dotenv-cli": "^11.0.0",
    "enzyme": "^3.11.0",
    "enzyme-adapter-react-16": "^1.15.6",
    "eslint": "^7.0.0",
    "eslint-config-prettier": "^6.11.0",
    "eslint-plugin-jsx-a11y": "^6.2.3",
    "eslint-plugin-prettier": "^3.1.3",
    "eslint-plugin-react": "^7.19.0",
    "eslint-plugin-react-hooks": "^4.0.0",
    "fetch-mock": "^10.0.7",
    "fetch-mock-jest": "^1.5.1",
    "fetch-ponyfill": "^7.1.0",
    "file-loader": "^6.2.0",
    "follow-redirects": "^1.15.6",
    "husky": "^4.3.0",
    "jest": "^29.3.1",
    "jest-environment-jsdom": "^29.3.1",
    "jest-fixed-jsdom": "^0.0.9",
    "jsdom": "^20.0.3",
    "json-loader": "^0.5.4",
    "lint-staged": "^10.4.0",
    "mini-css-extract-plugin": "1.6.0",
    "mocha": "^10.2.0",
    "msw": "^2.7.3",
    "nightwatch": "^3.14.0",
    "prettier": "2.1.2",
    "react-axe": "^3.3.0",
    "react-test-renderer": "^16.14.0",
    "redux-mock-store": "^1.5.4",
    "resize-observer-polyfill": "^1.5.1",
    "sass": "^1.64.2",
    "sass-lint": "^1.13.1",
    "sass-loader": "^13.2.0",
    "selenium-standalone": "^6.16.0",
    "sinon": "7.5.0",
    "style-loader": "^0.13.1",
    "terser-webpack-plugin": "^5.3.6",
    "ts-jest": "^29.2.6",
    "ts-loader": "^9.5.2",
    "ts-node": "^10.9.2",
    "tslint": "^6.1.3",
    "tslint-react-a11y": "^1.1.0",
    "typedoc": "^0.27.9",
    "typescript": "^5.7.3",
    "url-loader": "^4.1.1",
    "webpack": "^5.105.2",
    "webpack-cli": "^5.0.1",
    "webpack-dev-server": "^5.2.2",
    "webpack-merge": "^5.8.0"
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.{js,jsx,ts,tsx}": "eslint --cache --fix",
    "*.{js,jsx,ts,tsx,css,md}": "prettier --write",
    "*.{js,css,md}": "prettier --write"
  },
  "version": "1.36.0"
}
