{ "name": "tweb", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "preinstall": "npx only-allow pnpm", "start": "vite", "start-in-docker": "vite --host", "serve": "pnpm run build && node server.js --dist", "build": "pnpm test --run && pnpm run typecheck && pnpm run generate-changelog && vite build && pnpm run check-bundle", "check-bundle": "node scripts/check-bundle-mangling.mjs dist", "test": "vitest", "test:a11y": "playwright test --config playwright.a11y.config.ts", "test:a11y:full": "A11Y_ALL_THEMES=1 playwright test --config playwright.a11y.config.ts", "test:ephemeral-bot": "node ./src/tests/fixtures/ephemeralBot/bot.mjs", "test:lottie": "playwright test e2e/lottie*.spec.ts", "test:calls": "playwright test e2e/callNoiseSuppression.spec.ts", "test:popups": "playwright test --config=playwright.popups.config.ts", "test:popups:full": "POPUPS_ALL_ENGINES=1 playwright test --config=playwright.popups.config.ts", "test:editor:e2e": "playwright test --config=playwright.editor.config.ts", "test:editor:e2e:full": "EDITOR_E2E_ALL_ENGINES=1 playwright test --config=playwright.editor.config.ts", "test:focus": "playwright test --config=playwright.focus.config.ts", "test:focus:app": "playwright test e2e/focusPixelsApp.spec.ts", "test:a11y:app": "playwright test e2e/accessibilitySignedIn.spec.ts", "test:idle:app": "playwright test e2e/profileSidebarIdle.spec.ts", "test:peek:app": "playwright test e2e/mediaPeekApp.spec.ts", "test:viewer:app": "playwright test e2e/mediaViewerApp.spec.ts", "test:memory:app": "playwright test e2e/memorySoakApp.spec.ts", "test:hot:app": "playwright test e2e/hotRerunApp.spec.ts", "test:send:app": "playwright test e2e/sendFlightApp.spec.ts", "test:edit:app": "playwright test e2e/bubbleEditApp.spec.ts", "test:react:app": "playwright test e2e/reactionFlightApp.spec.ts", "whybundled": "pnpm run profile && whybundled stats.json", "generate-mtproto-types": "node ./src/scripts/generate_mtproto_types.js src/", "generate-changelog": "node ./src/scripts/generate_changelog.js", "generate-icons": "node ./src/scripts/icomoon/icomoon_generate.js", "generate-emoji-skin-tones": "node ./src/scripts/generate_emoji_skin_tones.js", "change-version": "node ./src/scripts/change_version.js", "apply-new-lang": "node ./src/scripts/apply_new_lang.js", "watch-lang": "node watch-lang.js", "lint": "oxlint", "lint:fix": "oxlint --fix", "typecheck": "node scss-types.js && tsc --noEmit", "typecheck:watch": "node scss-types.js && tsc --noEmit --watch", "build:solid": "node ./src/scripts/build_solid.js", "format-lang": "node ./src/scripts/format_lang.js", "lottie-to-svg": "node ./src/scripts/lottie_to_svg.js", "generate-scss-types": "node scss-types.js", "wallet-engine:update": "node scripts/update-wallet-engine.mjs" }, "author": "", "license": "GPL-3.0-only", "engines": { "node": "^22.18.0 || >=24.11.0" }, "devDependencies": { "@axe-core/playwright": "^4.11.3", "@babel/cli": "^8.0.4", "@babel/core": "^8.0.1", "@babel/preset-env": "^8.0.2", "@babel/preset-typescript": "^8.0.1", "@cryptography/aes": "^0.1.1", "@cryptography/sha1": "^0.2.0", "@cryptography/sha256": "^0.2.0", "@peculiar/webcrypto": "^1.7.1", "@playwright/test": "^1.61.1", "@solid-primitives/refs": "^1.1.4", "@solid-primitives/transition-group": "^1.1.2", "@stylistic/eslint-plugin": "^5.10.0", "@tiptap/core": "3.31.3", "@tiptap/extension-bold": "3.31.3", "@tiptap/extension-code-block": "3.31.3", "@tiptap/extension-document": "3.31.3", "@tiptap/extension-hard-break": "3.31.3", "@tiptap/extension-italic": "3.31.3", "@tiptap/extension-list": "3.31.3", "@tiptap/extension-strike": "3.31.3", "@tiptap/extension-table": "3.31.3", "@tiptap/extension-text": "3.31.3", "@tiptap/extension-underline": "3.31.3", "@tiptap/extensions": "3.31.3", "@tiptap/pm": "3.31.3", "@types/aes-js": "^3.1.4", "@types/chrome": "0.2.2", "@types/dom-webcodecs": "^0.1.18", "@types/express": "^5.0.6", "@types/pngjs": "^6.0.5", "@types/prismjs": "^1.26.6", "@types/ws": "^8.18.1", "@typescript/native": "npm:typescript@^7.0.2", "@vitejs/plugin-basic-ssl": "^2.3.0", "aes-js": "^3.1.2", "autoprefixer": "^10.5.4", "axe-core": "^4.11.4", "big-integer": "^1.6.52", "browserslist": "^4.28.7", "compression": "^1.8.2", "csstype": "^3.2.3", "esbuild": "0.28.2", "express": "^5.3.0", "fake-indexeddb": "^6.2.5", "fast-png": "^8.0.0", "fflate": "^0.8.3", "highlight.js": "11.12.0", "hls.js": "^1.6.16", "http-proxy": "^1.18.1", "js-md5": "^0.9.2", "jsdom": "^29.1.1", "libsodium-wrappers": "^0.8.4", "magic-string": "^0.30.21", "mediabunny": "^1.50.9", "mime": "^4.1.0", "node-ssh": "^13.2.1", "oxlint": "^1.75.0", "oxlint-tsgolint": "^7.0.2001", "pngjs": "^7.0.0", "prismjs": "^1.30.0", "qr-code-styling": "^1.9.2", "rollup-plugin-visualizer": "^7.0.1", "sass": "^1.101.3", "temml": "^0.13.3", "tinyld": "^1.3.4", "typed-scss-modules": "8.1.1", "vite": "^8.3.4", "vite-plugin-handlebars": "^2.0.3", "vite-plugin-solid": "^2.11.13", "vitest": "^4.1.12", "ws": "^8.21.1" }, "packageManager": "pnpm@11.16.0", "dependencies": { "@ton/wallet-engine": "https://github.com/i582/wallet-engine/releases/download/v0.0.7/ton-wallet-engine-0.0.7.tgz" } }