{
  "name": "react-native-harmony-tester",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "postinstall": "node ./scripts/create-build-profile",
    "dev": "concurrently -n 'metro:harmony,hdc-server,metro:android' -c 'yellow,cyan,green' \"pnpm metro:harmony\" \"pnpm hdc-server\" \"pnpm metro:android\"",
    "metro:harmony": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony react-native start --host 127.0.0.1 --client-logs",
    "metro:android": "react-native start --host 127.0.0.1 --port 8086 --client-logs",
    "hdc-server": "hdc rport tcp:8083 tcp:8083 && npx hdc-server",
    "ios": "npx pod-install && react-native run-ios --port 8086 --no-packager",
    "android": "react-native run-android --port 8086 --no-packager",
    "harmony": "react-native run-harmony --port 8081 --no-packager",
    "clean": "react-native clean-harmony",
    "_recreate-hvigor-plugin": "cd ../react-native-harmony-hvigor-plugin && npm i && npm run deploy && cd ../tester",
    "bundle:hermes-dev": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony react-native bundle-harmony --dev --minify=false",
    "bundle:hermes-dev:debug": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony RNOH_BUNDLE_DEBUG=true react-native bundle-harmony --dev --minify=false",
    "bundle:hermes": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony react-native bundle-harmony --dev=false --minify=true --js-engine=hermes --hermesc-dir ../../node_modules/react-native/sdks/hermesc",
    "bundle:hermes:debug": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony RNOH_BUNDLE_DEBUG=true react-native bundle-harmony --dev=false --minify=true --js-engine=hermes --hermesc-dir ../../node_modules/react-native/sdks/hermesc",
    "bundle:hermesv1": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony react-native bundle-harmony --dev=false --minify=true --js-engine=hermes --hermesc-dir ../../node_modules/hermes-compiler/hermesc",
    "bundle": "cross-env RNOH_TESTER_ONLY__TARGET_PLATFORM=harmony react-native bundle-harmony --dev=false --minify=true",
    "format:js": "prettier App.tsx ./benchmarks ./components ./examples ./tests -w",
    "test:e2e": "clear; kill-port 8081; kill-port 8083; pnpm run dev > /dev/null & pnpm run harmony && pnpm run _build:test-e2e && pnpm run _install:test-e2e && pnpm run _open:test-e2e && echo \"\\033[1;42mE2E: PASS\\033[0m\" || (echo \"\\033[1;41mE2E: FAIL\\033[0m\" && exit 1); kill-port 8081; kill-port 8083",
    "_build:test-e2e": "cd ./harmony && $DEVECO_SDK_HOME/../tools/node/bin/node $DEVECO_SDK_HOME/../tools/hvigor/bin/hvigorw.js --mode module -p module=entry@ohosTest -p isOhosTest=true -p buildMode=test assembleHap --analyze=normal --parallel --incremental --daemon && cd ..",
    "_install:test-e2e": "hdc install ./harmony/entry/build/default/outputs/ohosTest/entry-ohosTest-signed.hap",
    "_open:test-e2e": "output=\"$(hdc shell aa test -b com.rnoh.tester -m entry_test -s unittest OpenHarmonyTestRunner -s class tester -s timeout 180000)\"; echo \"$output\"; echo \"$output\" | grep -q 'Tests run: [1-9]' || exit 1; echo \"$output\" | grep -q 'Error: [1-9]\\|Failure: [1-9]\\|Error in' && exit 1 || exit 0",
    "typecheck": "tsc --noEmit",
    "lint:js": "eslint App.tsx ./benchmarks ./components ./examples ./scripts ./tests --max-warnings 0",
    "lint:js:fix": "pnpm run lint:js --fix",
    "lint:cpp": "node ./scripts/lint-cpp-fast.js",
    "ci": "pnpm run verify && pnpm run test:e2e && echo '\\SUCCESS'",
    "verify": "pnpm run typecheck && pnpm run lint:js",
    "benchmark-fps": "node ./scripts/get-frame-times | node ./scripts/create-fps-stats",
    "hiprofiler": "./scripts/run-hiprofiler-cmd.sh",
    "measure-performance": "./scripts/performance_measurement/measure-performance.sh",
    "init-sample-project": "pnpm i && rimraf ./__SampleProject__ && ts-node ./scripts/init-sample-project.ts"
  },
  "dependencies": {
    "@gorhom/portal": "^1.0.14",
    "@react-native-ohos/react-native-fs": "2.21.0",
    "@react-native-ohos/react-native-safe-area-context": "5.6.3",
    "@react-native-oh/react-native-harmony": "workspace:*",
    "@react-native-oh/react-native-harmony-cli": "file:../react-native-harmony-cli",
    "@rnoh/react-native-harmony-test-kit": "workspace:*",
    "@rnoh/hdc-server": "workspace:*",
    "buffer": "^6.0.3",
    "chai": "4.3.7",
    "d3-scale-chromatic": "^3.0.0",
    "react": "19.2.3",
    "react-native": "0.84.1",
    "react-native-flipper-performance-plugin": "^0.4.0",
    "react-native-harmony-sample-package": "file:../react-native-harmony-sample-package"
  },
  "devDependencies": {
    "@babel/core": "^7.25.2",
    "@babel/preset-env": "^7.25.3",
    "@babel/runtime": "^7.25.0",
    "@react-native-community/cli": "20.1.0",
    "@react-native-community/cli-platform-android": "20.1.0",
    "@react-native-community/cli-platform-ios": "20.1.0",
    "@react-native-community/eslint-config": "^3.2.0",
    "@react-native/babel-preset": "0.84.1",
    "@react-native/eslint-config": "0.84.1",
    "@react-native/metro-config": "0.84.1",
    "@react-native/typescript-config": "0.84.1",
    "@react-navigation/native": "^6.1.9",
    "@react-navigation/stack": "^6.3.19",
    "@rnoh/testerino": "workspace:*",
    "@types/chai": "^4.3.4",
    "@types/d3-scale-chromatic": "^3.0.0",
    "@types/fs-extra": "^11.0.1",
    "@types/jest": "^29.5.13",
    "@types/node": "^22.7.5",
    "@types/react": "^19.2.0",
    "@types/react-test-renderer": "^19.1.0",
    "babel-jest": "^29.6.3",
    "concurrently": "^9.1.2",
    "csv-parser": "^3.0.0",
    "fs-extra": "^11.1.1",
    "handlebars": "^4.7.8",
    "jest": "^29.7.0",
    "json5": "^2.2.3",
    "kill-port": "^2.0.1",
    "node-html-parser": "^6.1.13",
    "react-test-renderer": "18.3.1",
    "rimraf": "^6.0.1",
    "simple-statistics": "^7.8.3",
    "sqlite3": "^5.1.7",
    "ts-jest": "^29.1.1",
    "ts-node": "^10.9.2",
    "typescript": "5.5.4",
    "yargs": "^17.7.2",
    "cross-env": "^7.0.0"
  }
}