{ "name": "telegram-t", "version": "10.9.49", "description": "", "main": "index.js", "scripts": { "dev": "cross-env APP_ENV=development webpack serve --mode development", "dev:mocked": "cross-env APP_ENV=test APP_MOCKED_CLIENT=1 webpack serve --mode development --port 1235", "build:dev": "webpack --mode development && bash ./deploy/copy_to_dist.sh", "build:staging": "cross-env APP_ENV=staging npm run build:dev", "build:mocked": "cross-env APP_ENV=test APP_MOCKED_CLIENT=1 npm run build:dev", "build:production": "webpack && bash ./deploy/copy_to_dist.sh", "web:release:production": "npm i && npm run build:production && git add -A && git commit -a -m '[Build]' --no-verify && git push", "electron:dev": "npm run electron:webpack && IS_PACKAGED_ELECTRON=true concurrently -n main,renderer,electron \"npm run electron:webpack -- --watch\" \"npm run dev\" \"electronmon dist/electron\"", "electron:webpack": "cross-env APP_ENV=$ENV webpack --config ./webpack-electron.config.ts", "electron:build": "IS_PACKAGED_ELECTRON=true npm run build:$ENV && electron-builder install-app-deps && electron-rebuild && ENV=$ENV npm run electron:webpack", "electron:package": "npm run electron:build && npx rimraf dist-electron && electron-builder build --win --mac --linux --config src/electron/config.yml", "electron:package:staging": "ENV=staging npm run electron:package -- -p never", "electron:release:production": "ENV=production npm run electron:package -- -p always", "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", "tl:rehash": "node ./dev/tlHash.js", "gramjs:tl": "tsx ./src/lib/gramjs/tl/generateModules.ts", "gramjs:lint": "cd src/lib/gramjs && eslint --ext .ts,.tsx,.js .", "gramjs:lint:fix": "npm run gramjs:lint -- --fix", "lang:ts": "tsx ./dev/generateLangTypes.js", "lang:initial": "tsx ./dev/generateInitialLangFallback.js", "icons:build": "fantasticon", "test": "cross-env APP_ENV=test jest --verbose --silent --forceExit", "test:playwright": "playwright test", "test:record": "playwright codegen localhost:1235", "statoscope:validate-diff": "statoscope validate --input input.json --reference reference.json", "postinstall": "(cd dev/eslint-multitab && npm i)", "postversion": "echo $(node -p \"require('./package.json').version\") > public/version.txt && git commit --amend --no-verify --no-edit public/version.txt" }, "engines": { "node": "^20 || ^22", "npm": "^9 || ^10" }, "lint-staged": { "*.{ts,tsx,js}": "eslint --fix", "*.{css,scss}": "stylelint --fix" }, "electronmon": { "logLevel": "quiet" }, "author": "Alexander Zinchuk (alexander@zinchuk.com)", "license": "GPL-3.0-or-later", "devDependencies": { "@babel/core": "^7.24.5", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-transform-class-properties": "^7.24.1", "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", "@babel/preset-env": "^7.24.5", "@babel/preset-react": "^7.24.1", "@babel/preset-typescript": "^7.24.1", "@babel/register": "^7.23.7", "@electron/rebuild": "^3.6.0", "@glen/jest-raw-loader": "^2.0.0", "@playwright/test": "^1.44.0", "@statoscope/cli": "5.28.2", "@statoscope/webpack-plugin": "5.28.2", "@stylistic/stylelint-config": "^1.0.1", "@stylistic/stylelint-plugin": "^2.1.2", "@testing-library/jest-dom": "^6.4.5", "@twbs/fantasticon": "^3.0.0", "@types/croppie": "^2.6.4", "@types/dom-view-transitions": "^1.0.6", "@types/hast": "^3.0.4", "@types/jest": "^29.5.12", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", "@types/webpack": "^5.28.5", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", "@webpack-cli/serve": "^2.0.5", "autoprefixer": "^10.4.19", "babel-loader": "^9.1.3", "babel-plugin-transform-import-meta": "^2.2.1", "browserlist": "^1.0.1", "buffer": "^6.0.3", "concurrently": "^8.2.2", "cross-env": "^7.0.3", "css-loader": "^7.1.1", "dotenv": "^16.4.5", "electron": "^22.3.27", "electron-builder": "^24.13.3", "electron-context-menu": "^3.6.1", "electron-store": "^8.2.0", "electron-updater": "^6.1.8", "electronmon": "^2.0.3", "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^18.0.0", "eslint-config-teact-app": "git+https://github.com/zubiden/eslint-config-teact-app#ebb14df4114e549fe9855d7ed0ca6cf11098e9fe", "eslint-import-resolver-webpack": "^0.13.8", "eslint-plugin-eslint-multitab-tt": "file:dev/eslint-multitab", "eslint-plugin-flowtype": "^8.0.3", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-no-async-without-await": "^1.2.0", "eslint-plugin-no-null": "^1.0.2", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-hooks-static-deps": "^1.0.7", "eslint-plugin-simple-import-sort": "^12.1.0", "eslint-plugin-teactn": "git+https://github.com/korenskoy/eslint-plugin-teactn#c2c39dd005d58c07c24c4361de804dce1c6261b5", "fake-indexeddb": "^6.0.0", "git-revision-webpack-plugin": "^5.0.0", "gitlog": "^4.0.8", "html-webpack-plugin": "^5.6.0", "husky": "^9.0.11", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "lint-staged": "^15.2.2", "mini-css-extract-plugin": "^2.9.0", "postcss-loader": "^8.1.1", "postcss-modules": "^6.0.0", "react": "^18.3.1", "sass": "^1.77.0", "sass-loader": "^14.2.1", "script-loader": "^0.7.2", "serve": "^14.2.3", "stylelint": "^16.5.0", "stylelint-config-recommended-scss": "^14.0.0", "stylelint-declaration-block-no-ignored-properties": "^2.8.0", "stylelint-group-selectors": "^1.0.10", "stylelint-high-performance-animation": "^1.10.0", "stylelint-selector-tag-no-without-class": "^3.0.1", "telegraph-node": "^1.0.4", "tsx": "^4.11.0", "typescript": "^5.4.5", "webpack": "^5.91.0", "webpack-dev-server": "^5.0.4" }, "dependencies": { "@cryptography/aes": "^0.1.1", "async-mutex": "^0.5.0", "big-integer": "github:painor/BigInteger.js", "croppie": "^2.6.5", "emoji-data-ios": "git+https://github.com/korenskoy/emoji-data-ios#de1a69aff2c8eb7548df4e6bcf50c7d2304792fc", "idb-keyval": "^6.2.1", "lowlight": "^2.9.0", "mp4box": "^0.5.2", "opus-recorder": "github:Ajaxy/opus-recorder", "os-browserify": "^0.3.0", "pako": "^2.1.0", "path-browserify": "^1.0.1", "qr-code-styling": "github:zubiden/qr-code-styling#dbbfed0", "v8-compile-cache": "^2.4.0" }, "optionalDependencies": { "dmg-license": "^1.0.11", "fsevents": "2.3.3" } }