npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dataproofer-core-suite

v2.1.0

Published

Core suite of tests for dataproofer

Readme

core-suite

Core suite of tests for Dataproofer. These tests relate to common problems and data checks — namely, making sure data has not been truncated by looking for specific cut-off indicators.

Table of Contents

Tests

columnsContainNothing.js

Calculates the percentage of rows that are empty for each column

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

columnsContainsSpecialChars.js

Calculates the percentage of rows that contain special, non-typical Latin characters for each column Source: http://www.w3schools.com/charsets/ref_html_utf8.asp

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

stringsHaveExactly255Characters.js

src/stringsHaveExactly255Characters.js:14-66

Determine the cells that have exactly 255 characters (SQL upper limit error). See ProPublica's bad data guide for further information https://github.com/propublica/guides/blob/master/data-bulletproofing.md#integrity-checks-for-every-data-set

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

maxBigInteger.js

src/maxBigInteger.js:15-71

Indicates an bigint at its upper signed limit (MySQL or PostgreSQL) of 9,223,372,036,854,775,807 or its upper unsigned limit (MySQL) of 18,446,744,073,709,551,616. Common database programs, like MySQL, have a cap on how big of a number it can save. Please see the MySQL documentation or PostgreSQL documentation for more information.

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

maxInteger.js

src/maxInteger.js:15-71

Indicates a integer at its upper signed limit is 2,147,483,647 (MySQL or PostgreSQL) or its upper unsigned limit (MySQL) of 4,294,967,295. Common database programs, like MySQL, have a cap on how big of a number it can save. Please see the MySQL documentation for more information.

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

maxSmallInteger.js

src/maxSmallInteger.js:15-71

Indicates an smallint at its upper signed limit (MySQL or PostgreSQL) of 32,767 or its upper unsigned limit (MySQL) of 65,535. Common database programs, like MySQL, have a cap on how big of a number it can save. Please see the MySQL documentation or PostgreSQL documentation for more information.

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

maxSummedInteger.js

src/maxSummedInteger.js:15-71

Indicates a summed integers at its upper limit of 2,097,152. Please see the Integrity Checks section of the ProPublica Data Bulletproofing Guide for more information.

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

checkDuplicateRows.js

src/checkDuplicateRows.js:13-73

Check for any duplicate rows in the spreadsheet. Optionally

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet
  • input Object accept user input, such as selected Columns

Returns Object describing the result

numberOfRowsIs65k.js

src/numberOfRowsIs65k.js:12-31

Test to see if number of rows is exactly 65,536 rows (cutoff by Excel)

Parameters

  • rows Array an array of objects representing rows in the spreadsheet
  • columnHeads Array an array of strings for column names of the spreadsheet

Returns Object describing the result

Development

Getting Started

git clone [email protected]:dataproofer/core-suite.git
cd core-suite
npm install

Writing Tests

Building Docs

We use documentation.js, but have created a handy script for regenerating documentation.

npm run docs

Then open up and check your docs in DOCUMENTATION.md