{
    "name": "frontend-content",
    "version": "1.0.0",
    "private": true,
    "author": "The Orchard",
    "license": "UNLICENSED",
    "main": "index.js",
    "scripts": {
        "prepare": "husky install",
        "clean": "rm -rf node_modules .cache build yarn-error.log npm-debug.log coverage report.* locale/index.*",
        "build": "frontend build",
        "build:workstation:bulkDigitalAudio": "rm -rf ./build && CONTENT_MODULE=bulkDigitalAudio yarn build",
        "watch:workstation:bulkDigitalAudio:local": "node scripts/dev-server.js --local",
        "watch:workstation:bulkDigitalAudio:qa": "node scripts/dev-server.js --app https://workstation.qaorch.com --redirect qa-ows-grass.theorchard.io=grassproxy.pullrequests.qaorch.com",
        "start": "frontend start",
        "lint:css": "stylelint '(src|modules)/**/*.scss'",
        "lint:css:contentReview": "stylelint 'modules/contentReview/**/*.scss'",
        "lint:css:neighbouringRights": "stylelint 'modules/neighbouringRights/**/*.scss'",
        "lint:css:orchardSoundRecordings": "stylelint 'modules/orchardSoundRecordings/**/*.scss'",
        "lint:css:publishing": "stylelint 'modules/publishing/**/*.scss'",
        "lint:css:ownershipRights": "stylelint 'modules/ownershipRights/**/*.scss'",
        "lint:css:bundles": "stylelint 'modules/bundles/**/*.scss'",
        "lint:css:digitalProducts": "stylelint 'modules/digitalProducts/**/*.scss'",
        "lint:css:bulkDigitalAudio": "stylelint 'modules/bulkDigitalAudio/**/*.scss'",
        "lint:css:bulkDigitalAudioSidecar": "stylelint 'modules/bulkDigitalAudioSidecar/**/*.scss'",
        "lint:css:tools": "stylelint 'modules/tools/**/*.scss'",
        "lint:js": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/.eslintcache src modules",
        "lint:js:contentReview": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/contentReview.eslintcache modules/contentReview",
        "lint:js:neighbouringRights": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/neighbouringRights.eslintcache modules/neighbouringRights",
        "lint:js:orchardSoundRecordings": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/orchardSoundRecordings.eslintcache modules/orchardSoundRecordings",
        "lint:js:publishing": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/publishing.eslintcache modules/publishing",
        "lint:js:ownershipRights": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/ownershipRights.eslintcache modules/ownershipRights",
        "lint:js:bundles": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/bundles.eslintcache modules/bundles",
        "lint:js:digitalProducts": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/digitalProducts.eslintcache modules/digitalProducts",
        "lint:js:bulkDigitalAudio": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/bulkDigitalAudio.eslintcache modules/bulkDigitalAudio",
        "lint:js:bulkDigitalAudioSidecar": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/bulkDigitalAudioSidecar.eslintcache modules/bulkDigitalAudioSidecar",
        "lint:js:tools": "eslint --ext .js,.ts,.tsx,.jsx --cache --cache-location .cache/tools.eslintcache modules/tools",
        "lint": "yarn lint:css && yarn lint:js",
        "test": "yarn format:check && yarn lint && yarn test:types && yarn test:unit",
        "test:unit": "jest",
        "test:unit:contentReview": "jest --selectProjects contentReview",
        "test:unit:neighbouringRights": "jest --selectProjects neighbouringRights",
        "test:unit:orchardSoundRecordings": "jest --selectProjects orchardSoundRecordings",
        "test:unit:publishing": "jest --selectProjects publishing",
        "test:unit:ownershipRights": "jest --selectProjects ownershipRights",
        "test:unit:bundles": "jest --selectProjects bundles",
        "test:unit:digitalProducts": "jest --selectProjects digitalProducts",
        "test:unit:bulkDigitalAudio": "jest --selectProjects bulkDigitalAudio",
        "test:unit:bulkDigitalAudioSidecar": "jest --selectProjects bulkDigitalAudioSidecar",
        "test:unit:tools": "jest --verbose --selectProjects tools",
        "test:types": "yarn test:types:contentReview && yarn test:types:neighbouringRights && yarn test:types:orchardSoundRecordings && yarn test:types:ownershipRights && yarn test:types:digitalProducts && yarn test:types:bundles && yarn test:types:bulkDigitalAudio && yarn test:types:root",
        "test:types:root": "yarn tsc --project tsconfig.json --noEmit",
        "test:types:contentReview": "yarn tsc --project modules/contentReview/tsconfig.json --noEmit",
        "test:types:neighbouringRights": "yarn tsc --project modules/neighbouringRights/tsconfig.json --noEmit",
        "test:types:orchardSoundRecordings": "yarn tsc --project modules/orchardSoundRecordings/tsconfig.json --noEmit",
        "test:types:publishing": "yarn tsc --project modules/publishing/tsconfig.json --noEmit",
        "test:types:ownershipRights": "yarn tsc --project modules/ownershipRights/tsconfig.json --noEmit",
        "test:types:bundles": "yarn tsc --project modules/bundles/tsconfig.json --noEmit",
        "test:types:digitalProducts": "yarn tsc --project modules/digitalProducts/tsconfig.json --noEmit",
        "test:types:bulkDigitalAudio": "yarn tsc --project modules/bulkDigitalAudio/tsconfig.json --noEmit",
        "test:types:bulkDigitalAudioSidecar": "yarn tsc --project modules/bulkDigitalAudioSidecar/tsconfig.json --noEmit",
        "test:types:tools": "yarn tsc --project modules/tools/tsconfig.json --noEmit",
        "test:contentReview": "yarn lint:css:contentReview && yarn lint:js:contentReview && yarn test:unit:contentReview && yarn test:types:contentReview",
        "test:neighbouringRights": "yarn lint:css:neighbouringRights && yarn lint:js:neighbouringRights && yarn test:unit:neighbouringRights && yarn test:types:neighbouringRights",
        "test:orchardSoundRecordings": "yarn lint:css:orchardSoundRecordings && yarn lint:js:orchardSoundRecordings && yarn test:unit:orchardSoundRecordings && yarn test:types:orchardSoundRecordings",
        "test:publishing": "yarn lint:css:publishing && yarn lint:js:publishing && yarn test:unit:publishing && yarn test:types:publishing",
        "test:ownershipRights": "yarn lint:js:ownershipRights && yarn test:unit:ownershipRights && yarn test:types:ownershipRights",
        "test:digitalProducts": "yarn lint:js:digitalProducts && yarn test:unit:digitalProducts && yarn test:types:digitalProducts",
        "test:bundles": "yarn lint:js:bundles && yarn test:unit:bundles && yarn test:types:bundles",
        "test:bulkDigitalAudio": "yarn lint:js:bulkDigitalAudio && yarn test:unit:bulkDigitalAudio && yarn test:types:bulkDigitalAudio",
        "test:bulkDigitalAudioSidecar": "yarn lint:js:bulkDigitalAudioSidecar && yarn test:unit:bulkDigitalAudioSidecar && yarn test:types:bulkDigitalAudioSidecar",
        "test:tools": "yarn lint:css:tools && yarn lint:js:tools && yarn test:unit:tools && yarn test:types:tools",
        "generate:types": "yarn generate:types:contentReview && yarn generate:types:neighbouringRights && yarn generate:types:orchardSoundRecordings && yarn generate:types:publishing && yarn generate:types:ownershipRights && yarn generate:types:digitalProducts && yarn generate:types:bundles && yarn generate:types:digitalProducts && yarn generate:types:bulkDigitalAudio && yarn generate:types:bulkDigitalAudioSidecar",
        "generate:types:contentReview": "MODULE_NAME=contentReview yarn graphql-codegen",
        "generate:types:neighbouringRights": "MODULE_NAME=neighbouringRights yarn graphql-codegen",
        "generate:types:orchardSoundRecordings": "MODULE_NAME=orchardSoundRecordings yarn graphql-codegen",
        "generate:types:publishing": "MODULE_NAME=publishing yarn graphql-codegen",
        "generate:types:ownershipRights": "MODULE_NAME=ownershipRights yarn graphql-codegen",
        "generate:types:bundles": "MODULE_NAME=bundles yarn graphql-codegen",
        "generate:types:digitalProducts": "MODULE_NAME=digitalProducts yarn graphql-codegen",
        "generate:types:bulkDigitalAudio": "MODULE_NAME=bulkDigitalAudio yarn graphql-codegen",
        "generate:types:bulkDigitalAudioSidecar": "MODULE_NAME=bulkDigitalAudioSidecar yarn graphql-codegen",
        "generate:types:tools": "MODULE_NAME=tools yarn graphql-codegen",
        "generate:types:root": "ROOT_DIR=true yarn graphql-codegen",
        "format": "prettier --write .",
        "format:check": "prettier --check ."
    },
    "browserslist": {
        "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
        ],
        "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version"
        ]
    },
    "jest": {
        "preset": "@theorchard/jest-config",
        "projects": [
            "src",
            "modules/*"
        ]
    },
    "prettier": "@theorchard/prettier-config",
    "lint-staged": {
        "*.{js,ts,tsx,css,scss,json,md}": [
            "prettier --write"
        ]
    },
    "dependencies": {
        "@apollo/client": "^3.9.9",
        "@aws-sdk/client-s3": "^3.1054.0",
        "@dnd-kit/core": "^6.1.0",
        "@dnd-kit/sortable": "^8.0.0",
        "@dnd-kit/utilities": "^3.2.2",
        "@theorchard/suite-components": "^13.6.0",
        "@theorchard/suite-frontend": "^9.6.0",
        "@theorchard/suite-i18n": "^2.13.3",
        "@theorchard/suite-icons": "^7.22.1",
        "@theorchard/suite-participant-components": "^2.8.1",
        "@types/string-similarity": "^4.0.2",
        "classnames": "^2.5.1",
        "dayjs": "^1.11.10",
        "decimal.js": "^10.4.3",
        "file-saver": "^2.0.5",
        "fuse.js": "^7.0.0",
        "graphql": "^16.13.1",
        "hls.js": "^1.5.7",
        "lodash": "^4.18.0",
        "moment": "^2.22",
        "p-queue": "^8.0.1",
        "p-retry": "^4.6.2",
        "papaparse": "^5.4.1",
        "react": "^18.3.1",
        "react-dom": "^18.3.1",
        "react-hook-form": "^7.21.0",
        "react-router-dom": "^5.3.3",
        "string-similarity": "^4.0.4",
        "usehooks-ts": "^3.1.1"
    },
    "devDependencies": {
        "@graphql-codegen/cli": "^7.1.3",
        "@graphql-codegen/near-operation-file-preset": "^5.0.0",
        "@graphql-codegen/typescript": "^5.0.9",
        "@graphql-codegen/typescript-operations": "^5.0.9",
        "@graphql-tools/jest-transform": "^2.0.1",
        "@testing-library/dom": "^10.4.1",
        "@testing-library/jest-dom": "^5.11.5",
        "@testing-library/react": "^16.3.2",
        "@testing-library/react-hooks": "^8.0.1",
        "@testing-library/user-event": "^12.6.0",
        "@theorchard/eslint-config-react-ts-prettier": "2.3.1",
        "@theorchard/frontend-cli": "^4.3.0",
        "@theorchard/frontend-cli-webpack": "^2.4.3",
        "@theorchard/jest-config": "3.0.0",
        "@theorchard/prettier-config": "1.0.0",
        "@theorchard/stylelint-config-prettier": "^1.1.3",
        "@theorchard/suite-testing": "^3.1.1",
        "@types/file-saver": "^2.0.5",
        "@types/jest": "^29.5.12",
        "@types/lodash": "^4.17.0",
        "@types/papaparse": "^5.3.14",
        "@types/react": "^18.3.18",
        "@types/react-dom": "18.3.5",
        "@types/react-router-dom": "^5.3.3",
        "chokidar": "^3.5.0",
        "dotenv": "^16.3.1",
        "graphql-codegen-typescript-operation-types": "^2.0.2",
        "http-proxy": "^1.18.0",
        "husky": "^9.0.11",
        "jest": "^29.7.0",
        "jest-environment-jsdom": "^29.7.0",
        "lint-staged": "^15.2.2",
        "prettier": "^2.8.2",
        "react-test-renderer": "^18",
        "stylelint": "^14.6.1",
        "ts-jest": "^29.1.2",
        "typescript": "5.4.2",
        "ws": "^8.20.1"
    },
    "resolutions": {
        "@babel/core": "7.29.7",
        "@theorchard/**/mime": "1.6.0",
        "@types/mime": "3.0.4",
        "path-to-regexp": "1.9.0",
        "http-proxy-middleware": "2.0.9",
        "cross-spawn": "7.0.5",
        "node-forge": "^1.4.0",
        "qs": "6.15.2",
        "form-data": "4.0.6",
        "flatted": "^3.4.2",
        "launch-editor": "2.14.1",
        "micromatch": "4.0.8",
        "@sentry/browser": "7.119.1",
        "nanoid": "3.3.8",
        "js-yaml": "4.2.0",
        "lodash": "4.18.1",
        "lodash-es": "4.18.1",
        "cookie": "0.7.0",
        "brace-expansion": "5.0.6",
        "on-headers": "1.1.0",
        "shell-quote": "1.8.4",
        "tmp": "0.2.7",
        "uuid": "14.0.0",
        "webpack": "5.104.1",
        "webpack-dev-server": "5.2.5",
        "@types/react": "18.3.18",
        "@tootallnate/once": "^3.0.1",
        "csstype": "3.2.3",
        "serialize-javascript": "7.0.5",
        "svgo": "^4.0.1",
        "immutable": "^4.3.8",
        "picomatch": "^4.0.4",
        "yaml": "2.8.3",
        "follow-redirects": "^1.16.0",
        "js-cookie": "3.0.8",
        "ws": "8.21.0"
    },
    "packageManager": "yarn@1.22.19+sha1.4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447",
    "engines": {
        "node": ">=24"
    }
}
