Installations
npm install papr
Developer Guide
Typescript
Yes
Module System
ESM
Min. Node Version
>=16.20.1
Node Version
20.13.1
NPM Version
10.5.2
Score
73.1
Supply Chain
89.3
Quality
83.5
Maintenance
100
Vulnerability
99.6
License
Releases
Contributors
Languages
TypeScript (92.79%)
JavaScript (6.81%)
Shell (0.4%)
Developer
Download Statistics
Total Downloads
384,352
Last Day
348
Last Week
3,317
Last Month
23,862
Last Year
248,742
GitHub Statistics
454 Stars
829 Commits
23 Forks
11 Watching
14 Branches
137 Contributors
Package Meta Information
Latest Version
15.2.2
Package Id
papr@15.2.2
Unpacked Size
230.84 kB
Size
29.38 kB
File Count
40
NPM Version
10.5.2
Node Version
20.13.1
Publised On
20 May 2024
Total Downloads
Cumulative downloads
Total Downloads
384,352
Last day
-72.8%
348
Compared to previous day
Last week
-51.4%
3,317
Compared to previous week
Last month
-3.4%
23,862
Compared to previous month
Last year
153.1%
248,742
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Peer Dependencies
1
Dev Dependencies
30
Papr
- TypeScript-safe schemas
- JSON Schema MongoDB validation
- :tada: Lightweight library
- :rocket: Blazing fast
papr
is a lightweight library built around the MongoDB NodeJS driver, written in TypeScript.
papr
uses MongoDB's JSON Schema validation feature to enable validation of document writes at runtime (requires MongoDB 3.6+).
papr
has a familiar API - if you have used the raw mongodb
methods to query and change documents before, then you already know how to use papr
.
Sample code
1import Papr, { schema, types } from 'papr'; 2 3const papr = new Papr(); 4 5const User = papr.model('users', schema({ 6 age: types.number(), 7 firstName: types.string({ required: true }), 8 lastName: types.string({ required: true }), 9})); 10 11const johnWick = await User.find({ firstName: 'John', lastName: 'Wick' });
Documentation
Read the documentation at: plexinc.github.io/papr
Contributing
Please read the contributing guidelines.
Before contributing, please read the Code of conduct.
License
MIT
Inspiration
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
branch protection is not maximal on development and all release branches
Details
- Info: 'allow deletion' disabled on branch 'main'
- Info: 'force pushes' disabled on branch 'main'
- Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'
- Warn: 'stale review dismissal' is disabled on branch 'main'
- Warn: required approving review count is 1 on branch 'main'
- Warn: codeowners review is not required on branch 'main'
- Info: 'last push approval' is required to merge on branch 'main'
- Warn: 'up-to-date branches' is disabled on branch 'main'
- Info: status check found to merge onto on branch 'main'
- Info: PRs are required in order to make changes on branch 'main'
Reason
6 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97
- Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp
- Warn: Project is vulnerable to: GHSA-4r62-v4vq-hr96
- Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj
- Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf
- Warn: Project is vulnerable to: GHSA-m7xq-9374-9rvx
Reason
Found 0/4 approved changesets -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/benchmark.yaml:1
- Warn: no topLevel permission defined: .github/workflows/ci.yaml:1
- Warn: no topLevel permission defined: .github/workflows/plex.yaml:1
- Warn: topLevel 'contents' permission set to 'write': .github/workflows/release.yaml:7
- Info: no jobLevel write permissions found
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/benchmark.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yaml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/benchmark.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark.yaml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/benchmark.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/benchmark.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/benchmark.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/benchmark.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/ci.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/plex.yaml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/plex.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/plexinc/papr/release.yaml/main?enable=pin
- Info: 0 out of 13 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 10 third-party GitHubAction dependencies pinned
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 29 are checked with a SAST tool
Score
4.3
/10
Last Scanned on 2024-12-16
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More