npm expo-iap @4.7.1
score
0.8
high
flagged
2026-07-27 14:44
Signals fired
| signal | weight | rationale |
|---|---|---|
| topology | ||
| typosquat | 1.0 | combosquat of 'expo' |
| shared_repo_different_publisher | 0.9 | repo 'git+https://github.com/hyodotdev/openiap.git' also claimed by 1 package(s) under different publishers: ['npm/react-native-iap'] |
Prior profile (what it deviated from)
{
"had_install_script": false,
"maintainers": [
"hyodotdev"
],
"versions": 228
}
Evidence (package doc at flag time)
{
"dependencies_count": 0,
"dist": {
"integrity": "sha512-HQO9QHOferKh+jtuQ+DvlvnRMoGtxwlQlps3/GS7V8b6SDOuHN/QGzTdtszcLTnE+l1mjgWQGGdpSQQJy/tc8A==",
"tarball": "https://registry.npmjs.org/expo-iap/-/expo-iap-4.7.1.tgz",
"unpackedSize": 1879913
},
"dist-tags": {
"latest": "4.7.1",
"next": "4.4.0-rc.7"
},
"latest_version": "4.7.1",
"maintainers": [
{
"email": "hyo@hyo.dev",
"name": "hyodotdev"
}
],
"num_versions": 229,
"repository": {
"directory": "libraries/expo-iap",
"type": "git",
"url": "git+https://github.com/hyodotdev/openiap.git"
},
"scripts": {
"build": "expo-module build",
"build:plugin": "tsc --build plugin",
"clean": "expo-module clean",
"clean:plugin": "expo-module clean plugin",
"docs:build": "cd docs && bun run build",
"docs:install": "cd docs && bun install",
"docs:serve": "cd docs && bun run serve",
"docs:start": "cd docs && bun run start",
"expo-module": "expo-module",
"generate:icon": "npx sharp-cli resize 32 32 -i docs/static/img/icon.png -o docs/static/img/favicon-32x32.png && npx sharp-cli resize 16 16 -i docs/static/img/icon.png -o docs/static/img/favicon-16x16.png && npx sharp-cli resize 180 180 -i docs/static/img/icon.png -o docs/static/img/apple-touch-icon.png && npx sharp-cli resize 192 192 -i docs/static/img/icon.png -o docs/static/img/android-chrome-192x192.png && npx sharp-cli resize 512 512 -i docs/static/img/icon.png -o docs/static/img/android-chrome-512x512.png && npx sharp-cli resize 150 150 -i docs/static/img/icon.png -o docs/static/img/mstile-150x150.png && npx sharp-cli resize 1200 630 -i docs/static/img/icon.png -o docs/static/img/og-image.png && npx sharp-cli resize 1200 600 -i docs/static/img/icon.png -o docs/static/img/twitter-card.png && npx sharp-cli resize 16 16 -i docs/static/img/icon.png -o docs/static/img/favicon.png && cp docs/static/img/favicon-16x16.png docs/static/img/favicon.ico",
"generate:types": "node scripts/update-types.mjs",
"lint": "eslint --ext .ts,.tsx,.js,.jsx src",
"lint:ci": "bun run lint:tsc && bun run lint:eslint && bun run lint:prettier && bun run lint:kt",
"lint:eslint": "eslint --fix 'src/**/*.{ts,tsx}' 'plugin/src/**/*.{ts,tsx}'",
"lint:kotlin": "ktlint --format ./android",
"lint:kt": "sh -c 'command -v ktlint >/dev/null 2>&1 && ktlint --format ./android || { echo \"ktlint not installed; skipping\"; exit 0; }'",
"lint:plugin": "eslint plugin/src/*",
"lint:prettier": "prettier --write \"**/*.{md,js,jsx,ts,tsx}\"",
"lint:tsc": "tsc -p tsconfig.json --noEmit --skipLibCheck",
"open:android": "open -a \"Android Studio\" example/android",
"open:ios": "xed example/ios",
"prepare": "bun run clean:plugin && bun run clean && expo-module prepare && sh -c 'command -v husky >/dev/null 2>&1 && husky install || { echo \"husky not installed; skipping\"; exit 0; }'",
"test": "jest && bun run test:plugin",
"test:coverage": "jest --coverage",
"test:plugin": "cd plugin && bunx jest",
"verify:consumer-install": "node ../../scripts/verify-npm-consumer-install.mjs --package . --package-name expo-iap --required openiap-versions.json --required build/index.js --required build/index.d.ts --required android/build.gradle --required ios/ExpoIap.podspec --required app.plugin.js --required plugin/build/withIAP.js"
},
"signal_details": {
"shared_repo_different_publisher": "repo 'git+https://github.com/hyodotdev/openiap.git' also claimed by 1 package(s) under different publishers: ['npm/react-native-iap']",
"typosquat": "combosquat of 'expo'"
},
"time": {
"created": "2022-04-26T08:15:28.111Z",
"modified": "2026-07-26T22:30:30.662Z"
}
}