datalens-ui/package.json
2026-06-24 20:31:05 +05:00

295 lines
12 KiB
JSON

{
"name": "@datalens-ui/opensource",
"version": "0.0.0",
"files": [
"build",
"scripts"
],
"description": "DataLens Opensource",
"private": true,
"scripts": {
"preinstall": "npx only-allow pnpm",
"deps:global": "pnpm --version | grep -q 10.17.1 && echo 'pnpm@10.17.1 already installed' || npm i -g pnpm@10.17.1",
"i18n:prepare": "tsc src/i18n/prepare-keysets/index.ts --esModuleInterop --outDir dist/i18n && node dist/i18n/prepare-keysets/index.js",
"dev": "pnpm run i18n:prepare && SETUP_DEV_ENV_INSTALLATION=opensource node ./scripts/setup-dev-env.js && APP_BUILDER_ENTRY_FILTER=dl-main LOCAL_DEV_PORT=8080 app-builder dev",
"build": "pnpm run i18n:prepare && NODE_ENV=production NODE_OPTIONS=--max_old_space_size=4096 APP_BUILDER_CDN=false app-builder build",
"build:analyze": "pnpm run i18n:prepare && APP_BUILDER_ANALYZE_BUNDLE=statoscope UI_CORE_CDN=false APP_BUILDER_CDN=false NODE_ENV=production NODE_ENV=production NODE_OPTIONS=--max_old_space_size=4096 app-builder build",
"cdn": "pnpm run i18n:prepare && NODE_ENV=production NODE_OPTIONS=--max_old_space_size=4096 app-builder build",
"start": "NODE_ENV=production node dist/server",
"lint:js:main": "eslint --ignore-pattern 'src/ui/*' '**/*.{js,jsx,ts,tsx}' --quiet",
"lint:js:ui": "eslint -c src/ui/.ci-eslintrc 'src/ui/**/*.{js,jsx,ts,tsx}' --quiet",
"lint:styles": "stylelint 'src/ui/**/*.scss'",
"lint:prettier:src": "prettier --check 'src/**/*.{js,jsx,ts,tsx,json,css,scss}'",
"lint:prettier:tests": "prettier --check 'tests/**/*.{js,jsx,ts,tsx,json,css,scss}'",
"lint": "pnpm run lint:prettier:src && pnpm run lint:js:main && pnpm run lint:js:ui && pnpm run lint:styles && pnpm run lint:features",
"lint:fix": "pnpm run lint:js:main --fix && pnpm run lint:js:ui --fix && pnpm run lint:styles --fix",
"lint:features": "bash scripts/ci/lint-typecheck/features.sh",
"typecheck:i18n": "tsc -p src/i18n --noEmit",
"typecheck:server": "tsc -p src/server --noEmit",
"typecheck:ui": "tsc -p src/ui --noEmit",
"typecheck:tests": "cd tests && tsc --noEmit",
"typecheck": "pnpm run i18n:prepare && pnpm run typecheck:server && pnpm run typecheck:ui && pnpm run typecheck:tests",
"test:jest": "pnpm run i18n:prepare && jest",
"test:jestWatch": "pnpm run i18n:prepare && jest --watchAll",
"platform-tools": "platform-tools",
"test:install:chromium": "npx playwright install --with-deps chromium",
"test:e2e": "cd tests && npx playwright test --config=./playwright.config.ts --project=basic",
"test:e2e:opensource": "cd tests && npx playwright test --config=./playwright.config.ts --project=opensource",
"test:e2e:us-dump": "./scripts/e2e/us-dump.sh --clear-deleted --clear-e2e --clear-revisions",
"test:e2e:docker": "cd ./tests && docker compose -f ./docker-compose.e2e.yml down --volumes && docker compose -f ./docker-compose.e2e.yml up --quiet-pull --pull always --build --no-log-prefix --exit-code-from e2e e2e",
"test:e2e:docker:snapshots": "cd ./tests && docker compose -f ./docker-compose.e2e.yml down --volumes && E2E_TEST_NAME_PATTERN=${E2E_TEST_NAME_PATTERN:-@screenshot} E2E_RETRY_TIMES=0 E2E_MAX_WORKERS=1 E2E_UPDATE_SNAPSHOTS=1 docker compose -f ./docker-compose.e2e.yml up --quiet-pull --pull always --build --no-log-prefix e2e; docker compose -f ./docker-compose.e2e.yml cp e2e:/opt/app/tests/opensource-suites/__screenshots__ ./opensource-suites",
"test:e2e:docker:report": "cd ./tests && docker compose -f ./docker-compose.e2e.yml cp e2e:/opt/app/tests/artifacts ./artifacts",
"test:e2e:docker:up": "cd ./tests && docker compose -f ./docker-compose.e2e.yml up --quiet-pull --pull always --build -d ui",
"test:e2e:docker:up-no-build": "cd ./tests && docker compose -f ./docker-compose.e2e.yml up --no-build --quiet-pull --pull always -d ui",
"test:e2e:docker:up-no-ui": "cd ./tests && docker compose -f ./docker-compose.e2e.dev.yml up --pull always -d data-api control-api us auth",
"test:e2e:docker:up-no-ui-no-auth": "cd ./tests && AUTH_TYPE=NONE AUTH_ENABLED=false docker compose -f ./docker-compose.e2e.dev.yml up --pull always -d data-api control-api us",
"test:e2e:docker:up-nginx": "cd ./tests && docker compose -f ./docker-compose.e2e.nginx.yml up -d nginx",
"test:e2e:docker:down": "cd ./tests && docker compose -f ./docker-compose.e2e.yml down --volumes",
"test:e2e:docker:down-nginx": "cd ./tests && docker compose -f ./docker-compose.e2e.nginx.yml down --volumes",
"test:e2e:docker:logs": "cd ./tests && docker --log-level error compose -f ./docker-compose.e2e.yml logs --no-color",
"test:e2e:docker:logs-nginx": "cd ./tests && docker --log-level error compose -f ./docker-compose.e2e.nginx.yml logs --no-color",
"statoscope:validate-diff": "statoscope validate --input input.json --reference reference.json",
"statoscope:validate": "statoscope validate --input ./dist/public/build/stats.json"
},
"repository": {
"type": "git",
"url": "git@github.com:datalens-tech/datalens-ui.git"
},
"author": "DataLens Team <https://github.com/datalens-tech>",
"license": "Apache-2.0",
"dependencies": {
"@asteasolutions/zod-to-openapi": "^8.1.0",
"@braintree/sanitize-url": "^6.0.0",
"@datalens-tech/ui-sandbox-modules": "^0.36.0",
"@datalens-tech/xlsx": "^0.20.1",
"@diplodoc/cut-extension": "^0.7.4",
"@diplodoc/file-extension": "^0.2.1",
"@diplodoc/latex-extension": "^1.1.0",
"@diplodoc/mermaid-extension": "^1.4.0",
"@diplodoc/tabs-extension": "^3.7.5",
"@diplodoc/transform": "^4.64.1",
"@gravity-ui/app-layout": "^2.1.0",
"@gravity-ui/browserslist-config": "^4.3.0",
"@gravity-ui/chartkit": "^7.44.0",
"@gravity-ui/dashkit": "^10.0.0",
"@gravity-ui/date-utils": "^2.5.6",
"@gravity-ui/expresskit": "^3.0.2",
"@gravity-ui/gateway": "^4.10.4",
"@gravity-ui/i18n": "^1.7.0",
"@gravity-ui/nodekit": "^2.10.1",
"@node-rs/crc32": "^1.7.2",
"ajv": "^8.12.0",
"axios": "^1.13.2",
"axios-retry": "^3.9.1",
"chroma-js": "^3.1.2",
"clipboard-copy": "^3.2.0",
"dotenv": "^8.2.0",
"form-data": "^4.0.0",
"hashids": "^2.2.1",
"iconv-lite": "^0.4.24",
"ioredis": "^4.28.0",
"ismobilejs": "^1.1.1",
"js-sha1": "^0.6.0",
"js-yaml": "^4.1.0",
"json-fn": "^1.1.1",
"jsondiffpatch": "^0.6.0",
"jsonwebtoken": "^9.0.0",
"katex": "0.16.21",
"lodash": "^4.17.21",
"luxon": "^1.28.0",
"markdown-it-color": "^2.1.1",
"markdown-it-emoji": "^2.0.2",
"markdown-it-ins": "^4.0.0",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-mark": "^4.0.0",
"markdown-it-sub": "^2.0.0",
"mime": "^1.6.0",
"moment": "^2.29.4",
"moment-timezone": "^0.5.34",
"node-cache": "^5.1.2",
"object-sizeof": "^2.6.5",
"p-queue": "^6.6.2",
"qs": "^6.11.2",
"querystring": "^0.2.0",
"quickjs-emscripten": "^0.31.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-hotkeys-hook": "^4.5.0",
"react-window": "^1.8.9",
"request": "^2.88.2",
"request-ip": "^3.3.0",
"request-promise-native": "^1.0.9",
"set-cookie-parser": "^2.7.1",
"swagger-ui-express": "^5.0.1",
"uuid": "^9.0.1",
"workerpool": "^9.1.1",
"zod": "^4.1.12"
},
"devDependencies": {
"@floating-ui/react": "^0.27.13",
"@gravity-ui/app-builder": "^0.38.0",
"@gravity-ui/components": "^4.12.0",
"@gravity-ui/date-components": "^3.2.3",
"@gravity-ui/eslint-config": "^3.2.0",
"@gravity-ui/icons": "^2.16.0",
"@gravity-ui/markdown-editor": "^15.26.1",
"@gravity-ui/navigation": "^3.8.0",
"@gravity-ui/prettier-config": "^1.1.0",
"@gravity-ui/react-data-table": "^2.1.1",
"@gravity-ui/sdk": "^1.5.1",
"@gravity-ui/stylelint-config": "^4.0.1",
"@gravity-ui/tsconfig": "^1.0.0",
"@gravity-ui/ui-logger": "^1.1.0",
"@gravity-ui/uikit": "^7.18.0",
"@jest/types": "^29.6.3",
"@microsoft/fetch-event-source": "^2.0.1",
"@playwright/test": "^1.48.2",
"@reduxjs/toolkit": "^1.8.3",
"@statoscope/cli": "^5.28.2",
"@statoscope/stats-validator-plugin-webpack": "^5.28.2",
"@statoscope/webpack-ui": "^5.28.2",
"@stripe/react-stripe-js": "^1.8.1",
"@stripe/stripe-js": "^1.30.0",
"@tanstack/react-table": "^8.12.0",
"@tanstack/react-virtual": "^3.8.1",
"@testing-library/jest-dom": "^5.16.2",
"@testing-library/react": "^12.1.4",
"@types/chroma-js": "^3.1.2",
"@types/d3-array": "3.2.2",
"@types/d3-color": "^3.1.3",
"@types/d3-interpolate": "3.0.4",
"@types/d3-scale": "4.0.9",
"@types/d3-selection": "3.0.11",
"@types/d3-shape": "3.1.8",
"@types/dompurify": "^3.0.5",
"@types/express": "^4.17.21",
"@types/gtag.js": "0.0.10",
"@types/hashids": "^1.0.32",
"@types/history": "^4.7.11",
"@types/http-proxy": "^1.17.10",
"@types/ioredis": "^4.28.8",
"@types/jest": "^29.2.5",
"@types/js-yaml": "^4.0.5",
"@types/jsonwebtoken": "^9.0.1",
"@types/lodash": "^4.14.168",
"@types/luxon": "^1.26.2",
"@types/markdown-it": "^13.0.7",
"@types/markdown-it-emoji": "^2.0.2",
"@types/markdown-it-link-attributes": "^3.0.4",
"@types/mime": "1.3.5",
"@types/node": "^20.16.10",
"@types/qs": "6.9.11",
"@types/rc-slider": "^8.6.6",
"@types/react": "^17.0.40",
"@types/react-dom": "^17.0.13",
"@types/react-inspector": "^4.0.2",
"@types/react-redux": "^7.1.16",
"@types/react-router": "^5.1.11",
"@types/react-router-dom": "^5.1.7",
"@types/react-window": "^1.8.5",
"@types/recompose": "^0.30.7",
"@types/redux-logger": "^3.0.9",
"@types/request": "2.48.7",
"@types/request-ip": "^0.0.41",
"@types/request-promise-native": "^1.0.21",
"@types/set-cookie-parser": "^2.4.10",
"@types/swagger-ui-express": "^4.1.8",
"@types/testing-library__jest-dom": "^5.14.3",
"@types/uuid": "^9.0.8",
"@types/webpack-env": "^1.16.0",
"bem-cn-lite": "^4.0.0",
"blueimp-md5": "^2.19.0",
"classnames": "^2.5.1",
"cli-color": "2.0.1",
"colormap": "^2.3.2",
"copy-to-clipboard": "^3.3.3",
"core-js": "3.43.0",
"csstype": "^3.1.3",
"d3-array": "^3.2.4",
"d3-color": "^3.1.0",
"d3-interpolate": "^3.0.1",
"d3-scale": "^4.0.2",
"d3-selection": "^3.0.0",
"d3-shape": "^3.2.0",
"dompurify": "^3.2.4",
"eslint": "^8.56.0",
"highcharts": "^8.2.2",
"history": "^4.10.1",
"htmlparser2": "^9.1.0",
"http-proxy": "^1.18.1",
"husky": "^8.0.3",
"immutability-helper": "^3.1.1",
"jest": "^29.3.1",
"jest-circus": "^27.5.1",
"jest-environment-jsdom": "^29.3.1",
"jest-environment-node": "^29.3.1",
"jest-html-reporters": "^2.1.2",
"lint-staged": "^13.2.2",
"lowlight": "^3.1.0",
"ml-regression-polynomial": "^3.0.2",
"mockdate": "^3.0.5",
"monaco-editor": "^0.36.1",
"monaco-editor-webpack-plugin": "^7.1.0",
"playwright-core": "1.48.2",
"postcss": "^8.4.33",
"prettier": "^3.2.5",
"prop-types": "^15.8.0",
"rc-slider": "^11.1.8",
"react-dnd": "^10.0.2",
"react-dnd-html5-backend": "^10.0.2",
"react-inspector": "^5.1.1",
"react-intersection-observer": "^9.4.0",
"react-monaco-editor": "^0.52.0",
"react-redux": "^7.2.4",
"react-router": "^5.3.4",
"react-router-dom": "^5.3.4",
"react-split-pane": "^0.1.92",
"react-virtualized-auto-sizer": "1.0.24",
"react-waypoint": "^10.3.0",
"recompose": "npm:react-recompose@^0.33.0",
"redux": "^4.1.1",
"redux-devtools-extension": "^2.13.9",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
"reselect": "^4.1.8",
"resize-observer-polyfill": "^1.5.1",
"robust-point-in-polygon": "^1.0.3",
"stylelint": "^15.11.0",
"ts-jest": "^29.0.5",
"ts-node": "^10.9.1",
"tsconfig-paths": "^3.14.0",
"typescript": "^5.4.5",
"url": "^0.11.1",
"utility-types": "^3.10.0",
"yup": "^1.6.1"
},
"pnpm": {
"overrides": {
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router": "^5.3.4",
"react-router-dom": "^5.3.4",
"@gravity-ui/uikit>react-virtualized-auto-sizer": "1.0.24",
"@gravity-ui/gateway>@grpc/grpc-js": "^1.13.2"
}
},
"deploy": {
"project": "stat",
"app": "dx",
"component": "datalens",
"workflow": "workflow.json"
},
"engines": {
"pnpm": "10.17.1",
"node": ">= 20",
"yarn": "Please use pnpm instead of yarn to install dependencies",
"npm": "Please use pnpm instead of npm to install dependencies"
},
"packageManager": "pnpm@10.17.1",
"browserslist": [
"extends @gravity-ui/browserslist-config"
],
"optionalDependencies": {
"fsevents": "^2.3.2"
}
}