huridocs/uwazi

View on GitHub
package.json

Summary

Maintainability
Test Coverage
{
  "name": "uwazi",
  "version": "1.190.0-rc4",
  "description": "Uwazi is a free, open-source solution for organising, analysing and publishing your documents.",
  "keywords": [
    "react"
  ],
  "homepage": "https://www.uwazi.io/",
  "bugs": {
    "url": "https://github.com/huridocs/uwazidocs/issues"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:huridocs/uwazidocs.git"
  },
  "license": "MIT",
  "author": "huridocs.org",
  "main": "server.js",
  "scripts": {
    "check-app-types": "tsc --noEmit --pretty",
    "check-cy-types": "tsc --noEmit --pretty --project cypress",
    "check-types": "yarn check-cy-types && yarn check-app-types",
    "watch-types": "tsc --noEmit --pretty --watch --preserveWatchOutput",
    "emit-types": "node --no-experimental-fetch scripts/emitSchemaTypes.js",
    "emitSocketEvent": "node --no-experimental-fetch ./scripts/run.js ./emitSocketEvent.js",
    "preproduction-build": "yarn run tailwind",
    "production-build": "./webpack/build.sh",
    "run-production": "NODE_ENV=production node --no-experimental-fetch server.js",
    "dev-server": "./node_modules/.bin/nodemon --no-experimental-fetch ./server.js --ignore 'app/dist/*' --watch 'app/api' --watch 'app/shared' --ext 'ts js tsx'",
    "webpack-server": "node --no-experimental-fetch ./webpack/webpack.server.js",
    "dev-worker": "node --no-experimental-fetch ./scripts/run.js ../app/worker.ts",
    "dev-queue": "node --no-experimental-fetch ./scripts/run.js ../app/queueWorker.ts",
    "new-files-healthcheck": "tsx ./scripts/scripts.v2/filesHealthCheck.ts",
    "generateAutomaticTranslationConfig": "node --no-experimental-fetch ./scripts/run.js ../scripts/scripts.v2/generateAutomaticTranslationConfig.ts",
    "check-translations": "node --no-experimental-fetch ./scripts/checkTranslations.mjs",
    "update-translations-db": "node --no-experimental-fetch scripts/run.js ../scripts/updateTranslationsDB.js",
    "update-translations-csv": "node --no-experimental-fetch ./scripts/updateTranslationsCSV.mjs",
    "describe-database": "node --no-experimental-fetch ./scripts/describeDatabase.mjs",
    "tailwind-watch": "yarn run tailwind --watch",
    "tailwind": " npx tailwindcss -i ./app/react/App/styles/main.css -o ./app/react/App/styles/globals.css",
    "hot": "export HOT=true; export BABEL_ENV=debug; yarn run watch-types & yarn tailwind-watch & yarn run dev-server & yarn run webpack-server",
    "hot-e2e": "DATABASE_NAME=uwazi_e2e INDEX_NAME=uwazi_e2e EXTERNAL_SERVICES=true yarn hot",
    "run-e2e": "DATABASE_NAME=uwazi_e2e INDEX_NAME=uwazi_e2e EXTERNAL_SERVICES=true yarn run-production",
    "hot-inspect": "export HOT=true; export BABEL_ENV=debug; yarn run watch-types & yarn dev-server --inspect & yarn run webpack-server",
    "hot-debug": "export HOT=true; export BABEL_ENV=debug; node --no-experimental-fetch --inspect-brk=9229 server.js & yarn run webpack-server",
    "reindex": "node scripts/run.js ../database/reindex_elastic.js",
    "import-csv": "node --no-experimental-fetch scripts/run.js ../database/import_csv.js",
    "blank-state": "node --no-experimental-fetch scripts/bash.js ./database/blank_state.sh",
    "admin-user": "node --no-experimental-fetch scripts/bash.js ./database/admin_user.sh",
    "ix-config": "node --no-experimental-fetch scripts/bash.js ./database/ix_config.sh",
    "dump-db": "node --no-experimental-fetch scripts/bash.js ./database/dump_db.sh",
    "restore-db": "node --no-experimental-fetch scripts/bash.js ./database/restore_db.sh",
    "fixtures": "node --no-experimental-fetch scripts/bash.js ./uwazi-fixtures/restore.sh",
    "add-migration": "./node_modules/.bin/plop --plopfile ./app/api/migrations/plopfile.js migration",
    "migrate": "node --no-experimental-fetch scripts/run.js ../scripts/migrate.js",
    "migrate-and-reindex": "node scripts/run.js ../scripts/migrate_and_reindex.js",
    "test-debug": "node --no-experimental-fetch --inspect ./node_modules/.bin/jest --watch --no-cache -i",
    "test": "node --no-experimental-fetch ./node_modules/.bin/jest -w=50%",
    "e2e-puppeteer-all": "echo 'MAKE SURE UWAZI IS RUNNING WITH uwazi_e2e DATABASE AND INDEX';DATABASE_NAME=uwazi_e2e INDEX_NAME=uwazi_e2e jest --projects e2e/jest.e2e.config.ts -i --verbose true",
    "e2e-puppeteer": "yarn e2e-puppeteer-all --roots '<rootDir>/suite1' '<rootDir>/suite2'",
    "e2e-puppeteer-regression": "yarn e2e-puppeteer-all --roots '<rootDir>/regression_suites'",
    "e2e-fixtures": "DATABASE_NAME=uwazi_e2e INDEX_NAME=uwazi_e2e ./uwazi-fixtures/restore.sh",
    "eslint": "./node_modules/.bin/eslint e2e app cypress --quiet --ext js,ts,tsx",
    "eslint-fulldiff": "git diff-index --name-only origin/development | grep ^app/ | grep -v snap | xargs ls -d 2>/dev/null | xargs ./node_modules/.bin/eslint ",
    "prettier": "./node_modules/.bin/prettier --write 'app/**/*.{js,ts,tsx}'",
    "prestorybook": "yarn tailwind",
    "storybook": "storybook dev -p 6006",
    "build-storybook": "storybook build",
    "cypress": "cypress open",
    "cy-components": "cypress run --component --config video=false --browser chrome",
    "cy-e2e": "cypress run --browser chrome"
  },
  "jest": {
    "projects": [
      "app/jest.client.config.js",
      "app/jest.server.config.json"
    ]
  },
  "resolutions": {
    "trim": "1.0.1",
    "node-fetch": "2.6.7",
    "ws": "8.18.0",
    "path-to-regexp": "0.1.11",
    "body-parser": "^1.20.3"
  },
  "dependencies": {
    "@aws-sdk/client-s3": "3.679.0",
    "@dnd-kit/core": "^6.1.0",
    "@dnd-kit/modifiers": "^7.0.0",
    "@dnd-kit/sortable": "^8.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@elastic/elasticsearch": "7.17",
    "@fast-csv/format": "^5.0.2",
    "@fortawesome/fontawesome-svg-core": "^1.2.30",
    "@fortawesome/free-regular-svg-icons": "^6.6.0",
    "@fortawesome/free-solid-svg-icons": "^5.15.4",
    "@fortawesome/react-fontawesome": "^0.2.2",
    "@googlemaps/js-api-loader": "^1.16.8",
    "@headlessui/react": "1.7.17",
    "@heroicons/react": "^2.1.5",
    "@hookform/error-message": "^2.0.1",
    "@huridocs/react-text-selection-handler": "^0.3.0",
    "@loadable/component": "^5.16.4",
    "@popperjs/core": "^2.11.8",
    "@remix-run/router": "1.20.0",
    "@sentry/node": "^7.114.0",
    "@sentry/react": "7.114.0",
    "@sentry/tracing": "^7.114.0",
    "@smithy/node-http-handler": "^3.1.2",
    "@socket.io/redis-adapter": "7.2.0",
    "@socket.io/redis-emitter": "5.1.0",
    "@supercharge/promise-pool": "^3.2.0",
    "@tanstack/react-table": "8.20.5",
    "@types/franc": "^5.0.1",
    "@types/lodash": "^4.14.170",
    "@types/mime-types": "^2.1.1",
    "@types/react-dropzone": "^4.2.2",
    "@types/redis": "^2.8.31",
    "@types/redlock": "^4.0.2",
    "@types/url-join": "^4.0.1",
    "ajv": "^8.17.1",
    "ajv-formats": "^3.0.1",
    "ajv-keywords": "^5.1.0",
    "any-date-parser": "^1.5.4",
    "bcryptjs": "^2.4.3",
    "big.js": "^6.2.2",
    "body-parser": "^1.20.3",
    "bootstrap": "3.4.1",
    "child-process-promise": "^2.2.1",
    "clean-insights-sdk": "^2.6.2",
    "compression": "^1.7.4",
    "connect-mongo": "5.1.0",
    "cookie": "0.7.0",
    "cookie-parser": "1.4.7",
    "cors": "^2.8.5",
    "crypto-js": "^4.2.0",
    "csvtojson": "^2.0.10",
    "date-fns": "^4.1.0",
    "diacritics": "^1.3.0",
    "dotenv": "^16.4.5",
    "express": "^4.21.1",
    "express-http-proxy": "^2.1.1",
    "express-prom-bundle": "^7.0.0",
    "express-session": "^1.18.1",
    "filesize": "10.1.6",
    "flag-icons": "^7.2.3",
    "flowbite": "^2.3.0",
    "flowbite-datepicker": "^1.2.7",
    "flowbite-react": "^0.10.1",
    "formatcoords": "^1.1.3",
    "franc": "5.0.0",
    "helmet": "^8.0.0",
    "html-to-react": "^1.7.0",
    "htmlparser2": "^9.1.0",
    "immutability-helper": "^3.1.1",
    "immutable": "^3.7.6",
    "is-reachable": "^5.2.1",
    "isomorphic-fetch": "3.0.0",
    "jotai": "2.10.1",
    "json-schema": "^0.4.0",
    "json-schema-to-typescript": "^15.0.2",
    "jvent": "1.0.2",
    "leaflet": "^1.9.4",
    "leaflet.gridlayer.googlemutant": "^0.14.1",
    "leaflet.markercluster": "^1.5.3",
    "lodash": "^4.17.21",
    "luxon": "3.5.0",
    "mark.js": "^8.11.1",
    "markdown-it": "14.1.0",
    "markdown-it-container": "4.0.0",
    "mime-types": "^2.1.35",
    "moment": "^2.30.1",
    "moment-timezone": "0.5.46",
    "monaco-editor": "^0.52.0",
    "monaco-editor-webpack-plugin": "^7.1.0",
    "mongodb": "6.3.0",
    "mongoose": "8.1.2",
    "multer": "^1.4.5-lts.1",
    "node-uuid": "^1.4.7",
    "nodemailer": "6.9.16",
    "nprogress": "^0.2.0",
    "otplib": "^11.0.1",
    "passport": "^0.7.0",
    "passport-local": "^1.0.0",
    "pdfjs-dist": "4.7.76",
    "postcss-loader": "^8.1.1",
    "postcss-prefix-selector": "^2.1.0",
    "prom-client": "^15.1.3",
    "prop-types": "^15.8.1",
    "qrcode.react": "^4.1.0",
    "qs": "^6.13.0",
    "react": "^18.3.1",
    "react-color": "^2.19.3",
    "react-datepicker": "7.4.0",
    "react-device-detect": "^2.2.3",
    "react-dnd": "^16.0.1",
    "react-dnd-html5-backend": "^16.0.1",
    "react-dnd-html5-backend-old": "yarn:react-dnd-html5-backend@^15.1.2",
    "react-dnd-old": "yarn:react-dnd@2.6.0",
    "react-dom": "^18.3.1",
    "react-dropzone": "14.2.10",
    "react-helmet": "^6.1.0",
    "react-hook-form": "^7.53.1",
    "react-image-gallery": "^1.3.0",
    "react-modal": "^3.16.1",
    "react-player": "^2.13.0",
    "react-popper": "^2.3.0",
    "react-redux": "5.0.6",
    "react-redux-form": "^1.16.14",
    "react-render-if-visible": "^2.1.1",
    "react-router-dom": "6.27.0",
    "react-table": "^7.8.0",
    "react-table-sticky": "^1.1.3",
    "react-tabs": "^6.0.2",
    "react-tabs-redux": "4.0.0",
    "react-widgets": "v4.6.1",
    "recharts": "2.12.7",
    "redis": "^3.1.2",
    "redlock": "^4.2.0",
    "redux": "^3.7.2",
    "redux-devtools-extension": "^2.13.9",
    "redux-thunk": "^2.0.1",
    "reselect": "^4.1.8",
    "rison-node": "^2.1.1",
    "rsmq": "^0.12.4",
    "rtlcss": "^4.3.0",
    "sanitize-filename": "^1.6.3",
    "sanitize-html": "^2.13.1",
    "serialize-javascript": "^6.0.1",
    "sift": "^17.1.3",
    "socket.io": "4.8.1",
    "socket.io-client": "4.8.1",
    "socket.io-parser": "4.2.4",
    "stopword": "3.1.1",
    "superagent": "10.1.1",
    "svg-captcha": "^1.4.0",
    "tiny-cookie": "^2.5.1",
    "typescript": "5.6.3",
    "underscore": "^1.13.7",
    "url-join": "^4.0.1",
    "world-countries": "5.0.0",
    "xml-js": "^1.6.11",
    "yargs": "^17.7.2",
    "yauzl": "^3.1.3",
    "yazl": "^3.1.0"
  },
  "devDependencies": {
    "@4tw/cypress-drag-drop": "^2.2.5",
    "@babel/cli": "7.25.9",
    "@babel/core": "7.26.0",
    "@babel/eslint-parser": "7.25.9",
    "@babel/helper-call-delegate": "^7.12.13",
    "@babel/helper-get-function-arity": "^7.16.7",
    "@babel/helper-string-parser": "^7.25.9",
    "@babel/parser": "^7.25.7",
    "@babel/plugin-proposal-class-properties": "^7.18.6",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
    "@babel/plugin-proposal-object-rest-spread": "^7.20.7",
    "@babel/plugin-proposal-optional-chaining": "^7.21.0",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-transform-modules-commonjs": "^7.25.9",
    "@babel/plugin-transform-react-constant-elements": "^7.25.9",
    "@babel/plugin-transform-react-inline-elements": "^7.25.9",
    "@babel/preset-env": "^7.26.0",
    "@babel/preset-react": "^7.25.9",
    "@babel/preset-typescript": "^7.26.0",
    "@babel/register": "^7.25.9",
    "@babel/traverse": "^7.25.7",
    "@cfaester/enzyme-adapter-react-18": "^0.8.0",
    "@chromatic-com/storybook": "^3.2.0",
    "@cypress/react18": "^2.0.1",
    "@storybook/addon-actions": "^8.3.6",
    "@storybook/addon-essentials": "^8.3.6",
    "@storybook/addon-interactions": "^8.3.6",
    "@storybook/addon-links": "^8.3.6",
    "@storybook/addon-viewport": "^8.1.11",
    "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
    "@storybook/react": "^8.3.6",
    "@storybook/react-webpack5": "^8.3.6",
    "@storybook/test": "^8.1.11",
    "@testing-library/jest-dom": "6.6.2",
    "@testing-library/react": "^16.0.1",
    "@testing-library/user-event": "^14.5.2",
    "@types/body-parser": "^1.19.5",
    "@types/cheerio": "^0.22.30",
    "@types/child-process-promise": "^2.2.1",
    "@types/cookie": "^0.6.0",
    "@types/enzyme": "3.10.12",
    "@types/enzyme-adapter-react-16": "1.0.2",
    "@types/expect-puppeteer": "4.4.7",
    "@types/express": "^4.17.21",
    "@types/express-session": "^1.18.0",
    "@types/google.maps": "^3.48.2",
    "@types/immutable": "^3.8.7",
    "@types/jest": "29.5.12",
    "@types/jest-environment-puppeteer": "5.0.2",
    "@types/jest-image-snapshot": "^6.4.0",
    "@types/leaflet": "^1.9.12",
    "@types/leaflet.gridlayer.googlemutant": "^0.4.6",
    "@types/leaflet.markercluster": "^1.4.6",
    "@types/loadable__component": "^5.13.9",
    "@types/luxon": "^3.4.2",
    "@types/multer": "^1.4.7",
    "@types/node": "^16.18.3",
    "@types/node-uuid": "^0.0.28",
    "@types/nodemailer": "^6.4.16",
    "@types/prop-types": "^15.7.3",
    "@types/qs": "^6.9.15",
    "@types/react": "^18.3.1",
    "@types/react-dnd": "^3.0.2",
    "@types/react-dom": "^18.0.9",
    "@types/react-helmet": "^6.1.5",
    "@types/react-modal": "^3.13.1",
    "@types/react-redux": "^7.1.24",
    "@types/react-table": "^7.7.14",
    "@types/react-tabs-redux": "^4.0.0",
    "@types/recharts": "^1.8.24",
    "@types/redux-mock-store": "^1.0.6",
    "@types/socket.io": "^3.0.2",
    "@types/socket.io-client": "^1.4.33",
    "@types/superagent": "^8.1.6",
    "@types/supertest": "6.0.2",
    "@types/webpack-env": "^1.18.1",
    "@types/yargs-parser": "^20.2.1",
    "@types/yauzl": "^2.9.2",
    "@typescript-eslint/eslint-plugin": "5.62.0",
    "@typescript-eslint/parser": "5.62.0",
    "assets-webpack-plugin": "7.1.1",
    "babel-jest": "^29.7.0",
    "babel-loader": "9.2.1",
    "babel-plugin-module-resolver": "5.0.2",
    "babel-plugin-transform-react-remove-prop-types": "0.4.24",
    "canvas": "^2.11.2",
    "clean-webpack-plugin": "4.0.0",
    "copy-webpack-plugin": "12.0.2",
    "css-loader": "^7.1.2",
    "css-minimizer-webpack-plugin": "^7.0.0",
    "cypress": "13.15.1",
    "cypress-axe": "^1.5.0",
    "cypress-plugin-snapshots": "^1.4.4",
    "cypress-real-events": "^1.13.0",
    "enzyme": "3.11.0",
    "enzyme-to-json": "^3.6.2",
    "eslint": "v8.57.0",
    "eslint-config-airbnb": "19.0.4",
    "eslint-plugin-cypress": "^4.0.0",
    "eslint-plugin-import": "v2.31.0",
    "eslint-plugin-jasmine": "4.2.2",
    "eslint-plugin-jest": "v28.8.3",
    "eslint-plugin-jsx-a11y": "6.10.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "5.2.1",
    "eslint-plugin-react": "v7.37.2",
    "eslint-plugin-react-hooks": "^5.0.0",
    "eslint-plugin-storybook": "^0.10.1",
    "fetch-mock": "^9.11.0",
    "flowbite-typography": "^1.0.3",
    "html-webpack-plugin": "5.6.3",
    "identity-obj-proxy": "^3.0.0",
    "jest": "29.7.0",
    "jest-environment-jsdom": "29.7.0",
    "jest-extended": "4.0.2",
    "jest-image-snapshot": "^6.4.0",
    "jest-jasmine2": "^29.7.0",
    "jest-puppeteer": "6.1.0",
    "mini-css-extract-plugin": "^2.9.1",
    "mutationobserver-shim": "^0.3.7",
    "node-polyfill-webpack-plugin": "^4.0.0",
    "nodemon": "^3.1.7",
    "plop": "^4.0.1",
    "postcss": "8.4.47",
    "prettier": "3.3.3",
    "puppeteer": "^13.5.2",
    "react-dnd-test-backend": "16.0.1",
    "redux-mock-store": "^1.5.5",
    "rtlcss-webpack-plugin": "4.0.7",
    "sass": "1.80.4",
    "sass-loader": "16.0.2",
    "storybook": "^8.1.11",
    "stream-mock": "^2.0.5",
    "supertest": "7.0.0",
    "svg-inline-loader": "^0.8.2",
    "tailwindcss": "3.4.14",
    "terser-webpack-plugin": "^5.3.10",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "tsx": "^4.19.2",
    "wait-for-expect": "^3.0.2",
    "webpack": "^5.95.0",
    "webpack-bundle-analyzer": "^4.10.2",
    "webpack-cli": "5.1.4",
    "webpack-dev-middleware": "7.4.2",
    "webpack-hot-middleware": "^2.26.1",
    "worker-loader": "^3.0.8"
  },
  "engines": {
    "node": ">=20.9.0"
  }
}