npm pi-lens @3.8.71
score
0.65
med
flagged
2026-07-20 12:32
Signals fired
| signal | weight | rationale |
|---|---|---|
| content | ||
| script_count_spike | 0.5 | scripts count 21 -> 33 |
| size_spike | 0.5 | unpackedSize 3090091 -> 17852945 (5.8×) |
| topology | ||
| typosquat | 1.0 | lev=1 to watched 'ai-lens' |
| dependency_added_unknown | 0.6 | 1 new non-watchlisted dep(s): ['@ast-grep/cli'] |
Prior profile (what it deviated from)
{
"had_install_script": true,
"maintainers": [
"apmantza"
],
"versions": 113
}
Evidence (package doc at flag time)
{
"dependencies_count": 8,
"dist": {
"integrity": "sha512-GO9ctoWGpm71CnVbmHHorPHUwhwTUL0yy7TjA2415sWenhJGfbhF49zM9wVCQvW7fef9ufNjX/oErX4vE9LGyQ==",
"tarball": "https://registry.npmjs.org/pi-lens/-/pi-lens-3.8.71.tgz",
"unpackedSize": 17852945
},
"dist-tags": {
"latest": "3.8.71"
},
"latest_version": "3.8.71",
"maintainers": [
{
"email": "ap.mantza@gmail.com",
"name": "apmantza"
}
],
"num_versions": 125,
"repository": {
"type": "git",
"url": "git+https://github.com/apmantza/pi-lens.git"
},
"scripts": {
"audit:astgrep-rule-pairs": "node scripts/audit-astgrep-rule-pairs.mjs",
"audit:playground": "node scripts/playground-verify-rule.mjs",
"audit:rule-catalog": "node scripts/validate-rule-catalog.mjs",
"audit:tree-sitter": "node scripts/audit-tree-sitter-rules.mjs",
"banner": "npx -y sharp-cli --input banner.svg --output banner.png resize 2200 620",
"build": "tsc --project tsconfig.build.json",
"build:dist": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && npx --yes -p typescript@6 tsc --project tsconfig.dist.json --noCheck && npm run bundle:dist",
"bundle:dist": "node scripts/bundle-dist.mjs",
"changelog:check": "node scripts/changelog-release.mjs --check",
"changelog:extract": "node scripts/changelog-extract.mjs",
"changelog:release": "node scripts/changelog-release.mjs",
"check": "node scripts/check-extensions.mjs",
"check:grammar-load": "node scripts/check-grammar-load.mjs",
"check:grammars": "node scripts/check-grammar-provenance.mjs",
"check:lockfile": "node scripts/check-lockfile-sync.mjs",
"docs:rule-catalogs": "node scripts/gen-rule-catalogs.mjs",
"download-grammars": "node scripts/download-grammars.js",
"harness:go-poc": "node scripts/run-harness.mjs cases/go/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"",
"harness:poc": "node scripts/run-harness.mjs cases/ts/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"",
"harness:python-autofix-poc": "node scripts/run-harness.mjs cases/python/autofix-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"",
"harness:python-poc": "node scripts/run-harness.mjs cases/python/pipeline-dispatch-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"",
"harness:ts-format-poc": "node scripts/run-harness.mjs cases/ts/format-default-poc --pi-bin \"C:\\Users\\R3LiC\\AppData\\Roaming\\npm\\pi.cmd\"",
"lint": "tsc --project tsconfig.json",
"logs:smells": "node scripts/analyze-pi-lens-logs.mjs",
"prepare": "npm run build:dist && node scripts/download-grammars.js --core --dest grammars",
"release:backfill-notes": "node scripts/backfill-github-releases.mjs",
"release:backfill-thanks": "node scripts/backfill-release-thanks.mjs",
"selftest:install": "node scripts/install-selftest.mjs",
"test": "vitest run",
"test:integration": "vitest run tests/index-integration.test.ts tests/clients/lsp/integration.test.ts",
"test:unit": "vitest run --ignore tests/index-integration.test.ts --ignore tests/clients/lsp/integration.test.ts",
"test:watch": "vitest",
"watch": "tsc --watch"
},
"signal_details": {
"dependency_added_unknown": "1 new non-watchlisted dep(s): ['@ast-grep/cli']",
"script_count_spike": "scripts count 21 -> 33",
"size_spike": "unpackedSize 3090091 -> 17852945 (5.8\u00d7)",
"typosquat": "lev=1 to watched 'ai-lens'"
},
"time": {
"created": "2026-03-22T22:39:54.582Z",
"modified": "2026-07-20T17:32:32.367Z"
}
}