{
"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"
}
}