PkgRadar

Package evidence

[email protected]

Install-time lifecycle script: postinstall="node scripts/postinstall.mjs"

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.

Versions published
37
First published
Feb 2026
Publisher
martin-purplefish

Recommended action

Review before promoting

Mixed signals: the package has indicators worth reading before allowing the update in automated dependency flows.

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":["[email protected]"],"fail_on":"review"}'

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":["[email protected]"],"fail_on":"review"}'
Artifact bytes3,702,856
Previous version0.3.18
Published2026-05-20T17:05:24.726Z
SHA-256a05eb411c9b8e01ba9a014456d324d7596eb69eb7ec8ff1ea55ec9c091dc30fa

Why flagged

What the scanner saw

Install-time lifecycle script: postinstall="node scripts/postinstall.mjs"

Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.

Availability ledger

available

review
Last checked
reviewRisk
5Score
0.3.19Version
Status history (1 event)
  1. newavailable · risk review · score 5 · status changed

Evidence

Static findings

4 static · 0 from release diff · showing high-signal first.

No high-signal findings — see all findings below.

Show all 4 findings (low-signal and informational)
SeverityKindPathDetailPoints
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node scripts/postinstall.mjs"5
lowObfuscation Densitypackage/dist/client/assets/chunk-727SXJPM-BWqoGJOj.jshigh encoded/escaped-token density0
lowObfuscation Densitypackage/dist/client/assets/flowDiagram-I6XJVG4X-Kn-tG-yL.jshigh encoded/escaped-token density0
lowLarge Javascript Payloadpackage/dist/client/assets/index-Bcwk_kNL.js2992364 bytes0

Manifest

Package metadata

Scripts42
  • buildpnpm --filter @factory-factory/core build && node scripts/check-ambiguous-relative-imports.mjs && rm -rf dist && tsc -p tsconfig.backend.json && tsc-alias -p tsconfig.backend.json --resolve-full-paths && node scripts/fix-prisma-imports.mjs && cp -r prompts dist/ && vite build
  • build:electronpnpm build && pnpm exec tsc -p tsconfig.electron.json && node scripts/ensure-native-modules.mjs electron && electron-builder
  • build:storybookstorybook build
  • checkbiome check . && pnpm check:env && pnpm check:ownership && pnpm deps:check && pnpm check:codex-schema
  • check:biome-ignoresnode scripts/check-biome-ignores.mjs
  • check:codex-schemanode scripts/check-codex-schema-drift.mjs
  • check:codex-schema:updatenode scripts/check-codex-schema-drift.mjs --update
  • check:coverage:criticalnode scripts/check-critical-coverage.mjs
  • check:envnode scripts/check-no-direct-process-env.mjs
  • check:fixbiome check --write .
  • check:importsnode scripts/check-ambiguous-relative-imports.mjs
  • check:ownershipnode scripts/check-single-writer.mjs && pnpm check:service-registry
  • check:prisma-generatednode scripts/check-prisma-generated-drift.mjs
  • check:prisma-schemapnpm db:generate && pnpm check:service-registry && pnpm typecheck
  • check:service-registrytsx scripts/check-service-registry.ts
  • codex:schema:generatenode scripts/generate-codex-app-server-schemas.mjs
  • db:generateprisma generate
  • db:migrateprisma migrate dev
  • db:studioprisma studio
  • deps:checkdepcruise src electron --config .dependency-cruiser.cjs
  • devpnpm --filter @factory-factory/core build && node scripts/ensure-native-modules.mjs node && tsx src/cli/index.ts serve --dev
  • dev:backendpnpm --filter @factory-factory/core build && BACKEND_PORT=3001 tsx watch src/backend/index.ts
  • dev:electronnode scripts/ensure-native-modules.mjs electron && tsc -p tsconfig.electron.json && concurrently "pnpm dev:backend" "pnpm dev:frontend" "wait-on http://localhost:5173 && VITE_DEV_SERVER_URL=http://localhost:5173 electron ."
  • dev:frontendBACKEND_URL=http://localhost:3001 vite
  • knipknip --include files,dependencies,unlisted
  • postinstallnode scripts/postinstall.mjs
  • preparehusky
  • proxypnpm --filter @factory-factory/core build && node scripts/ensure-native-modules.mjs node && tsx src/cli/index.ts proxy --private
  • rebuild:electronelectron-rebuild -f -m . -o better-sqlite3,node-pty
  • startpnpm --filter @factory-factory/core build && node scripts/ensure-native-modules.mjs node && tsx src/cli/index.ts serve
  • …and 12 more.
Dependencies84
  • @agentclientprotocol/claude-agent-acp^0.25.3
  • @agentclientprotocol/sdk0.15.0
  • @hookform/resolvers^5.2.2
  • @linear/sdk^76.0.0
  • @prisma/adapter-better-sqlite37.7.0
  • @prisma/client7.7.0
  • @radix-ui/react-accordion^1.2.12
  • @radix-ui/react-alert-dialog^1.1.15
  • @radix-ui/react-aspect-ratio^1.1.8
  • @radix-ui/react-avatar^1.1.11
  • @radix-ui/react-checkbox^1.3.3
  • @radix-ui/react-collapsible^1.1.12
  • @radix-ui/react-context-menu^2.2.16
  • @radix-ui/react-dialog^1.1.15
  • @radix-ui/react-dropdown-menu^2.1.16
  • @radix-ui/react-hover-card^1.1.15
  • @radix-ui/react-label^2.1.8
  • @radix-ui/react-menubar^1.1.16
  • @radix-ui/react-navigation-menu^1.2.14
  • @radix-ui/react-popover^1.1.15
  • @radix-ui/react-progress^1.1.8
  • @radix-ui/react-radio-group^1.3.8
  • @radix-ui/react-scroll-area^1.2.10
  • @radix-ui/react-select^2.2.6
  • @radix-ui/react-separator^1.1.8
  • @radix-ui/react-slider^1.3.6
  • @radix-ui/react-slot^1.2.4
  • @radix-ui/react-switch^1.2.6
  • @radix-ui/react-tabs^1.1.13
  • @radix-ui/react-toggle^1.1.10
  • …and 54 more.