{ "name": "telegram-t", "version": "1.52.0", "description": "", "main": "index.js", "scripts": { "version:print": "echo \"$(node -p -e \"require('./package.json').version.match(/^\\d+\\.\\d+/)[0]\").$(cat .patch-version || echo 0)\"", "version:update": "npm run version:print --silent > ./public/version.txt", "version:inc": "echo $((`cat .patch-version || echo -1` + 1)) > .patch-version && npm run version:update && npm run version:print", "dev": "cross-env APP_ENV=development APP_VERSION=$(npm run version:print --silent) webpack serve --mode development", "dev:mocked": "cross-env APP_ENV=test APP_MOCKED_CLIENT=1 webpack serve --mode development --port 1235", "build:mocked": "cross-env APP_ENV=test APP_MOCKED_CLIENT=1 webpack --mode development", "build:staging": "APP_ENV=staging APP_VERSION=$(npm run version:inc --silent) webpack --mode development && ./deploy/copy_to_dist.sh", "build:production": "npm i && APP_VERSION=$(npm run version:inc --silent) webpack && ./deploy/copy_to_dist.sh", "deploy:production": "npm run build:production && git add -A && git commit -a -m '[Build]' --no-verify && git push", "telegraph:update_changelog": "node ./dev/telegraphChangelog.js", "check": "tsc && stylelint \"**/*.{css,scss}\" && eslint . --ext .ts,.tsx,.js --ignore-pattern src/lib/gramjs", "check:fix": "npm run check -- --fix", "gramjs:tl": "node ./src/lib/gramjs/tl/generateModules.js", "gramjs:lint": "eslint src/lib/gramjs --ext .ts,.tsx,.js", "gramjs:lint:fix": "npm run gramjs:lint -- --fix", "test": "cross-env APP_ENV=test jest --verbose --silent --forceExit", "test:playwright": "playwright test", "test:record": "playwright codegen localhost:1235", "prepare": "husky install", "statoscope:validate": "statoscope validate --input public/build-stats.json", "statoscope:validate-diff": "statoscope validate --input input.json --reference reference.json" }, "engines": { "node": "^16.13", "npm": "^8.5.2" }, "husky": { "hooks": { "pre-commit": "tsc && lint-staged" } }, "lint-staged": { "*.{ts,tsx,js}": "eslint --fix", "*.{css,scss}": "stylelint --fix" }, "author": "Alexander Zinchuk (alexander@zinchuk.com)", "license": "GPL-3.0-or-later", "devDependencies": { "@babel/core": "^7.17.9", "@babel/plugin-proposal-class-properties": "^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/preset-env": "^7.16.11", "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.16.7", "@peculiar/webcrypto": "^1.3.3", "@playwright/test": "^1.23.4", "@statoscope/cli": "^5.20.1", "@statoscope/webpack-plugin": "^5.20.1", "@testing-library/jest-dom": "^5.16.4", "@types/croppie": "^2.6.1", "@types/hast": "^2.3.4", "@types/jest": "^27.4.1", "@types/react": "^18.0.5", "@types/react-dom": "^18.0.0", "@types/wicg-mediasession": "^1.1.3", "@typescript-eslint/eslint-plugin": "^5.19.0", "@typescript-eslint/parser": "^5.19.0", "@webpack-cli/serve": "^1.6.1", "autoprefixer": "^10.4.4", "babel-loader": "^8.2.4", "browserlist": "^1.0.1", "buffer": "^6.0.3", "cross-env": "^7.0.3", "css-loader": "^6.7.1", "dotenv": "^16.0.0", "eslint": "^8.13.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-react-app": "^7.0.1", "eslint-import-resolver-webpack": "^0.13.2", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-no-async-without-await": "^1.2.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-react": "^7.29.4", "eslint-plugin-react-hooks": "^4.4.0", "eslint-plugin-teactn": "git+https://github.com/korenskoy/eslint-plugin-teactn#c2c39dd005d58c07c24c4361de804dce1c6261b5", "git-revision-webpack-plugin": "^5.0.0", "gitlog": "^4.0.4", "html-webpack-plugin": "^5.5.0", "husky": "^7.0.4", "jest": "^27.5.1", "jest-raw-loader": "^1.0.1", "jsdom": "^19.0.0", "lint-staged": "^12.3.7", "mini-css-extract-plugin": "^2.6.0", "postcss-loader": "^6.2.1", "postcss-modules": "^4.3.1", "react": "^18.0.0", "replace-in-file": "^6.3.2", "sass": "^1.50.0", "sass-loader": "^12.6.0", "serve": "^13.0.2", "style-loader": "^3.3.1", "stylelint": "^14.6.1", "stylelint-config-recommended-scss": "^6.0.0", "stylelint-declaration-block-no-ignored-properties": "^2.5.0", "stylelint-group-selectors": "^1.0.6", "stylelint-high-performance-animation": "^1.6.0", "telegraph-node": "^1.0.4", "typescript": "^4.6.3", "webpack": "^5.72.0", "webpack-cli": "^4.9.2", "webpack-dev-server": "^4.8.1", "webpack-merge": "^5.8.0" }, "dependencies": { "@cryptography/aes": "^0.1.1", "async-mutex": "^0.3.2", "big-integer": "github:painor/BigInteger.js", "croppie": "^2.6.5", "emoji-data-ios": "git+https://github.com/korenskoy/emoji-data-ios#3c401da02c6792cea0b6c758795da406377bf667", "events": "^3.3.0", "idb-keyval": "^6.1.0", "lowlight": "^2.6.1", "opus-recorder": "github:Ajaxy/opus-recorder", "os-browserify": "^0.3.0", "pako": "^2.0.4", "path-browserify": "^1.0.1", "qr-code-styling": "github:zubiden/qr-code-styling#10f7cf3", "websocket": "^1.0.34" }, "optionalDependencies": { "fsevents": "2.3.2" } }