* web height adjustment border radius incase of dark/dim mismatch rm country codes adjust height general form refactor more form refactor refactor form submission activity indicator after finished remove remaining phone stuff adjust captcha height adjust state to reflect switch move handle to the second step pass color scheme param ts ts update state when captcha is complete web views and callbacks remove old state allow specified hosts replace phone verification with a webview * remove log * height adjustment * few changes * use the correct url * remove some debug * validate handle before continuing * explicitly check if there is a did, dont rely on error * rm throw * update allowed hosts * update redirect host for webview * fix handle * fix handle check * adjust height for full challenge
306 lines
11 KiB
JSON
306 lines
11 KiB
JSON
{
|
||
"name": "bsky.app",
|
||
"version": "1.68.0",
|
||
"private": true,
|
||
"engines": {
|
||
"node": ">=18"
|
||
},
|
||
"scripts": {
|
||
"prepare": "is-ci || husky install",
|
||
"postinstall": "patch-package && yarn intl:compile",
|
||
"prebuild": "expo prebuild --clean",
|
||
"android": "expo run:android",
|
||
"ios": "expo run:ios",
|
||
"web": "expo start --web",
|
||
"build-web": "expo export:web && node ./scripts/post-web-build.js && cp -v ./web-build/static/js/*.* ./bskyweb/static/js/",
|
||
"build-all": "yarn intl:build && eas build --platform all",
|
||
"start": "expo start --dev-client",
|
||
"start:prod": "expo start --dev-client --no-dev --minify",
|
||
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
|
||
"test": "NODE_ENV=test jest --forceExit --testTimeout=20000 --bail",
|
||
"test-watch": "NODE_ENV=test jest --watchAll",
|
||
"test-ci": "NODE_ENV=test jest --ci --forceExit --reporters=default --reporters=jest-junit",
|
||
"test-coverage": "NODE_ENV=test jest --coverage",
|
||
"lint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
|
||
"typecheck": "tsc --project ./tsconfig.check.json",
|
||
"e2e:mock-server": "./jest/dev-infra/with-test-redis-and-db.sh ts-node --project tsconfig.e2e.json __e2e__/mock-server.ts",
|
||
"e2e:metro": "NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios",
|
||
"e2e:build": "NODE_ENV=test detox build -c ios.sim.debug",
|
||
"e2e:run": "NODE_ENV=test detox test --configuration ios.sim.debug --take-screenshots all",
|
||
"perf:test": "NODE_ENV=test maestro test",
|
||
"perf:test:run": "NODE_ENV=test maestro test __e2e__/maestro/scroll.yaml",
|
||
"perf:test:measure": "NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand 'yarn perf:test' --duration 150000 --resultsFilePath .perf/results.json",
|
||
"perf:test:results": "NODE_ENV=test flashlight report .perf/results.json",
|
||
"perf:measure": "NODE_ENV=test flashlight measure",
|
||
"intl:build": "yarn intl:check && yarn intl:compile",
|
||
"intl:check": "yarn intl:extract && git diff-index -G'(^[^\\*# /])|(^#\\w)|(^\\s+[^\\*#/])' HEAD || (echo '\n⚠️ i18n detected un-extracted translations\n' && exit 1)",
|
||
"intl:extract": "lingui extract",
|
||
"intl:compile": "lingui compile",
|
||
"nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android",
|
||
"bump": "./scripts/bumpIosBuildNumber.sh && ./scripts/bumpAndroidBuildNumber.sh",
|
||
"bump:ios": "./scripts/bumpIosBuildNumber.sh",
|
||
"bump:android": "./scripts/bumpAndroidBuildNumber.sh"
|
||
},
|
||
"dependencies": {
|
||
"@atproto/api": "^0.9.5",
|
||
"@bam.tech/react-native-image-resizer": "^3.0.4",
|
||
"@braintree/sanitize-url": "^6.0.2",
|
||
"@emoji-mart/react": "^1.1.1",
|
||
"@expo/html-elements": "^0.4.2",
|
||
"@expo/webpack-config": "^19.0.0",
|
||
"@fortawesome/fontawesome-svg-core": "^6.1.1",
|
||
"@fortawesome/free-regular-svg-icons": "^6.1.1",
|
||
"@fortawesome/free-solid-svg-icons": "^6.1.1",
|
||
"@fortawesome/react-native-fontawesome": "^0.3.0",
|
||
"@gorhom/bottom-sheet": "^4.5.1",
|
||
"@lingui/react": "^4.5.0",
|
||
"@mattermost/react-native-paste-input": "^0.6.4",
|
||
"@miblanchard/react-native-slider": "^2.3.1",
|
||
"@react-native-async-storage/async-storage": "1.21.0",
|
||
"@react-native-camera-roll/camera-roll": "^5.2.2",
|
||
"@react-native-clipboard/clipboard": "^1.10.0",
|
||
"@react-native-community/blur": "^4.3.0",
|
||
"@react-native-community/datetimepicker": "7.6.1",
|
||
"@react-native-masked-view/masked-view": "0.3.0",
|
||
"@react-native-menu/menu": "^0.8.0",
|
||
"@react-native-picker/picker": "2.6.1",
|
||
"@react-navigation/bottom-tabs": "^6.5.7",
|
||
"@react-navigation/drawer": "^6.6.2",
|
||
"@react-navigation/native": "^6.1.6",
|
||
"@react-navigation/native-stack": "^6.9.12",
|
||
"@segment/analytics-next": "^1.51.3",
|
||
"@segment/analytics-react": "^1.0.0-rc1",
|
||
"@segment/analytics-react-native": "^2.10.1",
|
||
"@segment/sovran-react-native": "^0.4.5",
|
||
"@sentry/react-native": "5.5.0",
|
||
"@tamagui/focus-scope": "^1.84.1",
|
||
"@tanstack/react-query": "^5.8.1",
|
||
"@tiptap/core": "^2.0.0-beta.220",
|
||
"@tiptap/extension-document": "^2.0.0-beta.220",
|
||
"@tiptap/extension-hard-break": "^2.0.3",
|
||
"@tiptap/extension-history": "^2.0.3",
|
||
"@tiptap/extension-mention": "^2.0.0-beta.220",
|
||
"@tiptap/extension-paragraph": "^2.0.0-beta.220",
|
||
"@tiptap/extension-placeholder": "^2.0.0-beta.220",
|
||
"@tiptap/extension-text": "^2.0.0-beta.220",
|
||
"@tiptap/html": "^2.1.11",
|
||
"@tiptap/pm": "^2.0.0-beta.220",
|
||
"@tiptap/react": "^2.0.0-beta.220",
|
||
"@tiptap/suggestion": "^2.0.0-beta.220",
|
||
"@types/node": "^18.16.2",
|
||
"@zxing/text-encoding": "^0.9.0",
|
||
"array.prototype.findlast": "^1.2.3",
|
||
"await-lock": "^2.2.2",
|
||
"babel-plugin-transform-remove-console": "^6.9.4",
|
||
"base64-js": "^1.5.1",
|
||
"bcp-47-match": "^2.0.3",
|
||
"date-fns": "^2.30.0",
|
||
"email-validator": "^2.0.4",
|
||
"emoji-mart": "^5.5.2",
|
||
"eventemitter3": "^5.0.1",
|
||
"expo": "^50.0.0-preview.10",
|
||
"expo-application": "~5.8.2",
|
||
"expo-build-properties": "^0.11.0",
|
||
"expo-camera": "~14.0.1",
|
||
"expo-constants": "~15.4.3",
|
||
"expo-dev-client": "~3.3.5",
|
||
"expo-device": "~5.9.2",
|
||
"expo-image": "~1.10.3",
|
||
"expo-image-manipulator": "^11.8.0",
|
||
"expo-image-picker": "~14.7.1",
|
||
"expo-localization": "~14.8.2",
|
||
"expo-media-library": "~15.9.1",
|
||
"expo-notifications": "~0.27.3",
|
||
"expo-sharing": "^11.10.0",
|
||
"expo-splash-screen": "~0.26.2",
|
||
"expo-status-bar": "~1.11.1",
|
||
"expo-system-ui": "~2.9.3",
|
||
"expo-task-manager": "~11.7.0",
|
||
"expo-updates": "~0.24.7",
|
||
"expo-web-browser": "~12.8.1",
|
||
"fast-text-encoding": "^1.0.6",
|
||
"history": "^5.3.0",
|
||
"js-sha256": "^0.9.0",
|
||
"jwt-decode": "^4.0.0",
|
||
"lande": "^1.0.10",
|
||
"lodash.chunk": "^4.2.0",
|
||
"lodash.debounce": "^4.0.8",
|
||
"lodash.isequal": "^4.5.0",
|
||
"lodash.omit": "^4.5.0",
|
||
"lodash.once": "^4.1.1",
|
||
"lodash.random": "^3.2.0",
|
||
"lodash.samplesize": "^4.2.0",
|
||
"lodash.set": "^4.3.2",
|
||
"lodash.shuffle": "^4.2.0",
|
||
"lru_map": "^0.4.1",
|
||
"mobx": "^6.6.1",
|
||
"mobx-react-lite": "^3.4.0",
|
||
"mobx-utils": "^6.0.6",
|
||
"nanoid": "^5.0.5",
|
||
"normalize-url": "^8.0.0",
|
||
"patch-package": "^6.5.1",
|
||
"postinstall-postinstall": "^2.1.0",
|
||
"psl": "^1.9.0",
|
||
"react": "18.2.0",
|
||
"react-avatar-editor": "^13.0.0",
|
||
"react-circular-progressbar": "^2.1.0",
|
||
"react-dom": "^18.2.0",
|
||
"react-native": "0.73.2",
|
||
"react-native-appstate-hook": "^1.0.6",
|
||
"react-native-drawer-layout": "^4.0.0-alpha.3",
|
||
"react-native-fs": "^2.20.0",
|
||
"react-native-gesture-handler": "~2.14.0",
|
||
"react-native-get-random-values": "~1.8.0",
|
||
"react-native-haptic-feedback": "^1.14.0",
|
||
"react-native-image-crop-picker": "^0.38.1",
|
||
"react-native-ios-context-menu": "^1.15.3",
|
||
"react-native-linear-gradient": "^2.6.2",
|
||
"react-native-pager-view": "6.2.3",
|
||
"react-native-picker-select": "^8.1.0",
|
||
"react-native-progress": "bluesky-social/react-native-progress",
|
||
"react-native-reanimated": "^3.6.0",
|
||
"react-native-root-siblings": "^4.1.1",
|
||
"react-native-safe-area-context": "4.8.2",
|
||
"react-native-screens": "~3.29.0",
|
||
"react-native-svg": "14.1.0",
|
||
"react-native-ui-text-view": "link:./modules/react-native-ui-text-view",
|
||
"react-native-url-polyfill": "^1.3.0",
|
||
"react-native-uuid": "^2.0.1",
|
||
"react-native-version-number": "^0.3.6",
|
||
"react-native-web": "~0.19.6",
|
||
"react-native-web-linear-gradient": "^1.1.2",
|
||
"react-native-web-webview": "^1.0.2",
|
||
"react-native-webview": "13.6.4",
|
||
"react-responsive": "^9.0.2",
|
||
"rn-fetch-blob": "^0.12.0",
|
||
"sentry-expo": "~7.0.1",
|
||
"tippy.js": "^6.3.7",
|
||
"tlds": "^1.234.0",
|
||
"use-deep-compare": "^1.1.0",
|
||
"zeego": "^1.6.2",
|
||
"zod": "^3.20.2"
|
||
},
|
||
"devDependencies": {
|
||
"@atproto/dev-env": "^0.2.28",
|
||
"@babel/core": "^7.23.2",
|
||
"@babel/preset-env": "^7.20.0",
|
||
"@babel/runtime": "^7.20.0",
|
||
"@did-plc/server": "^0.0.1",
|
||
"@expo/config-plugins": "7.8.0",
|
||
"@expo/prebuild-config": "6.7.0",
|
||
"@lingui/cli": "^4.5.0",
|
||
"@lingui/macro": "^4.5.0",
|
||
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
|
||
"@react-native-community/eslint-config": "^3.0.0",
|
||
"@react-native/typescript-config": "^0.74.0",
|
||
"@testing-library/jest-native": "^5.4.1",
|
||
"@testing-library/react-native": "^11.5.2",
|
||
"@tsconfig/react-native": "^2.0.3",
|
||
"@types/he": "^1.1.2",
|
||
"@types/jest": "^29.4.0",
|
||
"@types/lodash.chunk": "^4.2.7",
|
||
"@types/lodash.debounce": "^4.0.7",
|
||
"@types/lodash.isequal": "^4.5.6",
|
||
"@types/lodash.omit": "^4.5.7",
|
||
"@types/lodash.once": "^4.1.7",
|
||
"@types/lodash.random": "^3.2.7",
|
||
"@types/lodash.samplesize": "^4.2.7",
|
||
"@types/lodash.set": "^4.3.7",
|
||
"@types/lodash.shuffle": "^4.2.7",
|
||
"@types/psl": "^1.1.1",
|
||
"@types/react-avatar-editor": "^13.0.0",
|
||
"@types/react-dom": "^18.2.18",
|
||
"@types/react-responsive": "^8.0.5",
|
||
"@types/react-test-renderer": "^17.0.1",
|
||
"@typescript-eslint/eslint-plugin": "^5.48.2",
|
||
"@typescript-eslint/parser": "^5.48.2",
|
||
"babel-jest": "^29.7.0",
|
||
"babel-loader": "^9.1.2",
|
||
"babel-plugin-macros": "^3.1.0",
|
||
"babel-plugin-module-resolver": "^5.0.0",
|
||
"babel-plugin-react-native-web": "^0.18.12",
|
||
"babel-preset-expo": "^10.0.0",
|
||
"detox": "^20.14.8",
|
||
"eslint": "^8.19.0",
|
||
"eslint-plugin-detox": "^1.0.0",
|
||
"eslint-plugin-ft-flow": "^2.0.3",
|
||
"eslint-plugin-lingui": "^0.2.0",
|
||
"eslint-plugin-react": "^7.33.2",
|
||
"eslint-plugin-react-native-a11y": "^3.3.0",
|
||
"html-webpack-plugin": "^5.5.0",
|
||
"husky": "^8.0.3",
|
||
"is-ci": "^3.0.1",
|
||
"jest": "^29.7.0",
|
||
"jest-expo": "^50.0.1",
|
||
"jest-junit": "^15.0.0",
|
||
"lint-staged": "^13.2.3",
|
||
"metro-react-native-babel-preset": "^0.73.7",
|
||
"prettier": "^2.8.3",
|
||
"react-native-dotenv": "^3.3.1",
|
||
"react-refresh": "^0.14.0",
|
||
"react-scripts": "^5.0.1",
|
||
"react-test-renderer": "18.2.0",
|
||
"ts-node": "^10.9.1",
|
||
"typescript": "^5.3.3",
|
||
"url-loader": "^4.1.1",
|
||
"webpack": "^5.75.0",
|
||
"webpack-cli": "^5.0.1",
|
||
"webpack-dev-server": "^4.11.1"
|
||
},
|
||
"resolutions": {
|
||
"@types/react": "^18",
|
||
"**/zeed-dom": "0.10.9"
|
||
},
|
||
"jest": {
|
||
"preset": "jest-expo/ios",
|
||
"setupFilesAfterEnv": [
|
||
"./jest/jestSetup.js",
|
||
"@testing-library/jest-native/extend-expect"
|
||
],
|
||
"moduleFileExtensions": [
|
||
"ts",
|
||
"tsx",
|
||
"js",
|
||
"jsx",
|
||
"json",
|
||
"node"
|
||
],
|
||
"transform": {
|
||
"\\.[jt]sx?$": "babel-jest"
|
||
},
|
||
"transformIgnorePatterns": [
|
||
"node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|nanoid|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|normalize-url|react-native-svg|@sentry/.*|sentry-expo|bcp-47-match)"
|
||
],
|
||
"modulePathIgnorePatterns": [
|
||
"__tests__/.*/__mocks__",
|
||
"__e2e__/.*"
|
||
],
|
||
"coveragePathIgnorePatterns": [
|
||
"<rootDir>/node_modules/",
|
||
"<rootDir>/src/platform",
|
||
"<rootDir>/src/third-party",
|
||
"<rootDir>/src/view/com/util",
|
||
"<rootDir>/src/state/lib",
|
||
"<rootDir>/__tests__/test-utils.js"
|
||
],
|
||
"reporters": [
|
||
"default",
|
||
"jest-junit"
|
||
]
|
||
},
|
||
"browserslist": {
|
||
"production": [
|
||
">0.2%",
|
||
"not dead",
|
||
"not op_mini all"
|
||
],
|
||
"development": [
|
||
"last 1 chrome version",
|
||
"last 1 firefox version",
|
||
"last 1 safari version"
|
||
]
|
||
},
|
||
"lint-staged": {
|
||
"*{.js,.jsx,.ts,.tsx}": "yarn eslint --fix"
|
||
}
|
||
}
|