{
"private": true,
"name": "react-native-harmony-workspace",
"version": "0.0.0",
"packageManager": "pnpm@10.3.0",
"scripts": {
"//": "Setup this project. It may take a while.",
"init-ws": "git submodule update --init --recursive --progress --jobs 16 && pnpm i && pnpm run _integrate-upstream-code && cd ./packages/react-native-harmony-cli && pnpm _recreate-hvigor-plugin && cd ../../ && pnpm run --recursive setup",
"//": "Apply ./packages/react-native.patch and copy the result to ./packages/react-native-harmony project.",
"_integrate-upstream-code": "ts-node ./scripts/integrate-upstream-code.ts",
"//": "[NPM hook] Ensures valid pnpm version is used because older pnpm versions don't support checking the packageManager field.",
"preinstall": "ts-node ./scripts/check-pnpm-version.ts",
"//": "[NPM hook]. See '_setup:husky' description.",
"postinstall": "pnpm run _setup:husky",
"//": "Install git hook to trigger 'verify' command before pushing code to the remote repo. Use `git push --no-verify` to skip this hook.",
"_setup:husky": "ts-node ./scripts/setup-husky.ts",
"//": "Run all development servers (Metro, Hdc servers) in parallel except for ./packages/react-native-harmony-interop-61-tester/legacy-rn61-project.",
"dev": "pnpm run --parallel dev",
"//": "Update interactively ./packages/react-native.patch.",
"patch:rn": "ts-node ./scripts/patch-react-native.ts && pnpm _integrate-upstream-code",
"//": "Build react-native-openharmony.har file (it's not a release artifact). It may take a while. This file is used by ./packages/react-native-harmony-interop-61-tester/rnoh-entry project.",
"build:rnoh": "pnpm run --filter ./packages/react-native-harmony build",
"//": "Clones Hermes V1 repo, builds it and replaces Hermes V1 binaries. Used on macOS. It may take a while. Hermes V1 building script needs to be updated with every `react-native` upgrade and Hermes V1 binaries updated.",
"build:hermesv1": "pnpm run --filter ./packages/react-native-harmony build:hermesv1",
"//": "Clones Hermes V1 repo, builds it and replaces Hermes V1 binaries. Used on macOS. It may take a while. Hermes V1 building script needs to be updated with every `react-native` upgrade and Hermes V1 binaries updated.",
"build:hermesv1:debug": "pnpm run --filter ./packages/react-native-harmony build:hermesv1:debug",
"//": "Run RNOH tester project on OH device.",
"harmony:tester": "pnpm run --filter ./packages/tester harmony",
"//": "Run RNOH tester project on Android device.",
"android:tester": "pnpm run --filter ./packages/tester android",
"//": "Run RNOH tester project on iOS device.",
"ios:tester": "pnpm run --filter ./packages/tester ios",
"//": "Create offline JS bundle optimized for Hermes in the RNOH tester project.",
"bundle:tester": "pnpm run --filter ./packages/tester bundle:hermes",
"//": "Run static analysis mostly. Triggered on `git push`.",
"verify": "concurrently --kill-others-on-fail -n 'verify-packages,verify-docs,verify-cpp-formatting' -c 'green,blue,red' \"pnpm run _verify:packages\" \"pnpm run _verify:docs\" \"pnpm run _format:cpp:check\"",
"//": "Verify links in docs.",
"_verify:docs": "ts-node ./scripts/verify-docs.ts",
"//": "Verify linting and unit tests results.",
"_verify:packages": "pnpm run --recursive --parallel verify",
"//": "Verify formatting of modified C++ files.",
"_format:cpp:check": "ts-node ./scripts/format-cpp.ts --check",
"//": "Fix formatting problems.",
"format": "pnpm run --recursive format:js && pnpm run format:cpp",
"//": "Fix formatting in modified C++ files.",
"format:cpp": "ts-node ./scripts/format-cpp.ts",
"commitlint": "commitlint --edit",
"release": "standard-version",
"release:first": "standard-version --first-release"
},
"devDependencies": {
"@react-native-oh/react-native-harmony-cli": "file:./packages/react-native-harmony-cli",
"concurrently": "^9.1.2",
"markdown-link-check": "^3.13.7",
"husky": "^9.0.0",
"ts-node": "10.9.2",
"typescript": "5.0.4",
"eslint": "^8.19.0",
"eslint-plugin-prettier": "^5.0.1",
"prettier": "3.2.4",
"glob": "^11.0.1",
"@swc/core": "^1.11.10",
"@commitlint/cli": "^19.0.0",
"@commitlint/config-conventional": "^19.0.0",
"standard-version": "^9.5.0"
},
"overrides": {
"hermes-compiler": "250829098.0.9"
},
"pnpm": {
"overrides": {
"react": "19.2.3",
"react-native": "0.84.1"
}
}
}