PkgRadar

Package evidence

@lottiefiles/[email protected]

Js Split Join Obfuscation: Array-of-single-tokens joined to form a string — used to obscure module names like require(["n","o","de",":","cr","yp","to"].join("")), defeating static require() analysis.

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
61Mature · −50% score
First published
May 2020
Publisher
jawish

Effective trust discount applied: 50% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.

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":["@lottiefiles/[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":["@lottiefiles/[email protected]"],"fail_on":"review"}'
Publisherjawish
Artifact bytes710,397
Previous version3.5.4
Published2025-01-14T10:30:37.036Z
SHA-256e2bac08a6736209ac520d8644fee8c06c35148c3be58fa7bdfb8c1b32f132257

Why flagged

What the scanner saw

Js Split Join Obfuscation: Array-of-single-tokens joined to form a string — used to obscure module names like require(["n","o","de",":","cr","yp","to"].join("")), defeating static require() analysis.

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

Availability ledger

available

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

Evidence

Static findings

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

SeverityKindPathDetailPoints
highJs Split Join Obfuscationpackage/dist/lottie-react.esm.jsArray-of-single-tokens joined to form a string — used to obscure module names like require(["n","o","de",":","cr","yp","to"].join("")), defeating static require() analysis.40
highJs Split Join Obfuscationpackage/dist/lottie-react.jsArray-of-single-tokens joined to form a string — used to obscure module names like require(["n","o","de",":","cr","yp","to"].join("")), defeating static require() analysis.40

Manifest

Package metadata

Scripts15
  • buildrollup -c
  • build-storybookbuild-storybook
  • devrollup -c -w
  • linttsc --noEmit && eslint . --ext .ts,.tsx,.js
  • lint:fixeslint . --ext .ts,.tsx,.js --fix
  • postrun-testskill $(lsof -t -i:8080)
  • prebuildnode -p "'export const REACT_LOTTIE_PLAYER_VERSION = ' + JSON.stringify(require('./package.json').version) + '; \n' + 'export const LOTTIE_WEB_VERSION = ' + JSON.stringify(require('./package.json').dependencies['lottie-web']) + ';'" > src/versions.ts
  • predevnode -p "'export const REACT_LOTTIE_PLAYER_VERSION = ' + JSON.stringify(require('./package.json').version) + '; \n' + 'export const LOTTIE_WEB_VERSION = ' + JSON.stringify(require('./package.json').dependencies['lottie-web']) + ';'" > src/versions.ts
  • prepublishOnlyyarn build
  • run-testswhile ! nc -z localhost 8080 ; do sleep 1 ; done && yarn run start-cypress && npx nyc report --reporter=text-summary
  • serve-appcd ./cypress/react-testing-pages && yarn && yarn run start &
  • start-and-run-testscross-env NODE_ENV=test yarn run build && yarn run serve-app && yarn run-tests
  • start-cypressyarn run cypress run
  • storybookstart-storybook -p 9009
  • versionyarn changeset version
Dependencies1
  • lottie-web^5.12.2