Package evidence
@diagrammo/[email protected]
Install Lifecycle Remote Or Exec: postinstall="node -e \"console.log('\\n💡 Claude Code user? Run: dgmo --install-claude-skill\\n')\""
Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Weekly downloads
- 1,692Niche · −30% score
- Versions published
- 126
- First published
- Feb 2026
- Publisher
- demian0311
Effective trust discount applied: −30% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Block this updateStatic evidence trips multiple high-signal indicators. Quarantine the release until the publisher validates the change or you can rule out the indicators below.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["@diagrammo/[email protected]"],"fail_on":"high"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["@diagrammo/[email protected]"],"fail_on":"high"}'Why flagged
What the scanner saw
Install Lifecycle Remote Or Exec: postinstall="node -e \"console.log('\\n💡 Claude Code user? Run: dgmo --install-claude-skill\\n')\""
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk high · score 24 · status changed
Evidence
Static findings
12 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Install Lifecycle Remote Or Exec | package.json | postinstall="node -e \"console.log('\\n💡 Claude Code user? Run: dgmo --install-claude-skill\\n')\"" | 30 |
Show all 12 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Install Lifecycle Remote Or Exec | package.json | postinstall="node -e \"console.log('\\n💡 Claude Code user? Run: dgmo --install-claude-skill\\n')\"" | 30 |
| low | Install-time lifecycle script | package.json | postinstall="node -e \"console.log('\\n💡 Claude Code user? Run: dgmo --install-claude-skill\\n')\"" | 5 |
| low | Large Javascript Payload | package/dist/advanced.cjs | 2269070 bytes | 0 |
| low | Large Javascript Payload | package/dist/auto.cjs | 2179909 bytes | 0 |
| low | Large Javascript Payload | package/dist/cli.cjs | 3462638 bytes | 0 |
| low | Large Javascript Payload | package/dist/index.cjs | 2155339 bytes | 0 |
| low | Large Javascript Payload | package/dist/internal.cjs | 2269090 bytes | 0 |
| low | Large Javascript Payload | package/dist/advanced.js | 2254554 bytes | 0 |
| low | Large Javascript Payload | package/dist/auto.js | 3406405 bytes | 0 |
| low | Large Javascript Payload | package/dist/index.js | 2152233 bytes | 0 |
| low | Large Javascript Payload | package/dist/internal.js | 2254554 bytes | 0 |
| low | Large Javascript Payload | package/dist/auto.mjs | 2177008 bytes | 0 |
Manifest
Package metadata
Scripts32
buildDGMO_DEV_RELOAD=1 tsup; _e=$?; rm -rf ../diagrammo-app/node_modules/.vite/deps 2>/dev/null; exit $_ebuild:map-datanode scripts/build-map-data.mjscheck:allpnpm check:deadcode && pnpm check:spelling && pnpm check:duplication && pnpm check:circular && pnpm check:deps && pnpm check:security && pnpm build && bash scripts/check-api.sh check && pnpm check:publish && pnpm check:typescheck:apipnpm build && bash scripts/check-api.sh checkcheck:api:updatepnpm build && bash scripts/check-api.sh updatecheck:circularmadge --circular --extensions ts src/ --json | node -e "const c=JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')); const n=c.length; if(n>4){console.error('New circular deps found ('+n+' > 4 known type-only cycles)');process.exit(1)}else if(n>0){console.log(n+' known type-only/dynamic cycles (safe)')}else{console.log('No circular dependencies')}"check:deadcodeknipcheck:depsdepcheck --ignores='@codemirror/language,@lezer/*,husky,lint-staged,tsup,axe-core,type-coverage'check:duplicationjscpd ./srccheck:publishpublintcheck:securitypnpm audit --prodcheck:sizepnpm build && du -sh dist/ && echo '---' && ls -lh dist/*.js dist/*.cjscheck:spellingcspell "src/**/*.ts" "tests/**/*.ts"check:typesattw --pack . --ignore-rules no-resolution false-export-defaultcodegenlezer-generator src/editor/dgmo.grammar -o src/editor/dgmo.grammar.jsdevDGMO_DEV_RELOAD=1 tsup --watchformatprettier --write src/format:checkprettier --check src/gallerypnpm build && node scripts/generate-gallery.mjsgallery:snapshotpnpm build && node scripts/gallery-snapshot.mjsgallery:snapshot:updatepnpm build && node scripts/gallery-snapshot.mjs --updatelinteslint .lint:fixeslint . --fixpostinstallnode -e "console.log('\n💡 Claude Code user? Run: dgmo --install-claude-skill\n')"prebuildrm -rf dist && pnpm codegenpreparehuskypretestpnpm codegensrinode scripts/sri.mjstestvitest run --coveragetest:autopnpm build && vitest run tests/auto.test.ts tests/safe-href.test.ts- …and 2 more.
Dependencies14
@dagrejs/dagre^3.0.0@resvg/resvg-js^2.6.2d3-array^3.2.4d3-cloud^1.2.9d3-geo^3.1.1d3-hierarchy^3.1.2d3-scale^4.0.2d3-selection^3.0.0d3-shape^3.2.0echarts^6.1.0elkjs^0.11.1jsdom^29.1.1lz-string^1.5.0topojson-client^3.1.0