Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
csv-validate
Advanced tools
This JS CSV validating parser is based on csv-parse and csv-sniffer. It features data streaming, error tracing, and automatic identification of the CSV delimiters and quotes.
csv-validate
provides both NodeJS module (NPM), optional console UI (CLI), and browser/Web UI for the local validation of CSV files.
\author
Artem Lutov <lua@lutan.ch>
\affiliation
Zazuko GmbH, Lutov Analytics
\license
Apache 2
The Web UI bundle is located in dist/
and consists of 3 files (and optional test.csv
example to test the web app):
dist/
index.html
styles.css
main.js
To build the Web UI, just execute npm run build
from the package directory, producing the main.js
bundle in dist/
. Afterward, open index.html
in your browser to use the web app:
Console UI provides the following interface:
$ npx csv-validate -h
Usage: csv-validate [options] <filename>
Options:
-r, --relax-column-count relax column count instead of emitting an error
-s, --skip-error-lines skip lines with errors instead of emitting an
error
-d, --delimiter <symbol> enforce specified CSV delimiter instead of
inferring it
-q, --quotes <l-r-quotes> left [and right if distinct] quote symbols instead
of inferring them (default: "")
-n, --new-line <string> enforce specified CSV new line (e.g., \r\n)
instead of inferring it
-e, --encoding <string> file encoding (default: "utf8")
-h, --help display help for command
To install it, execute:
$ npm install [-g] csv-validate
Otherwise, the executable can be called from the package sources as:
$ bin/csv-validate.js -h
The module interface abstracts csv-parse and csv-sniffer.
The main interface is represented by a single function (see index.js: Parser
):
static import (input: readable-stream.Readable, options: Object)
where the possible options are (see index.js: Parser constructor
):
relaxColumnCount: boolean, // Default: undefined (false)
skipLinesWithError: boolean, // Default: undefined (false)
delimiter: string, // Item delimiter, e.g. ',' or ' '. Default: automatically inferred
quotes: string, // Item quotation symbol, e.g. '\'' or '"'. Default: automatically inferred
newLine: string // A record separator, which is a newline character set, e.g., '\n' or '\n\r'. Default: automatically inferred
The interface can be used as follows:
const CsvValidatingParser = require('csv-validate"')
const { PassThrough } = require('readable-stream')
const input = new PassThrough()
input.write('key1,key2\n')
input.write('value1_1,value2_1\n')
input.write('value1_2,value2_2\n')
input.end()
CsvValidatingParser.import(input, { newLine: '\n' })
See test/interface.test.js for more examples.
FAQs
A CSV validator, featuring data streaming and error tracing
The npm package csv-validate receives a total of 8 weekly downloads. As such, csv-validate popularity was classified as not popular.
We found that csv-validate demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.